♻ Terraform(테라폼)/Terraform Modules
terraform module (테라폼 모듈의 실행 Flow)
짱구네
2024. 10. 24. 23:22
728x90
반응형
# 현재 폴더의 구성은 아래와 같다.
├── main.tf
└── modules
├── ec2
│ └── main.tf
├── key-pair
│ └── main.tf
├── nat-gateway
│ └── main.tf
├── security-group
│ └── main.tf
├── subnet
│ └── main.tf
└── vpc
└── main.tf
# Terraform module의 실행 Flow 정리
Terraform은 모듈 간의 의존성을 자동으로 관리합니다. main.tf
파일에서 vpc_id
와 route_table_id
를 module.vpc
에서 가져오도록 설정했기 때문에, Terraform은 vpc
모듈을 먼저 실행하여 VPC와 라우트 테이블을 생성하고, 그 후에 subnet
모듈을 실행하여 서브넷을 생성합니다. 이 과정은 체인처럼 연결되어 있습니다.
Terraform의 실행 순서는 다음과 같습니다:
- VPC 모듈 실행:
vpc
모듈이 먼저 실행되어 VPC와 라우트 테이블을 생성합니다.vpc_id
와route_table_id
값을 출력합니다.
- 서브넷 모듈 실행:
subnet
모듈이 실행되어 VPC 모듈에서 출력된vpc_id
와route_table_id
값을 사용하여 서브넷을 생성합니다.
이러한 의존성 관리를 통해 Terraform은 올바른 순서로 리소스를 생성합니다.
# Terraform plan이나 apply시 발생하는 Flow 정리
Terraform 자체에서 의존성에 따라 올바른 순서로 리소스를 생성하거나 업데이트합니다.
Terraform은 각 리소스 간의 의존성을 분석하여, 필요한 순서대로 리소스를 처리합니다.
예를 들어, subnet
모듈이 vpc
모듈의 출력 값을 필요로 한다면, Terraform은 vpc
모듈을 먼저 실행한 후 subnet
모듈을 실행합니다. 이를 통해 리소스 생성 및 업데이트가 올바른 순서로 이루어집니다.
강의 준비하면서 정리...
- 끝 -
728x90
반응형