【Terraform】バージョンを変更・管理するには?tfenvの使い方を紹介

terraform_tfenv インフラ自動化

前回terraformをインストールする方法を紹介しました.

あるバージョンでしか実行できないコマンドってありますよね.
既存のバージョンをアンインストールするのもめんどうです.

tfenvを使うとアンインストールすることなくバージョンを変更できます.

今回はUbuntuでtfenvをインストールしバージョンを変更する方法を紹介します.

tfenvとは

tfenvはterraformのバージョン管理システムです.

GitHub - tfutils/tfenv: Terraform version manager
Terraform version manager. Contribute to tfutils/tfenv development by creating an account on GitHub.

これを使うと簡単にバージョンを変更できます.

一度インストールしたバージョンをアンインストール,そのあと別のバージョンをインストールなど複雑な手順を実行しなくて済みます.

便利ですね!

前回のインストールでterraform version1.6.3をインストールしました.
これをv1.4系にしましょう.

$ terraform -v
Terraform v1.6.3
on linux_amd64
現在のterraformバージョンを確認する|クリックして拡大できます

tfenvをインストールする環境はこちらです.

  • PC:Windows
  • OS:Ubuntu
  • バージョン:22.04

tfenvをインストールする

githubからtfenvリポジトリをクローンします.

$ git clone https://github.com/tfutils/tfenv.git ~/.tfenv

~ホームディレクトリ配下を確認するとtfenvがありますね.

~$ ls -a
.tfenv

続いてシェルにパスを通ります.
私はbashを使っていたいのでbashにパスを通しました.

$ echo 'export PATH="$HOME/.tfenv/bin:$PATH"' >> ~/.bash
$ source ~/.bash

使っているシェルの確認するときは echo $SHELL コマンドを実行してください.

$ echo $SHELL
/bin/bash

tfenv –versionを実行してtfenvが使えることを確認しましょう!

$ tfenv --version
tfenv 3.0.0-18-g1ccfddb
tfenvのバージョンを確認する|クリックして拡大できます

tfenvのバージョンが確認できました.
tfenvが使えるようになったのでterraformのバージョンを変更します.

terraformのバージョンを変更する

現在使っているterraformはバージョン1.6.3です.

tfenv installコマンドでバージョン1.4.7をインストールします.

$ tfenv install 1.4.7
Installing Terraform v1.4.7
Downloading release tarball from https://releases.hashicorp.com/terraform/1.4.7/terraform_1.4.7_linux_amd64.zip
######################################################################################################################################################### 100.0%
Downloading SHA hash file from https://releases.hashicorp.com/terraform/1.4.7/terraform_1.4.7_SHA256SUMS
Not instructed to use Local PGP (/home/shirakawa/.tfenv/use-{gpgv,gnupg}) & No keybase install found, skipping OpenPGP signature verification
Archive:  /tmp/tfenv_download.vMfaQF/terraform_1.4.7_linux_amd64.zip
  inflating: /home/shirakawa/.tfenv/versions/1.4.7/terraform  
Installation of terraform v1.4.7 successful. To make this your default version, run 'tfenv use 1.4.7'

インストールできたら tfenv use 1.4.7を実行しましょう!

$ tfenv use 1.4.7
Switching default version to v1.4.7
Default version (when not overridden by .terraform-version or TFENV_TERRAFORM_VERSION) is now: 1.4.7
tfenvのバージョンを1.4.7をする

これでバージョン変更できました.
再度terraformのバージョンを確認します.

$ terraform -v
Terraform v1.4.7
on linux_amd64

バージョンが1.4.7になっていますね

terraformのバージョンが1.4.7|クリックして拡大できます

tfenvを使うと簡単にterraformのバージョンを切り替えられましたね.

おまけ tfenvのコマンド

tfrnvにもいくつか便利なコマンドがあるので紹介します.

tfenv list-remote

インストールできるterraformバージョンを一覧で表示します.

$ tfenv list-remote
1.7.0-alpha20231108
1.7.0-alpha20231025
1.6.3
1.6.2
1.6.1
1.6.0
1.6.0-rc1
...
tfenv list-remoteの実行結果|クリックして拡大できます

tfenv list

インストール済みのterraformバージョンを確認します.

$ tfenv list
* 1.4.7 
tfenv listの実行結果|クリックして拡大できます

まとめ

今回はterraformをバージョン管理できるtfenvについて紹介しました.

tfenvを使うと簡単にバージョン変更ができましたね.

本来であればすでにインストール済みのバージョンをアンインストールしてから新しいバージョンをインストールするべきでしょう.

しかしtfenvではリポジトリをクローンし,パスを通すだかでコマンドが使えました.

terraformのバージョン変更はtfenvで時間短縮しましょう!