Целевые зоны 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 этапа:
- Необходимые условия: инструкции по настройке учетных данных и подписок.
- Начальная загрузка: запустите скрипт PowerShell для создания среды непрерывной доставки.
- Запустите: обновите модуль (при необходимости), чтобы соответствовать потребностям организации и развертывать с помощью непрерывной доставки.
Начните с руководства пользователя, пошагового руководства, чтобы получить среду Целевой зоны Azure и запустить ее.
Проект
Архитектура использует настраиваемую природу Terraform и состоит из основного модуля оркестрации. Этот модуль инкапсулирует несколько возможностей концептуальной архитектуры целевых зон Azure. Вы можете развернуть каждую возможность отдельно или частично. Например, можно развернуть только центральную сеть или только службу защиты от атак DDoS Azure или только ресурсы DNS. При этом необходимо учитывать, что возможности имеют зависимости.
Архитектура использует подход оркестратора для упрощения развертывания. Вы можете реализовать каждую возможность с помощью одного или нескольких экземпляров выделенного модуля, где каждая из них выделена для определенной части архитектуры. Это все возможно с правильной конфигурацией
Модули
Основная концепция Terraform — это использование модулей. Модули позволяют упорядочивать развертывания в логические группировки. С помощью модулей вы улучшаете удобочитаемость файлов Terraform, инкапсулируя сложные сведения о развертывании. Кроме того, модули можно многократно использовать для разных развертываний.
Возможность повторного использования модулей обеспечивает реальную выгоду при определении и развертывании целевых зон. Это позволяет повторяться, согласованные среды в коде, уменьшая усилия, необходимые для развертывания в масштабе.
Реализация целевых зон Azure Terraform поставляется с помощью одного модуля, который выступает в качестве слоя оркестрации. Уровень оркестрации позволяет выбрать, какие ресурсы развертываются и управляются с помощью модуля. Модуль можно использовать несколько раз в одной среде для развертывания ресурсов независимо друг от друга. Это может быть полезно в организациях, где разные команды отвечают за различные возможности или коллекции вложенных ресурсов.
Слои и промежуточные
Реализация ориентирована на центральную иерархию ресурсов концептуальной архитектуры целевой зоны Azure. Проектирование сосредоточено на следующих возможностях:
- Основные ресурсы
- Ресурсы управления
- Ресурсы подключения
- Ресурсы удостоверений
Модули группируют ресурсы в эти возможности, так как они предназначены для развертывания вместе. Эти группы образуют логические этапы реализации.
Вы управляете развертыванием каждой из этих возможностей с помощью флагов компонентов. Преимуществом этого подхода является возможность добавлять в среду постепенно с течением времени. Например, можно начать с небольшого количества возможностей. Остальные возможности можно добавить на более позднем этапе, когда вы будете готовы.
Основные ресурсы
Основные ресурсы модуля соответствуют области проектирования организации ресурсов в Cloud Adoption Framework. Он развертывает базовые ресурсы концептуальной архитектуры для целевых зон Azure.
Архетипов
Важной концепцией в основных ресурсах является включение архетипов.
Архетипы обеспечивают многократно используемый подход на основе кода для определения определений политик, определений наборов политик, назначений политик, определений ролей и назначений ролей, которые должны применяться в заданной области. В реализации 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. Группы управления позволяют более легко управлять ресурсами. Вы можете применить политику на уровне группы управления, а ресурсы более низкого уровня наследуют эту политику. В частности, можно применить следующие элементы на уровне группы управления, наследуемые подписками в группе управления:
|
|
Основные сведения | Определения политик, назначения политик и определения наборов политик | 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 — это облачная система автоматизации. Сюда входят:
|
|
Подключение | Основные типы сетевых ресурсов, перечисленные здесь | Топология сети является ключевым аспектом в развертываниях целевой зоны Azure. CAF фокусируется на двух основных сетевых подходах:
|
|
Подключение | Защита от атак DDoS Azure | Руководство по целевой зоне Azure рекомендует включить защиту сети DDoS Azure. Эта служба обеспечивает отключаемую защиту от атак DDoS. | |
Подключение | Канал виртуальная сеть зон DNS, зон Частная зона DNS и Частная зона DNS зоны | Частная зона DNS зоны можно развернуть для поддержки использования частных конечных точек. Частная конечная точка — это сетевой адаптер, которому назначен частный IP-адрес из виртуальной сети. Частный IP-адрес можно использовать для безопасного взаимодействия со службами, поддерживающими Приватный канал Azure. Частная зона DNS зоны можно настроить для разрешения полного доменного имени службы на частный IP-адрес частной конечной точки. |
Использование модуля Terraform
Развертывание основных ресурсов
По умолчанию модуль развертывает следующую иерархию, которая является основным набором групп управления целевой зоной:
- Корень
- Платформа
- Идентификация
- Управление
- Подключение
- Целевые зоны
- Выведенные из использования
- Песочница
- Платформа
Группы управления целевыми зонами SAP, Corp и Online не применяются ко всем пользователям, поэтому они не развертываются по умолчанию. Ниже приведены способы развертывания следующих способов.
- Для демонстрационных целей можно задать для переменной
deploy_demo_landing_zones
значение true, которое будет развертывать целевые зоны SAP, Corp и Online. - В рабочих целях можно включить группы управления, которые требуется, установив для следующих переменных значение true:
deploy_corp_landing_zones
deploy_online_landing_zones
deploy_sap_landing_zones
- Вы можете развернуть собственные группы управления целевой зоной, создав пользовательское определение целевой зоны .
Развертывание ресурсов управления
Чтобы развернуть ресурсы управления, переменная должна иметь значение 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, соответствуют широкому спектру требований и вариантов использования. Однако часто существуют сценарии, в которых требуется настройка для удовлетворения конкретных бизнес-потребностей.
Совет
Дополнительные сведения см. в статье "Настройка архитектуры целевой зоны Azure" в соответствии с требованиями .
Модуль Terraform целевых зон Azure можно использовать в качестве основы настраиваемого развертывания. Он предоставляет способ ускорить реализацию, удалив необходимость начать с нуля из-за определенного необходимого изменения, которое правила готовый вариант.
Сведения о настройке модулей доступны в репозитории GitHub wiki GitHub: модуль Terraform для целевых зон Azure — Wiki. Ее можно использовать в качестве отправной точки и настроить ее в соответствии с вашими потребностями.