使用 Azure CLI 的 Terraform - 建立帐户时出错
Terraform with azure CLI - error building account
使用提供商块
provider "azurerm" {
subscription_id = var.subscription_id
version = "=1.44"
}
并在使用
成功登录后
az login
运行
terraform plan
我收到以下错误:
Error: Error building account: Error getting authenticated object ID: Error parsing json result from the Azure CLI: Error waiting for the Azure CLI: exit status 2
on main.tf line 21, in provider "azurerm":
21: provider "azurerm" {
更新:
如果我将提供程序块更改为:
provider "azurerm" {
version = "~> 1.43"
}
并设置环境变量
ARM_USE_MSI=true
ARM_SUBSCRIPTION_ID=<...>
ARM_TENANT_ID=<...>
HTTP_PROXY=<...>
HTTPS_PROXY=<...>
http_proxy=<...>
https_proxy=<...>
比执行 terraform plan 后我得到以下错误:
连接到 169.254.169.254 失败。没有到主机的路由。
这很奇怪,在我看来,服务端点 IP "hardcoded" 进入 terraform 客户端。
正在删除变量
ARM_USE_MSI=true
解决了我的问题。
此变量告诉 Terraform 使用托管服务标识。参见docs。问题是,从那时起使用的 Azure 实例元数据服务端点(在上述 IP 上可用)只能从 VM 内访问,而我是 运行 我桌面上的 terraform。
尽管我已经通过 az cli 登录,但强制另一个:
az login
帮我解决了这个问题。
az login --tenant TENANT_ID
使用租户 ID 解决
最初,我尝试使用“az login”登录,但遇到了您发布的类似错误。
使用提供商块
provider "azurerm" {
subscription_id = var.subscription_id
version = "=1.44"
}
并在使用
成功登录后az login
运行
terraform plan
我收到以下错误:
Error: Error building account: Error getting authenticated object ID: Error parsing json result from the Azure CLI: Error waiting for the Azure CLI: exit status 2
on main.tf line 21, in provider "azurerm":
21: provider "azurerm" {
更新:
如果我将提供程序块更改为:
provider "azurerm" {
version = "~> 1.43"
}
并设置环境变量
ARM_USE_MSI=true
ARM_SUBSCRIPTION_ID=<...>
ARM_TENANT_ID=<...>
HTTP_PROXY=<...>
HTTPS_PROXY=<...>
http_proxy=<...>
https_proxy=<...>
比执行 terraform plan 后我得到以下错误:
连接到 169.254.169.254 失败。没有到主机的路由。
这很奇怪,在我看来,服务端点 IP "hardcoded" 进入 terraform 客户端。
正在删除变量
ARM_USE_MSI=true
解决了我的问题。
此变量告诉 Terraform 使用托管服务标识。参见docs。问题是,从那时起使用的 Azure 实例元数据服务端点(在上述 IP 上可用)只能从 VM 内访问,而我是 运行 我桌面上的 terraform。
尽管我已经通过 az cli 登录,但强制另一个:
az login
帮我解决了这个问题。
az login --tenant TENANT_ID
使用租户 ID 解决
最初,我尝试使用“az login”登录,但遇到了您发布的类似错误。