エンジニアライフスタイルブログを運営しているミウラ(@miumiu06171)です。
普段はフリーランスでシステムエンジニアをしております。
今回は、tfenvのインストールからtfenvでTerraformのバージョン管理を行う方法をまとめました。
Terraformとは
Terraformとは、インフラ環境を効率的に構築できるIaC(Infrastructure as Code)ツールです。
Terraformでコードを記述することで、インフラ環境を自動的に構築することが可能です。
HashiCorp社が開発したオープンソースのサービスになっています。
Terraformメリット
- 誰が構築しても同一のインフラ構成で構築できる
- 工数削減
- Gitによるバージョン管理に対応
tfenvとは
tfenvとは、Terraformのバージョン管理を行い、CLI(コマンドラインインターフェース)でバージョンを切り替えることが可能なツールです。
tfenvインストール
tfenvのインストール手順を紹介します。
tfenvインストール
まずは、以下のコマンドを実行し、tfenvをGitHubからクローンしてきます。
1 2 |
cd ~ git clone https://github.com/tfutils/tfenv.git .tfenv |
tfenvコマンドをPATHに通す
次にtfenvコマンドをPATHに通します。
以下は、bashを使っている場合に ~/.bashrcファイル にPATHを追加する例になります。
1 |
export PATH=$PATH:/c/Users/<USER_NAME>/.tfenv/bin |
上記 export文を ~/.bashrcファイルに追記してください。
tfenvコマンド確認
PATHを追加できたら、bashを起動し直した後、bash上でtfenvコマンドを実行し、以下のようにコマンドリファレンスが出力されたらインストール完了です。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
$ tfenv tfenv 3.0.0-18-g1ccfddb Usage: tfenv <command> [<options>] Commands: install Install a specific version of Terraform use Switch a version to use uninstall Uninstall a specific version of Terraform list List all installed versions list-remote List all installable versions version-name Print current version init Update environment to use tfenv correctly. pin Write the current active version to ./.terraform-version |
tfenvを使ったTerraformのインストールから使い方まで
さきほどインストールしたtfenvに対して、Terraformをインストールする方法から使い方までを紹介します。
インストール可能なTerraformバージョンを確認(tfenv list-remote)
インストール可能なTerraformバージョンを確認するには、以下のtfenvコマンドを実行します。
1 |
tfenv list-remote |
任意のTerraformバージョンをインストール(tfenv install)
Terraformをインストールするには、以下のtfenvコマンドを実行します。
1 |
tfenv install <バージョン番号> |
バージョン番号は、前述の「tfenv list-remote」コマンドで出力されたバージョンから、バージョンが新しい安定版を選択することをおすすめします。
1 |
tfenv install 1.4.6 |
上記は、 Terraform 1.4.6をインストールしたときのコマンド例になります。
特定のTerraformバージョンをアンインストール(tfenv uninstall)
tfenvにインストールした特定のTerraformバージョンをアンインストールするには、以下のコマンドを実行します。
1 |
tfenv uninstall <バージョン番号> |
下記は、 Terraform 1.4.6をアンインストールしたときのコマンド例になります。
1 |
tfenv uninstall 1.4.6 |
使用するTerraformバージョンを指定・変更・切り替える(tfenv use)
tfenvでインストールした複数のTerraformバージョンの中から、使用するTerraformバージョンを指定・変更・切り替えるには、以下のコマンドを実行します。
1 |
tfenv use <バージョン番号> |
下記は、 Terraform 1.4.6に切り替えるときのコマンド例になります。
1 |
tfenv use 1.4.6 |
インストールしたTerraformバージョンを確認
tfenvでインストールしたTerraformバージョンを確認するには、以下のコマンドを実行します。
1 |
tfenv list |
.terraform-versionファイルでプロジェクトで使用するTerraformバージョンを指定
プロジェクトルートに.terraform-versionというファイルを配置し、このファイルにTerraformバージョンを指定すると、そのTerraformバージョンが優先して使用されます。
1 2 3 |
echo 1.4.6 > .terraform-version tfenv install tfenv use |
これにより、プロジェクトメンバー内で共通のバージョンを容易に使用することができます。
Terraformでおさえておくべきドキュメント
HCL2ドキュメント
HCL2とは、HashiCorp Configuration Language 2の略で、HashiCorp社の設定言語です。
HCL2の仕様を理解するためのドキュメントは、以下のURLで確認できます。
https://developer.hashicorp.com/terraform
Terraform CLI
Terraformのコマンドを理解するためのドキュメントは、以下のURLで確認できます。
https://developer.hashicorp.com/terraform/cli
Provider
AWS/Azure/GCPなど利用するProviderと連携するためのドキュメントは、以下のURLで確認できます。
https://registry.terraform.io/namespaces/hashicorp
まとめ
いかがでしたでしょうか。
「Terraformという言葉は聞いたことあるけどよくわからない」という方には、本記事を参考にtfenvの使い方からマスターしていただくとよいと思います。
【関連記事】
【TIPS】Terraformコマンド・環境構築方法・前提知識がまるわかり!