Обзор Terraform на Azure - Что такое Terraform?

Hashicorp Terraform — это средство с открытым исходным кодом IaC (Инфраструктура как код) для настройки и развертывания облачной инфраструктуры. Он кодифицирует инфраструктуру в файлах конфигурации, описывающих требуемое состояние топологии. Terraform позволяет управлять любой инфраструктурой, например общедоступными облаками, частными облаками и службами SaaS, с помощью поставщиков Terraform.

Поставщики Terraform для инфраструктуры Azure

Несколько поставщиков Terraform позволяют управлять инфраструктурой Azure:

  • AzureRM: управление стабильными Azure ресурсами и функциями, такими как виртуальные машины, учетные записи хранения и сетевые интерфейсы.
  • AzAPI: управление ресурсами и функциями Azure с помощью api Azure Resource Manager напрямую. Этот поставщик обеспечивает согласованность с последними функциональными возможностями Azure, не требуя обновлений поставщика. Дополнительные сведения о поставщике AzAPI см. в статье Terraform AzAPI provider.
  • AzureAD: управление Microsoft Entra ресурсами, такими как группы, пользователи, субъекты-службы и приложения.
  • AzureDevops: управление Azure DevOps ресурсами, такими как агенты, репозитории, проекты, конвейеры и запросы.
  • AzureStack: управление Azure Stack Hub ресурсами, такими как виртуальные машины, DNS, виртуальные сети и хранилище.

Использование AzAPI и AzureRM

Чтобы понять, когда следует использовать AzAPI и AzureRM, ознакомьтесь с совместным заявлением с HashiCorp.

Преимущества Terraform с Azure

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

Распространённый инструмент IaC

Поставщики terraform Azure позволяют управлять всей инфраструктурой Azure с помощью одного декларативного синтаксиса и инструментов. С помощью этих поставщиков можно:

  1. Настройте основные возможности платформы, такие как группы управления, политики, пользователи, группы и политики. Дополнительные сведения см. в статье Реализация Cloud Adoption Framework Enterprise-scale с помощью Terraform.
  2. Настройте Azure DevOps проекты и конвейеры для автоматизации регулярных развертываний инфраструктуры и приложений.
  3. Разверните ресурсы Azure, необходимые вашим приложениям.

Автоматизация управления инфраструктурой:

Используйте синтаксис файлов конфигурации на основе шаблонов Terraform, чтобы настраивать ресурсы Azure единообразным и предсказуемым способом. Автоматизация управления инфраструктурой обеспечивает следующие преимущества:

  • Уменьшает потенциал для человеческих ошибок при развертывании инфраструктуры и управлении ими.
  • Развертывает один и тот же шаблон несколько раз для создания идентичных сред разработки, тестирования и рабочей среды.
  • Сокращает затраты на разработку и тестирование сред, создавая их по требованию.

Изучите изменения инфраструктуры перед их применением

По мере того как топология ресурсов становится более сложной, трудно понять смысл и влияние изменений инфраструктуры.

Интерфейс командной строки Terraform позволяет проверять и просматривать изменения инфраструктуры перед применением плана. Предварительный просмотр изменений инфраструктуры безопасным способом дает ряд преимуществ:

  • Участники группы могут более эффективно сотрудничать, понимая предлагаемые изменения и их влияние.
  • Вы можете поймать непреднамеренные изменения в начале процесса разработки.

Дальнейшие действия

В зависимости от вашего окружения установите и настройте Terraform:

Note

Преобразования учетных записей служба хранилища Azure могут приводить к поддерживаемым изменениям, внесенным вне Terraform, из-за которых Terraform может запланировать замену учетной записи хранения данных. Чтобы узнать, как предотвратить непредвиденное повторное создание во время этих преобразований, см. статью Предотвращение дрейфа Terraform для ресурсов Azure с сохранением состояния.