CloudNet@ 팀의 가시다님께서 Leading 하시는 Terraform T101 Study 내용 요약
해당 Terraform Study 는 Terraform Up and Running 책을 기반으로 진행 중입니다.
기존 프로그래밍 언어에서는 if 문을 통해 조건에 따라 결과가 변하는 코드를 작성할 수 있다.
테라폼은 타 프로그래밍 언어처럼 자유롭진 않지만, 나름대로 조건문을 제공하고 있다.
조건문을 잘 활용할 수 있다면 보다 유연한 테라폼 코드를 작성할 수 있을 것이다.
테라폼 조건문의 사용법과 동작 원리를 알아보자 !!
1. Count 조건문 ( 3항 연산자 )
count 매개변수를 사용해서 반복문을 수행할 수 있다고 배웠는데, 이를 응용하여 조건문 작업을 수행할 수 있다.
우선 기본 조건문 형식을 알아보자 !!
1.1. if 조건문 구현
bool 타입의 입력 변수가 존재할 때 다음과 같이 조건문을 구현할 수 있다.
- 조건이 참이면 EC2 인스턴스 생성, 거짓이면 미생성
variable "create_ec2" {
description = "If set to true, create ec2"
type = bool
}
<CONDITION> ? <TRUE_VAL> : <FALSE_VAL>
1.2. count 매개변수 활용
앞서 알아본 if 조건문을 count 매개변수에 활용하면 다음과 같은 조건문을 작성할 수 있다.
확실하게 알기 위해 입력 변수의 default 값은 설정하지 않았다.
provider "aws" {
region = "ap-northeast-2"
}
variable "create_ec2" {
description = "If set to true, create ec2"
type = bool
}
resource "aws_instance" "if_ec2" {
count = var.create_ec2 ? 1 : 0
ami = "ami-0e9bfdb247cc8de84"
instance_type = "t2.micro"
tags = {
Name = "if-ec2"
}
}
output "ec2_id" {
value = aws_instance.if_ec2[*].id
}
- 실제로 입력 변수가 true 일 때 ec2 를 실행하고 , false 일 때 ec2 를 실행하지 않는 것을 알 수 있다.
이번에는 테라폼 조건문에 대해서 알아보았다.
조건문을 활용하면 보다 유연한 테라폼 코드를 작성할 수 있을 것이다.
다음 포스팅에서는 테라폼 코드에서 입력되는 민감정보 (DB 비밀번호, Secret Key) 등을 관리하는 법에 대해서 알아보자!!