Terraform с azure CLI - ошибка построения учетной записи - PullRequest
1 голос
/ 19 февраля 2020

с использованием блока провайдера

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 Я получаю следующую ошибку:

Ошибка подключения к 169.254.169.254. Нет маршрута к хосту.

, что, как мне кажется, очень странно, что IP конечных точек службы «жестко закодирован» в клиенте terraform.

1 Ответ

0 голосов
/ 27 февраля 2020

Удаление переменной

ARM_USE_MSI = true

Решил мою проблему.

Эта переменная сообщает terraform использовать Managed Service Identity. См. документы . Проблема заключалась в том, что конечная точка службы Azure Instance Metadata (доступная по вышеуказанному IP), которая используется с этой точки, доступна только из виртуальной машины, и я запускал terraform со своего рабочего стола.

...