terraform workspace 사용
26 Jul 2019
환경에 따라 다른 변수를 설정 하여 다른 배포 환경의 인프라를 관리할 수 있다.
workspace 관련 명령어
- new: workspace 추가
terraform workspace new dev
- select: workspace 변경
terraform workspace select dev
- list: workspace list 확인
terraform workspace select list
workspace 개발 환경 분리
Interpolation사용
resource "aws_instance" "default" {
count = "${terraform.workspace == "prod" ? "1" ? "2"}"
}
Map 사용
# variables.tf 설정
variable "ec2_type" {
type = "map"
default = {
dev = "t3.small"
qa = "t3.medium"
prod = "t3.xlarge"
}
}
# resource에 사용
resource "aws_vpc" "default" {
cidr_block = "${var. ec2_type[terraform.workspace]}"
tags {
Name = "VPC - ${terraform.workspace}"
}
}