consul 백엔드
consul 백엔드
HashiCorp Consul KV 스토어에 Terraform state를 저장하는 consul 백엔드를 설명해 드릴게요. Consul의 KV(키-값) 스토어를 활용해 state를 관리해요.
출처: 문서
본문
consul 백엔드는 Consul KV 스토어의 주어진 경로에 state를 저장해요. 이 백엔드는 state 잠금을 지원해요.
예시 구성 (Example Configuration)
terraform {
backend "consul" {
address = "consul.example.com"
scheme = "https"
path = "full/path"
}
}
접근 자격 증명에는 부분 구성(partial configuration)을 권장해요.
데이터 소스 구성 (Data Source Configuration)
data "terraform_remote_state" "foo" {
backend = "consul"
config = {
path = "full/path"
}
}
구성 변수 (Configuration Variables)
경고: 자격 증명과 기타 민감 데이터를 제공할 때는 환경 변수를 사용하는 것을 권장해요.
-backend-config를 사용하거나 이런 값을 구성에 직접 하드코딩하면 Terraform이.terraform하위 디렉터리와 plan 파일 양쪽에 이 값을 포함해요. 자세한 내용은 Credentials and Sensitive Data를 참고해요.
지원하는 구성 옵션 / 환경 변수:
path- (필수) Consul KV 스토어의 경로.access_token/CONSUL_HTTP_TOKEN- (필수) 접근 토큰.address/CONSUL_HTTP_ADDR- (선택)dnsname:port형식으로 지정한 Consul 엔드포인트의 DNS 이름과 포트. 기본값은 로컬 에이전트 HTTP 리스너.scheme- (선택) 주어진address와 통신할 때 사용할 프로토콜.http또는https. SSL 지원은CONSUL_HTTP_SSL환경 변수를true로 설정해도 트리거할 수 있어요.datacenter- (선택) 사용할 데이터센터. 기본값은 에이전트의 그것.http_auth/CONSUL_HTTP_AUTH- (선택) Consul과 통신할 때 사용할 HTTP Basic Auth 자격 증명.user또는user:pass형식.gzip- (선택)true면 state 데이터를 gzip으로 압축하고,false(기본값)면 압축하지 않아요.lock- (선택)false로 설정하면 잠금을 비활성화해요. 기본값은true이며, 잠금을 수행하려면 Consul에 세션 권한과$path/.lock에 대한 최소 kv 쓰기 권한이 필요해요.ca_file/CONSUL_CACERT- (선택) 원격 에이전트의 인증서를 검증하는 데 사용하는 PEM 인코딩 인증 기관의 경로.cert_file/CONSUL_CLIENT_CERT- (선택) 원격 에이전트에 제공하는 PEM 인코딩 인증서의 경로.key_file사용이 필요해요.key_file/CONSUL_CLIENT_KEY- (선택) PEM 인코딩 개인 키의 경로.cert_file을 지정하면 필요해요.