Краткое руководство. Экспорт ресурсов Azure в код HCL с помощью Azure Export for Terraform

В статье экспортируйте первые ресурсы с помощью Azure Export for Terraform, вы узнаете, как экспортировать ресурсы Azure в файлы локального состояния с помощью Azure Export for Terraform. Из этой статьи вы узнаете, как создать файлы конфигурации Terraform из ресурсов Azure.

  • Создайте тестовую группу ресурсов Azure с помощью Azure CLI или Azure PowerShell.
  • Создайте тестовую виртуальную машину Linux с помощью Azure CLI или Azure PowerShell.
  • Экспорт группы ресурсов и виртуальной машины из Azure в файлы HCL.
  • Убедитесь, что локальное состояние соответствует состоянию ресурсов в Azure.

Необходимые компоненты

Создание тестовых ресурсов Azure

Создание виртуальной машины Linux.

  1. Выполните команду az group create , чтобы создать группу ресурсов Azure.

    az group create --name myResourceGroup --location eastus
    
  2. Запустите az vm create , чтобы создать виртуальную машину.

    az vm create \
      --resource-group myResourceGroup \
      --name myVM \
      --image Debian11 \
      --admin-username azureadmin \
      --generate-ssh-keys \
      --public-ip-sku Standard
    

Общие сведения о флаге только для hcl

Экспорт Azure для Terraform поддерживает флаг. --hcl-only Это приводит к возникновению следующих файлов из экспортированных ресурсов:

  • Созданные .tf HCL-файлы.
  • Файл aztfexportResourceMapping.jsonсопоставления.
  • Пропущенные ресурсы перечислены в aztfexportSkippedResources.txt.

Флаг --hcl-only поддерживается для всех основных команд экспорта, используемых для экспорта:

  • resource
  • resource-group
  • query
  • сопоставление-файл

Чтобы просмотреть доступные команды Azure Export for Terraform, выполните следующую команду:

aztfexport --help

Флаг --hcl-only полезен в сценариях, в которых не требуется состояние или не уверен, нужно ли создать состояние. Чтобы экспортировать всю созданную конфигурацию в состояние, выполните команду aztfexport mapping-file.

Совет

При использовании флага --hcl-only нацелите пустой каталог, чтобы не вносить нежелательные изменения в любое текущее состояние во время этапа экспорта.

Экспорт ресурса Azure

Средство можно запустить aztfexport в одном из двух режимов: интерактивный и неинтерактивный. Для этой демонстрации используется неинтерактивный режим.

  1. Создайте каталог, в котором необходимо протестировать.

  2. Откройте командную строку и перейдите к новому каталогу.

  3. Выполните команду aztfexport resource-group , чтобы экспортировать группу ресурсов с именем myResourceGroup.

    aztfexport resource-group --non-interactive --hcl-only myResourceGroup
    

Примечание.

Выполнение экспорта Azure для Terraform может занять несколько минут.

Проверка результатов

После завершения экспорта ресурсов Azure проверьте следующие файлы в каталоге, где вы выполнили экспорт Azure для Terraform:

  • main.tf содержит код HCL, определяющий экспортированные ресурсы.
  • aztfexportResourceMapping.json содержит сопоставления Azure/Terraform. Файл сопоставления содержит следующие сведения для каждого экспортированного ресурса Azure: идентификатор ресурса Azure, тип ресурса Terraform и имя ресурса Terraform. Содержимое файла сопоставления зеркало то, что отображается в процессе экспорта Azure для Terraform.
  • aztfexportSkippedResources.txt содержит список пропущенных ресурсов. Этот файл не должен отображаться в этом примере.

Очистка ресурсов

Если ресурсы, созданные в этой статье, больше не нужны, сделайте следующее:

  1. Перейдите в каталог, содержащий файлы Terraform для этой статьи.

  2. Выполните уничтожение terraform.

    terraform destroy
    

Следующие шаги