Print
카테고리: [ Cloud Computing & MSA ]
조회수: 7213

1. 개요

Terraform으로 인프라 관리를 할 때 유용하게 사용할 수 있는 CLI 커맨드 fmt, console에 대해 소개한다.


2. terraform fmt

IaC로 인프라를 관리할 때 큰 장점은 설정 변경 작업 시 코드 리뷰가 가능해진다는 것이다.

코드 리뷰 시, 모든 코드의 인덴트가 맞추어져 있으면 리뷰가 더욱 편할 것이다.

테라폼에서는 terraform fmt라는 커맨드를 제공하여, 인덴트 등 코드의 스타일을 맞출 수 있게 해준다. 

terrafrom fmt는 디폴트로 현재 디렉토리에 있는 파일 전부의 스타일을 맞추어준다.

예를 들어, 다음과 같이 =의 위치가 맞지 않는 파일이 있다고 하면,

provider "aws" {
    region = "ap-northeast-2"
    version = "1.4.0"
}

terraform fmt 명령어를 통해 아래 처럼 =의 위치가 맞추어진다. 

provider "aws" {
  region  = "ap-northeast-2"
  version = "1.4.0"
}

3. terraform console

테라폼에서 사용할 수 있는 몇가지 함수가 있다.

예를 들어, 주어진 파라미터 중 가장 큰 값을 반환하는 max()나, 주어진 문자열에서 특정 문자를 제외시켜 반환하는 trim() 등이 있다.

하지만 함수 사용법을 모르는 경우, 함수를 테스트하기 위해 매번 terraform plan 혹은 apply를 한다면 너무 번거로울 것이다.

이런 경우에 terraform의 함수를 테스트할 수 있도록 제공되는 명령어가 terraform console이다.

다음과 같이 테라폼에서 제공하는 함수를 테스트해볼 수 있다.

$ terraform console 
> max(1,5,0) 
5 
> trim("?!hello?!", "!?") 
hello