http 백엔드
http 백엔드
REST 엔드포인트에 state를 저장하는 http 백엔드 설정을 설명해 드릴게요. 간단한 REST 클라이언트로 state를 가져오고 갱신해요.
출처: 문서
본문
http 백엔드는 간단한 REST 클라이언트로 state를 저장해요. state는 GET으로 가져오고 POST로 갱신하며 DELETE로 제거해요. 갱신에 사용하는 메서드는 구성 가능해요.
이 백엔드는 선택적으로 state 잠금을 지원해요. 잠금 지원을 활성화하면 body에 잠금 정보를 제공하는 LOCK 및 UNLOCK 요청을 사용해요. 엔드포인트는 이미 잠금이 점유되었을 때 423: Locked 또는 409: Conflict를 보유 잠금 정보와 함께 반환하고, 성공 시 200: OK를 반환해야 해요. 다른 모든 상태는 오류로 간주해요. 보유 잠금 정보의 ID는 state 갱신 요청의 쿼리 파라미터로 추가돼요.
예시 사용 (Example Usage)
terraform {
backend "http" {
address = "http://myrest.api.com/foo"
lock_address = "http://myrest.api.com/foo"
unlock_address = "http://myrest.api.com/foo"
}
}
데이터 소스 구성 (Data Source Configuration)
data "terraform_remote_state" "foo" {
backend = "http"
config = {
address = "http://my.rest.api.com"
}
}
구성 변수 (Configuration Variables)
경고: 자격 증명과 기타 민감 데이터를 제공할 때는 환경 변수를 사용하는 것을 권장해요.
-backend-config를 사용하거나 이런 값을 구성에 직접 하드코딩하면 Terraform이.terraform하위 디렉터리와 plan 파일 양쪽에 이 값을 포함해요. 자세한 내용은 Credentials and Sensitive Data를 참고해요.
지원하는 구성 옵션 / 환경 변수:
address/TF_HTTP_ADDRESS- (필수) REST 엔드포인트의 주소.update_method/TF_HTTP_UPDATE_METHOD- (선택) state를 갱신할 때 사용할 HTTP 메서드. 기본값은POST.lock_address/TF_HTTP_LOCK_ADDRESS- (선택) 잠금 REST 엔드포인트의 주소. 기본값은 비활성화.lock_method/TF_HTTP_LOCK_METHOD- (선택) 잠글 때 사용할 HTTP 메서드. 기본값은LOCK.unlock_address/TF_HTTP_UNLOCK_ADDRESS- (선택) 잠금 해제 REST 엔드포인트의 주소. 기본값은 비활성화.unlock_method/TF_HTTP_UNLOCK_METHOD- (선택) 잠금 해제할 때 사용할 HTTP 메서드. 기본값은UNLOCK.username/TF_HTTP_USERNAME- (선택) HTTP 기본 인증용 사용자 이름.password/TF_HTTP_PASSWORD- (선택) HTTP 기본 인증용 비밀번호.skip_cert_verification- (선택) TLS 검증을 건너뛸지 여부. 기본값은false.retry_max/TF_HTTP_RETRY_MAX- (선택) HTTP 요청 재시도 횟수. 기본값은2.retry_wait_min/TF_HTTP_RETRY_WAIT_MIN- (선택) HTTP 요청 시도 사이의 최소 대기 시간(초). 기본값은1.retry_wait_max/TF_HTTP_RETRY_WAIT_MAX- (선택) HTTP 요청 시도 사이의 최대 대기 시간(초). 기본값은30.
mTLS 인증을 위해 다음 세 옵션을 설정할 수 있어요:
client_certificate_pem/TF_HTTP_CLIENT_CERTIFICATE_PEM- (선택) 상호 TLS(mTLS) 인증 중 서버가 클라이언트를 검증하는 데 사용하는 PEM 인코딩 인증서.client_private_key_pem/TF_HTTP_CLIENT_PRIVATE_KEY_PEM- (선택)client_certificate_pem을 지정하면 필요한 PEM 인코딩 개인 키.client_ca_certificate_pem/TF_HTTP_CLIENT_CA_CERTIFICATE_PEM- (선택) TLS 인증 중 클라이언트가 서버 인증서를 검증하는 데 사용하는 PEM 인코딩 CA 인증서 체인.