Open1
AzureとTerraformの設定手順
Azureに対してterraform applyできるように設定する手順のメモ
前提
- Azureアカウント作成済
- Terraform Cloudアカウント作成済
- Terraform Cloud利用
- Terraform Cloudのworkspace作成済
- ローカルからterraform apply
terraformコード
terraform {
cloud {
organization = "<organization名>"
workspaces {
name = "<workspace名>"
}
}
required_version = ">= 1.9.7"
}
provider "azurerm" {
features {}
}
resource "azurerm_resource_group" "this" {
name = ...
}
環境変数
Terraform Cloudの環境変数に次を設定する
-
ARM_SUBSCRIPTION_ID
# Azureポータルで確認できる -
ARM_TENANT_ID
# Azureポータルで確認できる -
ARM_CLIENT_ID
# 後述 -
ARM_CLIENT_SECRET
# 後述
サービスプリンシパル
次のコマンドでサービスプリンシパルを作成する
az ad sp create-for-rbac --role="Owner" --scopes="/subscriptions/SUBSCRIPTION_ID"
コマンドの出力からARM_CLIENT_IDとARM_CLIENT_SECRETがわかる
詳しくは次の記事参照
作成したアプリは、Azureポータルのアプリの登録
から確認できる
同じサービスプリンシパルで新たにARM_CLIENT_SECRET
を発行したい場合も、Azureポータルから可
補足
環境変数を設定し忘れた場合、次のようなエラーとなる
`subscription_id` is a required provider property when performing a plan/apply operation
参考