티스토리 뷰
variables.tf
- 변수타입과 디폴트값을 설정
- child module에서도 사용할 수 있음
# variable.tf
variable "example" {}
- Terraform 모듈 어디에서도 example 이라는 변수에 접근가능함
이 variable에 값을 넣는 법1. terraform plan 이나 terraform apply 할 때 -var 옵션을 넣는다2. -var-file 옵션으로 하나 이상의 .tfvars 파일을 넣는다 (한번에 많은 변수에 값을 넣을 때 사용) 3. terraform.tfvars 또는 .auto.tfvars 파일을 생성한다 (2번과 똑같이 취급되나, 자동으로 로드됨) 4. child module 의 경우, module 블럭 안에 변수값을 넣는다 |
- default 값을 옵션으로 넣을 수 있다
- Terraform 을 어떻게 쓰느냐에 따라 값을 넣는다는 의미에 차이가 있음
Example- 여러 프로젝트 환경에에 같은 인프라를 셋팅하는 config를 사용할 경우, 각각 .tfvars를 사용하는 것이 좋음- 이유: .tfvars 파일은 추가적인 옵션 없이 자동적으로 적용되기 때문임 |
- xxxxxx.tf 파일에 선언된 변수들은 variables.tf , main.tf, output.tf에 연결됨 (terraform 이 처리되기 전에)
terraform.tfvars
실제값으로 사용됨
root module 변수로만 적용됨
- orchestration automator 가 region, environment, cidr_block, subnet_range 등을 동적으로 생성 함
- rood module 과 chile module 에서 모두 .tfvar 가 존재하는 경우, child module에서 .tfvar는 선택적으로 취급되고, root module에 있는 tfvar가 필수이며 우선적임
Terraform 이 환경변수를 가져오는 순서 (빠른순)1. 환경변수2. tfvarsfile 3. tfvars.jsonfile 4. *.auto.tfvars 나 *.auto.tfvars.json 5. -var 이나 -var-file |
'CLOUD > AWS' 카테고리의 다른 글
[AWS/Terraform] IAM, instance profile 구성 (0) | 2022.09.11 |
---|---|
[AWS] Lambda (0) | 2022.09.07 |
[AWS] eks 에 External DNS 설정하기 (Route53 사용하기) (0) | 2022.09.07 |
[Terraform] aws_launch_template 시작 템플릿 (0) | 2022.08.30 |
[Terraform] aws_autoscaling_group 오토스케일링 그룹 (+instance refresh) (0) | 2022.08.30 |