Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Интерфейс командной строки разработчика Azure () поддерживает несколько инфраструктур в качестве поставщиков кода (azdIaC), в том числе:
По умолчанию предполагается, что azd Bicep является поставщиком IaC. Ознакомьтесь со статьей "Сравнение Terraform и Bicep ", чтобы решить, какой поставщик IaC лучше всего подходит для вашего проекта.
Примечание.
Terraform по-прежнему находится в бета-версии. Дополнительные сведения о поддержке альфа-и бета-компонентов см. на странице стратегии управления версиями компонентов и выпуска
Предварительные требования
- Установка и настройка Terraform
- Установка и вход в Azure CLI (версия 2.38.0+)
- Просмотрите схему архитектуры и ресурсы Azure, которые вы развернете в шаблоне Node.js или Python Terraform.
Примечание.
Хотя azd не зависит от Azure CLI для входа, Terraform требует Azure CLI. Дополнительные сведения об этом требовании см. в официальной документации Terraform.
Настройка Terraform в качестве поставщика IaC
azure.yamlОткройте файл, найденный в корне проекта, и убедитесь, что у вас есть следующие строки, чтобы переопределить значение по умолчанию, которое является Bicep:infra: provider: terraformДобавьте все файлы
.tfв каталогinfra, расположенный в корне вашего проекта.Запустите
azd up.
Примечание.
Ознакомьтесь с этими двумя шаблонами azd с Terraform как провайдером IaC: Node.js и Terraform и Python и Terraform.
azd pipeline config для Terraform
Terraform хранит состояние управляемой инфраструктуры и конфигурации. Из-за этого файла состояния необходимо включить удаленное состояние перед запуском azd pipeline config для настройки конвейера развертывания в GitHub.
По умолчанию azd предполагается использование локального файла состояния. Если вы запустили azd up перед включением удаленного состояния, необходимо запустить azd down и переключиться в файл удаленного состояния.
Локальное и удаленное состояние
Terraform использует сохраненные данные состояния для отслеживания управляемых ресурсов.
Сценарии включения удаленного состояния:
- Разрешить общий доступ к данным состояния и разрешить нескольким пользователям работать вместе с этой коллекцией ресурсов инфраструктуры.
- Чтобы избежать предоставления конфиденциальной информации, содержащейся в файле состояния
- Чтобы уменьшить вероятность случайного удаления из-за локального хранения состояния
Включение удаленного состояния
Убедитесь, что настроен аккаунт для хранения состояния удаленного доступа.
Добавьте новый файл, названный
provider.conf.json, в папкуinfra.{ "storage_account_name": "${RS_STORAGE_ACCOUNT}", "container_name": "${RS_CONTAINER_NAME}", "key": "azd/azdremotetest.tfstate", "resource_group_name": "${RS_RESOURCE_GROUP}" }Обновите
provider.tf, найденный в папкеinfra, чтобы сделать серверную часть удаленной.# Configure the Azure Provider terraform { required_version = ">= 1.1.7, < 2.0.0" backend "azurerm" { }Выполните команду
azd env set <key> <value>, чтобы добавить конфигурацию.envв файл. Например:azd env set RS_STORAGE_ACCOUNT your_storage_account_name azd env set RS_CONTAINER_NAME your_terraform_container_name azd env set RS_RESOURCE_GROUP your_storage_account_resource_groupВыполните следующую
azdкоманду в рамках обычного рабочего процесса. При обнаружении удаленного состоянияazdинициализирует Terraform с настроенной конфигурацией бэкенда.Чтобы поделиться средой с участниками команды, убедитесь, что они запускают
azd env refresh -e <environmentName>для обновления параметров среды в локальной системе, и выполните шаг 4, чтобы добавить конфигурацию в файл.env.
См. также
- Дополнительные сведения о зависимости Terraform от Azure CLI.
- Дополнительные сведения об удалённом состоянии см. в разделе хранение состояний Terraform в службе Azure Storage.
- Шаблон: React Web App с Node.js API и MongoDB (Terraform) в Azure