Consul Terraform 프로바이더
Consul Terraform 프로바이더
Terraform 사용자가 공식 Consul 프로바이더로 Consul을 관리하는 방법을 설명해 드릴게요. ACL, 구성 엔트리, 의도 등을 코드로 구성할 수 있어요.
출처: 문서
본문
Terraform 사용자는 공식 Consul 프로바이더로 Consul을 관리할 수 있어요. Terraform Consul 프로바이더를 사용하여 Consul 클러스터의 ACL, 구성 엔트리, 의도 등을 구성할 수 있어요.
개요
이 문서에서 설명하는 대부분의 워크플로는 HTTP API, CLI, 웹 UI를 사용해요. Consul은 인스턴스가 배포될 때 실행되는 셸 스크립트로 가상 머신을 구성하는 것부터 KV 저장소와 API 블로킹 쿼리로 애플리케이션 배포를 동적으로 업데이트하는 것까지 여러 자동화 운영 방법을 지원해요.
Terraform Consul 프로바이더를 사용하면 Consul 클러스터가 실행되는 인프라스트럭처-as-코드와 함께 Consul 클러스터를 구성하고 관리할 수 있어요.
Consul Enterprise 사용자는 Consul과 Terraform 간의 추가 네트워크 인프라 자동화를 위해 Consul-Terraform-Sync(CTS)를 설치할 수 있어요. 예를 들어 CTS를 사용하여 Consul 카탈로그의 실패한 헬스 체크가 Terraform에서 인프라 재배포를 트리거하도록 할 수 있어요. 자세한 내용은 네트워크 인프라 자동화와 CTS 버전 호환성 참조를 참고해 주세요.
사용 예시
다음 예시에서 Terraform은 Consul 프로바이더를 사용하여 HTTP API 주소 172.18.0.3:8500에서 데이터센터 dc를 구성해요. 이 구성은 Consul의 KV 저장소에서 ami 값을 검색해요. Terraform은 VM을 배포할 때 이 값을 머신 이미지로 사용해요.
# Configure the Consul provider
provider "consul" {
address = "172.18.0.3:8500"
datacenter = "dc1"
}
# Access a key in Consul
data "consul_keys" "app" {
key {
name = "ami"
path = "service/app/launch_ami"
default = "ami-1234"
}
}
# Use our variable from Consul
resource "aws_instance" "app" {
ami = data.consul_keys.app.var.ami
}
이 Terraform 구성을 사용하면 코드에서 변경 불가능한 인프라를 정의한 다음 Consul KV 저장소로 동적 업데이트를 관리할 수 있어요.
다음 단계
이제 Consul 기본 문서 시퀀스의 끝에 도달했어요.
Consul의 운영 및 서비스 네트워킹 기능에 대해 계속 배우려면 VM에서 시작하기 튜토리얼 컬렉션을 계속 진행해 주세요. 이 튜토리얼에는 AWS와 Azure에서 Consul Terraform 프로바이더의 작동 예시가 있는 코드 저장소가 포함돼 있어요. 대신 대화형 호스팅 랩 환경으로 튜토리얼을 완료할 수도 있어요.
Kubernetes를 선호하는 런타임으로 사용한다면 Kubernetes에서 시작하기 튜토리얼 컬렉션으로 직접 진행하는 것이 좋아요. 이 튜토리얼은 로컬 Kubernetes 클러스터를 사용해요.
고급 사용자는 Nomad 문서의 모놀리스 마이그레이션 튜토리얼로 계속 진행할 수 있어요. 이 튜토리얼은 애플리케이션 개발자와 플랫폼 엔지니어를 위한 여러 Consul 기능과 사용 사례를 보여줘요.