Целевые зоны Azure — рекомендации по проектированию модуля Terraform

В этой статье рассматриваются важные области, которые следует учитывать при использовании модуля Terraform целевых зон Azure. Модуль предоставляет подход к развертыванию и эксплуатации платформы Azure на основе концептуальной архитектуры целевой зоны Azure, как описано в cloud Adoption Framework (CAF).

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


Внимание

Модуль доступен в реестре Terraform: целевые зоны Azure Terraform. Ее можно использовать в качестве отправной точки и настроить ее в соответствии с вашими потребностями.

Примечание.

Существуют реализации для нескольких технологий развертывания, включая портал, шаблоны ARM и модули Terraform. Выбор технологии развертывания не должен влиять на результирующее развертывание целевых зон Azure.

Акселератор Terraform ALZ

Чтобы быстро приступить к развертыванию ALZ с Terraform, можно использовать акселератор ALZ Terraform, предназначенный для использования в качестве шаблона. Этот репозиторий предоставляет поддержку реализации модуля Terraform целевых зон Azure с конвейерами Azure DevOps и рабочими процессами действий GitHub.

Акселератор Terraform ALZ следует 3 этапа:

  1. Необходимые условия: инструкции по настройке учетных данных и подписок.
  2. Начальная загрузка: запустите скрипт PowerShell для создания среды непрерывной доставки.
  3. Запустите: обновите модуль (при необходимости), чтобы соответствовать потребностям организации и развертывать с помощью непрерывной доставки.

Начните с руководства пользователя, пошагового руководства, чтобы получить среду Целевой зоны Azure и запустить ее.

Проект

Схема концептуальной архитектуры целевых зон Azure.

Архитектура использует настраиваемую природу Terraform и состоит из основного модуля оркестрации. Этот модуль инкапсулирует несколько возможностей концептуальной архитектуры целевых зон Azure. Вы можете развернуть каждую возможность отдельно или частично. Например, можно развернуть только центральную сеть или только службу защиты от атак DDoS Azure или только ресурсы DNS. При этом необходимо учитывать, что возможности имеют зависимости.

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

Модули

Основная концепция Terraform — это использование модулей. Модули позволяют упорядочивать развертывания в логические группировки. С помощью модулей вы улучшаете удобочитаемость файлов Terraform, инкапсулируя сложные сведения о развертывании. Кроме того, модули можно многократно использовать для разных развертываний.

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

Реализация целевых зон Azure Terraform поставляется с помощью одного модуля, который выступает в качестве слоя оркестрации. Уровень оркестрации позволяет выбрать, какие ресурсы развертываются и управляются с помощью модуля. Модуль можно использовать несколько раз в одной среде для развертывания ресурсов независимо друг от друга. Это может быть полезно в организациях, где разные команды отвечают за различные возможности или коллекции вложенных ресурсов.

Слои и промежуточные

Реализация ориентирована на центральную иерархию ресурсов концептуальной архитектуры целевой зоны Azure. Проектирование сосредоточено на следующих возможностях:

  • Основные ресурсы
  • Ресурсы управления
  • Ресурсы подключения
  • Ресурсы удостоверений

Модули группируют ресурсы в эти возможности, так как они предназначены для развертывания вместе. Эти группы образуют логические этапы реализации.

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

Основные ресурсы

Основные ресурсы модуля соответствуют области проектирования организации ресурсов в Cloud Adoption Framework. Он развертывает базовые ресурсы концептуальной архитектуры для целевых зон Azure.

Схема, на которой показана базовая архитектура целевых зон Azure, развернутая модулем Terraform.

Архетипов

Важной концепцией в основных ресурсах является включение архетипов.

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

