😸

Terraform/Azureプロバイダーのバージョンについて改めて考える

2023/11/20に公開

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 のバージョン管理については以前記事を書きましたので、ご参考までに。
https://zenn.dev/mihohoi/articles/4e15a098a08c25

GitHubで編集を提案
Microsoft (有志)

Discussion