-
Terraform CLI 버전 관리 어떻게 하고 있나요?Dev&Ops/DevOps 2025. 3. 23. 11:32
안녕하세요!
AWS Community Builder이자 DevOps Engineer인 zerone-code입니다.
2024년도에 많은 일로 인해서... 블로그 관리를 잘 못했던 저를 반성하며,

오늘은 Terraform CLI 버전 관리를 하는 쉬운 도구를 소개하려고 합니다.
궁금한 부분은 댓글로 남겨주시면 아는 만큼 성심성의껏 답변해 드리도록 하겠습니다.
잘 읽으셨다면 많은 공감과 구독 부탁드립니다!
저는 DevOps를 시작하면서, Terraform v0.11부터 시작을 했었습니다. 지금은 Terraform 이 v1.12.0-alpha까지 빠르게 발전했는데요,
아무래도 현업에서는 특정 버전을 고정해서 쓰기 때문에 Terraform v1.5.7 이상으로는 올리지 않고 쓰고 있었습니다.
하지만 최근 강의를 하게 되면서 Terraform v1.9.0이상의 최신 버전을 적용하다 보니 Local Setting을 좀 쉽게 할 수 있는 게 없나 하다가 찾게 된 오픈 소스인데요, 바로 tfenv라는 오픈소스입니다.
https://github.com/tfutils/tfenv
GitHub - tfutils/tfenv: Terraform version manager
Terraform version manager. Contribute to tfutils/tfenv development by creating an account on GitHub.
github.com
tfenv는 rbenv에서 영감을 받아 Terraform cli 버전도 동일하게 관리할 수 있지 않을까? 에서 출발해서 만들어진 오픈 소스입니다.
여러 버전을 사용할 때, 자바도 sudo alternatives --config java와 같이 java version을 관리하는 것처럼 Terraform cli도 쉽게 관리할 수 있을 것 같습니다.
하나씩 살펴보도록 하겠습니다.
tfenv 설치
크게 설치 방식은 두 가지 방식을 제공하고 있습니다.
Automatic 방식과 Manual 방식 두 가지를 제공하고 있는데요,
Automatic 방식으로는 Mac User들은 brew로 설치를 쉽게 가능하고, yay와 puppet 모듈을 사용해서 설치를 할 수 있다고 합니다.(아마 잘 안 쓰이지 않나.. 싶은데)

brew install tfenv Manual 방식으로는 git을 직접 clone 받아서 미리 구성된 shell file을 bin으로 잡아서 동작하도록 만드는 방식입니다.
#tfenv clone git clone --depth=1 https://github.com/tfutils/tfenv.git ~/.tfenv #1 or 2를 선택 #1 tfenv 하위 bin directory를 PATH 환경변수로 설정 echo 'export PATH="$HOME/.tfenv/bin:$PATH"' >> ~/.zprofile #2 symbolic link ln -s ~/.tfenv/bin/* /usr/local/bin위처럼 구성하게 되면, Mac user들은 brew로 설치하지 않고도 tfenv 명령어를 사용할 수 있게 됩니다.
tfenv로 terraform cli 버전 관리하기
위 과정을 통해 설치했다면, 이번엔 terraform cli 버전도 관리해 보도록 하겠습니다.

tfenv를 한번 입력해 보시면 위와 같이 command list가 나오게 됩니다.
먼저 로컬에 설치할 terraform cli 버전을 확인하기 위해서는 tfenv list-remote를 실행하면 아래 사진과 같이 설치 가능한 목록이 나오게 됩니다.

tfenv list-remote 여기서 버전을 확인한 후, tfenv install <x.y.x> 형식으로 지정을 해주거나, tfenv install latest와 같은 형태로 명령어를 실행하면 terraform cli가 특정 버전에 맞춰 설치가 됩니다.
# TFENV_TERRAFORM_VERSION 혹은 .terraform-version에 지정된 버전으로 설치 # priority : TFENV_TERRAFORM_VERSION > .terraform-version tfenv install # terraform 1.9.0 버전을 지정 tfenv install 1.9.0 # terraform 최신 버전 tfenv install latest # terraform 1.8 버전 중 최신 버전 tfenv install latest:^1.8 # 최신 허용, 최소 필수에 해당하는 terraform cli 설치 tfenv install latest-allowed tfenv install min-requiredlocal 환경에 제일 첫 번째 방법을 통해 1.9.0을 설치해 보도록 하겠습니다.
먼저 TFENV_TERRAFORM_VESION이나. terraform-version을 지정해줘야 합니다. 아래 사진처럼. terraform-version을 지정해 주도록 하겠습니다.

설치할 버전에 대한 명시 그리고 tfenv install을 실행해 보면, 위에서 지정한 대로. terraform-version에 따라 terraform cli가 download 되는 것을 확인할 수 있습니다.

terraform 1.9.0 설치 이렇게 설치된 terraform v1.9.0을 사용하기 위해서는 tfenv use 1.9.0을 수행해 주면 됩니다.

이번엔 다른 버전도 한번 설치해 보면 latest로 설치하고 버전 전환을 해보도록 하겠습니다.
그전에 먼저 환경변수를 제거해줘야 합니다.
그렇게 않으면, 새로운 버전을 설치하고 전환을 해도 환경변수가 우선적으로 적용되기 때문에 버전이 전환된 게 제대로 적용되지 않습니다.그리고 latest로 설치를 하게 되면 terraform 1.11.2가 설치됩니다.

tfenv install latest 그리고 설치된 1.9.0에서 1.11.2로 전환을 하면 아래와 같이 tfenv use를 통해 쉽게 전환을 할 수 있게 됩니다.

tfenv use
이 외에도 DEBUG와 관련된 환경 변수들도 있으니 꼭!! 공식 레포지토리에서 한번 살펴보시면 좋을 것 같습니다.
궁금한 부분은 댓글로 남겨주시면 아는 만큼 성심성의껏 답변해 드리도록 하겠습니다.
잘 읽으셨다면 많은 공감과 구독 부탁드립니다!
'Dev&Ops > DevOps' 카테고리의 다른 글
Spring Boot와 함께하는 AWS RDS IAM Auth 활용법(1) (0) 2025.11.16 Nginx Proxy Server가 이상하다! (22) 2024.06.22 Karpenter와 Empty Pod을 활용한 스케일링(2) (0) 2023.10.24 [Infra] Karpenter와 Empty Pod을 활용한 스케일링(1) (0) 2023.07.13 [Infra] EKS 환경에서 Springboot에 IRSA 적용해보기 (0) 2023.06.11