방금 terraform을 시작했으며 내 프로젝트의 상태를 저장하기위한 백엔드로 AWS S3을 사용할 수 있기를 바랍니다.terraform을 사용하는 terraform 백엔드의 초기 설정
terraform {
backend "s3" {
bucket = "tfstate"
key = "app-state"
region = "us-east-1"
}
}
내 S3 버킷, IAM 그룹 및 정책을 테라 폼과 함께 백엔드 저장소 인프라에도 설정할 수 있습니다.
초기 terraform 인프라를 적용하기 전에 백엔드 상태를 설정하면 백엔드 버킷이 아직 생성되지 않았다고 합리적으로 불평합니다. 그래서, 제 질문은, 어떻게 테라 폼에 의해 추적 된 백엔드에 대한 내 상태를 유지하면서 테라 폼으로 테라 폼 백엔드를 설정하는지에 있습니다. 중첩 된 인형 문제처럼 보입니다.
버킷이 있는지 또는 일부 상태가 설정되어 있는지 확인한 다음 terraform을 부트 스트랩하고 마지막으로 로컬 파일 시스템에서 ter3form tfstate를 s3으로 복사하는 등의 방법으로 스크립트를 작성하는 방법에 대해 생각해 봅니다. 첫 번째 실행. 그러나이 힘드는 길을 떠나기 전에, 나는 분명히 뭔가를 놓치지 않았 음을 확신했다.
이것은 좋은 질문입니다. FWIW에는 별도의 "부트 스트랩 (bootstrap)"TF 프로젝트가 있으며,이 프로젝트는 수퍼 미니멈 수동 공급 버킷에 의존합니다. –
예 부트 스트랩 프로젝트가 여러 헬퍼 스크립트와 공급자 구성을 프로젝트에 복사하고 AWS CLI를 사용하여 버전이없는 S3 버킷 및 DynamoDb 잠금 테이블을 만드는 경우 유사한 작업을 수행했습니다. 우리가 Terraform에서 그렇게 할 수 있다면 좋겠지 만 시도했을 때 그만한 가치가 있기에 너무 지저분했습니다. – ydaetskcoR
Terragrunt도이 문제를 처리 할 수 있으며 다른 버킷으로 이동하려는 경우 정말 편리합니다. https://github.com/gruntwork-io/terragrunt – Begin