♻ 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_idroute_table_idmodule.vpc에서 가져오도록 설정했기 때문에, Terraform은 vpc 모듈을 먼저 실행하여 VPC와 라우트 테이블을 생성하고, 그 후에 subnet 모듈을 실행하여 서브넷을 생성합니다. 이 과정은 체인처럼 연결되어 있습니다.

Terraform의 실행 순서는 다음과 같습니다:

  1. VPC 모듈 실행:
    • vpc 모듈이 먼저 실행되어 VPC와 라우트 테이블을 생성합니다.
    • vpc_idroute_table_id 값을 출력합니다.
  2. 서브넷 모듈 실행:
    • subnet 모듈이 실행되어 VPC 모듈에서 출력된 vpc_idroute_table_id 값을 사용하여 서브넷을 생성합니다.

이러한 의존성 관리를 통해 Terraform은 올바른 순서로 리소스를 생성합니다.

# Terraform plan이나 apply시 발생하는 Flow 정리

Terraform 자체에서 의존성에 따라 올바른 순서로 리소스를 생성하거나 업데이트합니다.

Terraform은 각 리소스 간의 의존성을 분석하여, 필요한 순서대로 리소스를 처리합니다.

예를 들어, subnet 모듈이 vpc 모듈의 출력 값을 필요로 한다면, Terraform은 vpc 모듈을 먼저 실행한 후 subnet 모듈을 실행합니다. 이를 통해 리소스 생성 및 업데이트가 올바른 순서로 이루어집니다.

 

강의 준비하면서 정리...

 

- 끝 -

728x90
반응형