본문으로 건너뛰기

Day 3 - Terraform 모듈

재사용 모듈 · 호출 · 버전 · workspace

목차


학습 목표

  • 모듈로 리소스 묶기
  • root 모듈에서 child 모듈 호출
  • dev/prod 분리 방법 이해

모듈 구조

modules/
network/
main.tf
variables.tf
outputs.tf
envs/
dev/
main.tf

modules/network/variables.tf:

variable "cidr" {
type = string
}

모듈 호출

envs/dev/main.tf:

module "network" {
source = "../../modules/network"
cidr = "10.0.0.0/16"
}

output "vpc_id" {
value = module.network.vpc_id
}
cd envs/dev
terraform init
terraform plan

공개 모듈 예: Terraform Registry (source = "terraform-aws-modules/vpc/aws").


Workspace

terraform workspace list
terraform workspace new dev
terraform workspace select prod

작은 팀·단일 계정에서는 디렉터리 분리(envs/dev, envs/prod) 가 더 명확한 경우가 많습니다.


관련 문서

그래프 뷰

그래프 데이터 로딩 중…
현재: Day 3 - Terraform 모듈
노드 클릭 → 이동 · 드래그 → 위치 조정