Search

[Terraform] Version Upgrade

PublishDate
2022/11/16
Category
IaC
Terraform
Tag & Keyword
version
upgrade
tfenv

Version Upgrade한 이유…

Terraform 1.3 version이 Optional Object Type Attributes with Defaults 기능을 공식적으로 지원합니다.
이전에도 Provider에 다음과 같은 구문을 통해서 해당 기능을 베타 버전처럼 사용할 수 있었다.
terraform { experiments = [module_variable_optional_attrs] }
Shell
복사
팀원들은 terraform 1.1 버전을 사용하고, 나는 최신 1.3 버전을 사용해서 문제가 발생했다. 동료의 Code가 내 PC에서는 실행이 안 되는 이슈였다.
원인은 이번에 Optional Object Type 기능이 추가 되면서 experiments = [module_variable_optional_attrs] 블럭을 사용한 경우 발생하는 Error였다.
위와 같은 문제를 해결하기 위해서 팀 내부의 terraform version을 통일하는 과정에서 Terraform Version Upgrade 방법을 찾아봤다. (optional attribute는 다음에[언젠가] 알아보자…)

Terraform Version Upgrade

나는 현재 Ubuntu 기반 WSL2을 사용하고 있다.
apt라는 패키지 매니저를 사용하고, 업그레이드 방법은 다음과 같다.
sudo apt-get install --only-upgrade terraform
사용하는 OS의 패키지 매니저마다 약간의 명령어 차이가 존재한다.
만약 특정 버전을 설치하고 싶은 경우에는 공식 사이트에서 직접 버전을 골라서 설치할 수 있다.

tfenv

리눅스 계열에서 사용가능한 오픈소스 tfenv를 사용하는 방법도 있다. (windows git-bash도 베타 개념으로 지원한다고 함)
tfenv 사용시 장점은 terraform의 버전을 switching 해서 사용할 수 있다는 점이다.
사실 나는 사용할 일이 많이 없을 것 같긴 하다. 그래도 업무 환경의 Terraform Version을 고정해서 사용하는 경우에 최신 버전의 Terraform으로 switching해서 기능을 테스트하는 용도로 사용할 수 있을 것 같다.