0

内部ロード バランサーを使用するように構成された App Service Environment (ASE) の前に配置される Azure にアプリケーション ゲートウェイをデプロイするための Terraform 構成を作成しています。シェル スクリプトを使用して Azure Cloud Shell からテラフォーム構成を実行します。シェル スクリプトでは、AZ CLI コマンドを実行して ASE 内部ロード バランサーの IP アドレスを取得し、それをコマンド ライン変数として Terraform 構成にフィードします。ip_address_list はリストでなければならないというエラーが表示され続けますが、その形式が何を意味するのかわかりません。

以下は、IPアドレスを取得するために使用しているコマンドです。

ilbase_virtual_ip=$(
  az resource show \
  --ids "/subscriptions/$subscription_id/resourceGroups/$ilbase_rg_name/providers/Microsoft.Web/hostingEnvironments/$ilbase_name/capacities/virtualip" \
  --query "additionalProperties.internalIpAddress"
)

これは、以下のようにフォーマットされた IP アドレスを返します。シェルスクリプトの一部としてエコーアウトしているので、正常に取得されたことを確認できます。

"10.10.1.11"

以下は、シェル スクリプトで使用している Terraform コマンド ラインです。

terraform plan \
  -var "tfstate_access_key=$tfstate_storage_access_key" \
  -var "ilbase_virtual_ip=$ilbase_virtual_ip"

以下は、IP アドレスを適用しようとしている Terraform 構成のコードです。

backend_address_pool {
  name            = "${data.terraform_remote_state.rg.vnetnamew}-beap"
  ip_address_list = "[${var.ilbase_virtual_ip}]"
}

なしで試してみまし[]たが、同じエラーが発生しました。

4

1 に答える 1