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) 가 더 명확한 경우가 많습니다.