본문 바로가기

IT 정보

[테라폼 쿡북] 테라폼 내장 함수 호출하기

* 본포스팅은 <테라폼 쿡북>에서 발췌한 내용으로 작성되었습니다.

 

 

테라폼으로 인프라를 프로비저닝하거나 리소스를 다룰 때 테라폼 구성에 있는 요소들을 변환 하거나 조합하는 등의 작업을 해야 할 경우가 있다. 이를 위해 테라폼에는 몇몇 내장 함수들이 존재한다. 이번 예제에서는 변환 작업을 위해 테라폼 내장 함수를 사용하는 방법에 대해서 배워보자.

 

  준비 사항

이번 예제를 진행하기 위해 애저에서 리소스 그룹을 프로비저닝하기 위해 사용되는 테라폼 구성을 처음부터 다시 만들어 보자. 이 리소스 그룹의 이름은 다음과 같은 명명 규칙에 의해 만들어 진다.

 

 

이번 예제에서는 변환 함수를 사용해서 프로비저닝되는 리소스 그룹의 이름을 대문자로만 구성되게 만들어 보자.
이번 예제의 소스 코드는 https://github.com/PacktPublishing/Terraform-Cookbook-Second-Edition/tree/main/CHAP02/fct에서 볼 수 있다.

 

  작동 방법

다음 단계를 수행한다.


1️⃣ 새로운 폴더를 만든 후 main.tf 파일을 생성한다.
2️⃣ main.tf 파일에 다음과 같은 코드를 작성한다.

 

 

3️⃣ 마지막으로 main.tf 파일에 다음과 같은 테라폼 구성을 작성한다.

 

 

  작동 원리

세 번째 단계에서는 문자열 포맷을 지정하는 format 함수를 사용해서 리소스의 이름을 만든다. 이 함수에서는 애플리케이션 이름과 환경 이름 순서대로 %s 지시자를 사용해 만든다. 또한 내부의 모든 내용을 대문자로 표시하기 위해 upper 함수로 format 함수를 감싸준다. 테라폼 명령의 실행 결과는 다음 그림과 같다.

 

 

이런 내장 함수들 덕분에 테라폼 구성에 사용되는 속성들을 제어할 수 있다. 또한 이 기능을 사용하면 테라폼 구성을 사용하는 사용자에게 제약을 가하지 않고도 자동으로 변환을 적용할 수 있다.

 

  참고 항목

테라폼에는 많은 내장 함수가 있다. 내장 함수에 대한 전체 목록은

https://developer.hashicorp.com/terraform/language/functions 에서 볼 수 있다.(모든 내장 함수를 보려면 좌측 메뉴를 살펴보자.)


• format 함수에 대한 자세한 설명은 https://developer.hashicorp.com/terraform/language/functions/format을 참고하자.
• upper 함수에 대한 자세한 설명은 https://developer.hashicorp.com/terraform/language/functions/upper를 참고하자.

 

 


 

《테라폼 쿡북》

예스24

 

 

반응형