Для создания целевой зоны группы управления связаны с определением архетипа. В приведенном ниже примере для целевой зоны компании archetype_config имеет указатель на определение архетипа "es_corp". Это определение содержит все конфигурации политики и ролей, которые будут добавлены в эту группу управления.

  es_corp_landing_zones = {
    "contoso-corp" = {
      display_name               = "Corp"
      parent_management_group_id = "contoso-landing-zones"
      subscription_ids           = []
      archetype_config           = {
        archetype_id ="es_corp"
        parameters   = {}
        access_control = {}
    }
  }

Если встроенные архетипы не соответствуют вашим требованиям, модуль предоставляет параметры для создания новых архетипов или внесения изменений в существующие.

Ресурсы управления

Возможности ресурсов управления модуля соответствуют области проектирования управления Cloud Adoption Framework. Эта возможность предоставляет возможность развертывания ресурсов управления и мониторинга в целевой зоне платформы управления.

Ресурсы подключения

Возможности ресурсов подключения модуля предоставляют возможность развертывания топологии сети и подключения концептуальной архитектуры для целевых зон Azure.

Ресурсы удостоверений

Возможности ресурсов удостоверений модуля соответствуют области проектирования идентификации и управления доступом в Cloud Adoption Framework. Эта возможность предоставляет возможность настройки политик в целевой зоне платформы удостоверений.

Примечание.

С помощью этой возможности ресурсы не развертываются. Если для переменной deploy_identity_resources задано значение true, Политика Azure назначения настроены, которые защищают ресурсы в подписке целевой зоны платформы удостоверений.

Описания модулей

В этом разделе представлен общий обзор ресурсов, развернутых этим модулем.

Уровень Тип ресурса Description Полезные ссылки
Основные сведения Группы управления Группы управления — это ресурсы самого высокого уровня в клиенте Azure. Группы управления позволяют более легко управлять ресурсами. Вы можете применить политику на уровне группы управления, а ресурсы более низкого уровня наследуют эту политику. В частности, можно применить следующие элементы на уровне группы управления, наследуемые подписками в группе управления:
  • Политики Azure
  • Назначения ролей на основе ролей Azure на основе контроль доступа ролей (RBAC)
  • Элементы управления затратами
Основные сведения Определения политик, назначения политик и определения наборов политик DeployIfNotExists (DINE) или Изменить политики помогают обеспечить соответствие подписок и ресурсов, составляющих целевые зоны. Политики назначаются группам управления с помощью назначений политик. Политики упрощают управление целевыми зонами. Наборы определений политик группирует наборы политик вместе.

Не все клиенты могут использовать политики DINE или Modify. Если это так, руководство CAF по пользовательским политикам предоставляет рекомендации.
Основные сведения Определения ролей и назначения ролей Управление доступом на основе ролей (RBAC) упрощает управление правами пользователей в системе. Вместо управления правами отдельных лиц вы определяете права, необходимые для различных ролей в вашей системе. Azure RBAC имеет несколько встроенных ролей. Пользовательские определения ролей позволяют создавать пользовательские роли для вашей среды.

Управление удостоверениями и доступом (IAM) — это ключевая граница безопасности в облачных вычислениях. Azure RBAC позволяет выполнять назначения ролей встроенных ролей или пользовательских определений ролей субъектам-службам, управляемым удостоверениям или группам безопасности между группами управления и подписками.
Управление Azure Monitor, служба автоматизации Azure и Microsoft Sentinel Azure Monitor, служба автоматизации Azure и Microsoft Sentinel позволяют отслеживать инфраструктуру и рабочие нагрузки и управлять ими. Azure Monitor — это решение, которое позволяет собирать, анализировать и действовать на телеметрии из вашей среды.

Microsoft Sentinel — это облачная информация о безопасности и управление событиями (SIEM). Оно предоставляет следующие возможности.
  • Сбор данных — сбор данных во всей инфраструктуре
  • Обнаружение — обнаружение угроз, которые ранее не были обнаружены
  • Ответ. Реагирование на законные угрозы с помощью встроенной оркестрации
  • Исследование — исследование угроз с помощью искусственного интеллекта

служба автоматизации Azure — это облачная система автоматизации. Сюда входят:
  • Управление конфигурацией — инвентаризация и отслеживание изменений для виртуальных машин Linux и Windows и управление требуемой конфигурацией состояния
  • Управление обновлениями. Оценка соответствия систем Windows и Linux и создание запланированных развертываний для соответствия требованиям
  • Автоматизация процессов — автоматизация задач управления
Подключение Основные типы сетевых ресурсов, перечисленные здесь Топология сети является ключевым аспектом в развертываниях целевой зоны Azure. CAF фокусируется на двух основных сетевых подходах:
  • Топологии на основе Azure Виртуальная глобальная сеть
  • Традиционные топологии
Подключение Защита от атак DDoS Azure Руководство по целевой зоне Azure рекомендует включить защиту сети DDoS Azure. Эта служба обеспечивает отключаемую защиту от атак DDoS.
Подключение Канал виртуальная сеть зон DNS, зон Частная зона DNS и Частная зона DNS зоны Частная зона DNS зоны можно развернуть для поддержки использования частных конечных точек. Частная конечная точка — это сетевой адаптер, которому назначен частный IP-адрес из виртуальной сети. Частный IP-адрес можно использовать для безопасного взаимодействия со службами, поддерживающими Приватный канал Azure. Частная зона DNS зоны можно настроить для разрешения полного доменного имени службы на частный IP-адрес частной конечной точки.

Использование модуля Terraform

Развертывание основных ресурсов

По умолчанию модуль развертывает следующую иерархию, которая является основным набором групп управления целевой зоной:

  • Корень
    • Платформа
      • Идентификация
      • Управление
      • Подключение
    • Целевые зоны
    • Выведенные из использования
    • Песочница

Группы управления целевыми зонами SAP, Corp и Online не применяются ко всем пользователям, поэтому они не развертываются по умолчанию. Ниже приведены способы развертывания следующих способов.

  1. Для демонстрационных целей можно задать для переменной deploy_demo_landing_zones значение true, которое будет развертывать целевые зоны SAP, Corp и Online.
  2. В рабочих целях можно включить группы управления, которые требуется, установив для следующих переменных значение true:
    • deploy_corp_landing_zones
    • deploy_online_landing_zones
    • deploy_sap_landing_zones
  3. Вы можете развернуть собственные группы управления целевой зоной, создав пользовательское определение целевой зоны .

Развертывание ресурсов управления

Чтобы развернуть ресурсы управления, переменная должна иметь значение true, deploy_management_resources а subscription_id_management переменная должна иметь идентификатор подписки управления, в которой будут развернуты ресурсы.

deploy_management_resources = true
subscription_id_management = <management subscription id>

Развертывание ресурсов подключения

Развертывание ресурсов подключения содержит рекомендации по развертыванию этих топологий.

Развертывание ресурсов удостоверений

Чтобы развернуть возможность идентификации, переменная должна иметь значение true, deploy_identity_resources а subscription_id_identity переменная должна иметь идентификатор подписки удостоверения, в которой настроены политики.

deploy_identity_resources = true
subscription_id_identity = <identity subscription id>

Настройка реализации Terraform

Реализации целевой зоны Azure, предоставляемые в рамках Cloud Adoption Framework, соответствуют широкому спектру требований и вариантов использования. Однако часто существуют сценарии, в которых требуется настройка для удовлетворения конкретных бизнес-потребностей.

Модуль Terraform целевых зон Azure можно использовать в качестве основы настраиваемого развертывания. Он предоставляет способ ускорить реализацию, удалив необходимость начать с нуля из-за определенного необходимого изменения, которое правила готовый вариант.

Логотип GitHub Сведения о настройке модулей доступны в репозитории GitHub wiki GitHub: модуль Terraform для целевых зон Azure — Wiki. Ее можно использовать в качестве отправной точки и настроить ее в соответствии с вашими потребностями.