Terraform/Azureプロバイダーのバージョンについて改めて考える
Terraform を使っていると「以前は使用できなかったのに、新しいバージョンだと利用できるんじゃん」ということにあたることが多いので、改めてバージョンについてまとめてみました。
とは言いつつも、何を気にしなければいけないんだっけ?ということを Terraform を使って Azure プロバイダーを実施する際の観点から考えてみました。
まず、Azure を Terraform で IaC したい!という場合には、大きく2つの管理が必要です。
- Terraform のバージョン
- AzureRM などの Azure インフラストラクチャー用の Terraform プロバイダーのバージョン
Terraform のバージョン
Terraform 自体のバージョンは、以下のコマンドから確認できます。
% terraform version
私の手元だと以下のように表示されます。v1.6.0 ですね。
% terraform version
Terraform v1.6.0
on darwin_arm64
Your version of Terraform is out of date! The latest version
is 1.6.3. You can update by downloading from https://www.terraform.io/downloads.html
バージョンの履歴は、こちら から確認することができます。
また、API を使って確認できます。-> API
AzureRM のバージョン
Terraform のバージョンとともに、使っている AzureRM のバージョンも気にする必要があります。
ここでは代表的にAzureRM
を指していますが、Azure インフラストラクチャの管理を有効にする Terraform プロバイダーは複数あります。
Azure リソースを作りために使えるプロバイダーは、ここで確認できます。
Terraform を使っているディレクトリ配下では、terraform providers
で確認できます。
% terraform providers
Providers required by configuration:
.
├── provider[registry.terraform.io/hashicorp/tls] ~> 4.0
├── provider[registry.terraform.io/hashicorp/azurerm] ~> 3.0.2
└── provider[registry.terraform.io/hashicorp/random] ~> 3.0
Providers required by state:
provider[registry.terraform.io/hashicorp/azurerm]
provider[registry.terraform.io/hashicorp/random]
バージョンの履歴は、こちら から確認できます。
もしくはこちらからも見れます。
バージョンはなぜ確認が必要なのか
AzureRM のバージョンの履歴を見ていくと、1ヶ月に2~3回のアップデートがあります。
issue を修正していることが多いですが、その中でも新しいリソースが頻繁に追加されています。9月は2回ほど新しいリソースが追加されていました。
Azure リソースを IaC で管理するには、Bicep が使い勝手が良いですが、中には他のクラウドベンダーを利用していて Terraform で統一することもあるでしょう。
その際に、「今何が使えるのかな?」という確認をすることは非常に重要だと思います。使えるようになった!やったね!ということも大いにあるわけです。
ということで、楽しい IaC ライフをお過ごしください。
余談ですが、Terraform のバージョン管理については以前記事を書きましたので、ご参考までに。
Discussion