-
Terraform State File 이해하기
- Terraform이 제대로 동작하기 위한 기본 핵심
- 프로비저닝되는 리소스 정보가 포함된 기본 데이터베이스
- 주 목적 : 원격 시스템의 개체와 구성에 선언된 리소스 인스턴스 간의 바인딩을 저장 (바인딩: 프로그램의 어떤 기본 단위가 가질 수 있는 구성요소의 구체적인 값, 성격을 확장하는 것)
- Terraform apply를 처음 실행할 때 state file이 생성한다.
- Backend block 설정을 하지 않을 경우, state file은 로컬에 생성된다.
- Backend block을 구성하여 state 파일을 원격으로 저장할 수 있다.
- State file은 수동으로 변경하는 것 을 강력하게 권장하지 않는다.
-
Terraform 형상관리 명령어
- Terraform refresh : 관리되는 모든 원격 개체에서 현재 설정을 읽고 일치하도록 Terraform 상태를 업데이트하는 명령어
- Terraform plan
- Terraform state list : 특정 리소스를 확인할 수 있도록 list 형태로 상태를 나타내주는 명령어
- Terraform state show [module]
-
Desired State 및 Current State에 대한 이해
- Desired State : 로컬 Terraform 매니페스트 (모든 *.tf 파일)
- Current State : 클라우드에 있는 실제 리소스
-
Outputs.tf
-
Variables.tf VS terraform.tfvars
- Variables.tf : 변수 유형을 정의하고 선택적으로 기본값을 설정하는데 사용된다 .
- Terraform.tfvars : 변수의 실제 값을 설정하는데 사용됩니다.
- 두 파일의 차이는 선언과 할당의 차이