환경마다 Terraform으로 백엔드 전환 (tfstate)

1709 단어 AWSTerraformtech
stg, prod 등 AWS 자원을 다른 계정으로 구축할 때 테라form의 백엔드도 분리하려고 하는 상황에서의 간단한 실현 방법.
구축된 주요 자원을 계정별로 전환한다는 보도는 워크스페이스 이용과 파일 분할 등 다양한 내용이 있지만, 백엔드 전환 보도는 드물기 때문에 주의해야 한다.

결론

terraform init 명령의 -reconfigure-backend-config 백엔드 옵션 사용
전환 후 terraform apply 등의 명령을 실행합니다.
※ 전제 조건은 캐릭터/계정 전환 또는 백엔드 S3 구간 제작입니다.

샘플 구성 파일


Terraform의 다른 파일과 같은 디렉토리에 적절한 설정 파일을 구성합니다.
└── backend
   ├── dev.tfbackend
   ├── stg.tfbackend
   └── prod.tfbackend

dev.tfbackend의 예


bucket  = "tfstate-project-name-dev"
region  = "ap-northeast-1"

명령 예


$ terraform init -reconfigure -backend-config=backend/dev.tfbackend

참고 자료


Command: init | Terraform by HashiCorp
Re-running init with an already-initialized backend will update the working directory to use the new backend settings. Either -reconfigure or -migrate-state must be supplied to update the backend configuration.
초기화된 백엔드가 다시 실행될 때 init 작업 디렉터리를 업데이트해서 새 백엔드 설정을 사용합니다.백엔드 설정을 업데이트할 때는 -reconfigure 또는 -migrate-state를 지정해야 합니다.

좋은 웹페이지 즐겨찾기