InfraAcademy

InfraAcademy Blog

【Azure】Terraformで”features”: required field is not set の対処方法

| #Terraform #Microsoft Azure #Azure

こんにちは、インフラエンジニアのryuです。

今回は、AzureのTerraformで”features”: required field is not setというエラーが出たときの対処方法を解説します。このエラーはTerraformのバージョンアップに伴い、設定の追加が必要です。エラーが出ないようにする方法を解説します。

【Azure】Terraformで”features”: required field is not set の対処方法

"features": required field is not set の対処方法 Terraformで”features”: required field is not setというエラーが発生して対処できない・・・

設定ファイルの先頭にとある設定をすれば大丈夫です!

今回の記事では、エラーの対処方法と原因を解説したいと思います!

対処方法はこれ!

対処方法は以下の通りです。ファイルの先頭に追加しましょう。

provider "azurerm" {
  features {}
}

設定ファイルの全体はこのような中身になります。このファイルをTerraformでAzureのリソースグループを作成するコードです。

provider "azurerm" {
  features {}
}

###リソースグループ作成
resource "azurerm_resource_group" "example" {
  name     = "example"
  location = "West Europe"
}

エラーが対処できているか確認してみましょう

設定ファイルの修正ができたら、Terraformを使ってリソースグループを作成してみましょう。

>terraform plan

エラーが対処できているのか確認

エラーが出ていないことが確認できました。

それでは、以下のコマンドを入力してAzureのリソースグループを作成しましょう。

>terraform apply

これで完成です。

Terraformでエラーが出る原因は?

今回の対処するために設定した設定はAzureプロバイダーの設定です

Azureプロバイダーは、Azure Resource Manager APIを使用してMicrosoft Azureのインフラストラクチャを構成するために使用します。

以前は指定しなくても動作しましたが、AzureRM provider v2.0.0から必要になりました。

また、Azure providerの設定では、”[features](https://www.terraform.io/docs/providers/azurerm/index.html#features)”のオプションが必須のため、provider “azurerm” {features {}}の設定が必要です。

Terraformで”required field is not set” というメッセージが出たら

Terraformで”required field is not set” というメッセージが出たら、設定の必須項目が設定されていません。

公式ホームページを確認して、どのような設定が必要なのか確認してみましょう。

・Terraform公式ページ↓

https://www.terraform.io/

・Microsoftドキュメント

https://docs.microsoft.com/ja-jp/azure/developer/terraform/

Next Action

記事で読んだ内容を、講座で実装してみましょう

InfraAcademyでは、ブラウザ上でLinuxやネットワークの実践環境を使いながら学習できます。無料で始められる講座から、学習の流れを試せます。

この記事を書いた人

ryu

InfraAcademy運営 / エンジニア

エンジニア歴10年。Linux、ネットワーク、クラウドを中心に、実務で役立つインフラ技術を初心者にもわかりやすく解説しています。

X: @ryu63614894

Related

関連記事

ブログ一覧へ

Roadmap

まずはこの4講座から

ログインすれば無料で始められる講座です。気になったテーマから手を動かして学べます。

講座一覧を見る