Краткое руководство. Экспорт ресурсов 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.
Выполните команду az group create , чтобы создать группу ресурсов Azure.
az group create --name myResourceGroup --location eastus
Запустите 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
в одном из двух режимов: интерактивный и неинтерактивный. Для этой демонстрации используется неинтерактивный режим.
Создайте каталог, в котором необходимо протестировать.
Откройте командную строку и перейдите к новому каталогу.
Выполните команду
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
содержит список пропущенных ресурсов. Этот файл не должен отображаться в этом примере.
Очистка ресурсов
Если ресурсы, созданные в этой статье, больше не нужны, сделайте следующее:
Перейдите в каталог, содержащий файлы Terraform для этой статьи.
Выполните уничтожение terraform.
terraform destroy