Создание гибридной сети со звездообразной топологией с помощью Terraform в Azure
Terraform поддерживает определение, предварительный просмотр и развертывание облачной инфраструктуры. С помощью Terraform можно создавать файлы конфигурации с применением синтаксиса HCL. Синтаксис HCL позволяет указать поставщика облачных служб, например Azure, и элементы, составляющие облачную инфраструктуру. После создания файлов конфигурации создается план выполнения, который позволяет предварительно просматривать изменения инфраструктуры до их развертывания. После проверки изменений примените план выполнения для развертывания инфраструктуры.
В этой серии статей показано, как использовать Terraform для реализации в Azure звездообразной топологии сети.
Звездообразная топология — это способ изоляции рабочих нагрузок при совместном использовании общих служб. В число этих служб входят службы идентификации и обеспечения безопасности. Концентратор — это виртуальная сеть, которая выступает в качестве центральной точки подключения к локальной сети. Периферийные зоны — это виртуальные сети, которые устанавливают пиринг с концентратором. Общие службы развертываются в концентраторе, а отдельные рабочие нагрузки — в периферийных сетях.
Вы узнаете, как выполнять следующие задачи:
- размещение ресурсов эталонной архитектуры звездообразной гибридной сети;
- создание ресурсов устройства сети-концентратора;
- создание сети-концентратора в Azure в качестве общей точки для всех ресурсов;
- создание отдельных рабочих нагрузок в качестве периферийных виртуальных сетей в Azure;
- установка шлюзов и подключений между локальными сетями и сетями Azure;
- создание пирингов между виртуальной и периферийной сетями.
1. Настройка среды
- Подписка Azure. Если у вас нет подписки Azure, создайте бесплатную учетную запись, прежде чем начинать работу.
Настройка Terraform: если вы еще этого не сделали, настройте Terraform с помощью одного из следующих вариантов:
2. Общие сведения об архитектуре звездообразной топологии
В звездообразной топологии концентратор является виртуальной сетью. Виртуальная сеть выступает в качестве центральной точки подключения к локальной сети. Периферийные зоны — это виртуальные сети, которые устанавливают пиринг с концентратором и могут использоваться для изоляции рабочих нагрузок. Трафик передается между локальным центром обработки данных и концентратором через подключение ExpressRoute или VPN-шлюз. На следующем изображении показаны компоненты в звездообразной топологии:
Преимущества звездообразной топологии
Звездообразная топология сети — это способ изоляции рабочих нагрузок при совместном использовании общих служб. В число этих служб входят службы идентификации и обеспечения безопасности. Концентратор — это виртуальная сеть, которая выступает в качестве центральной точки подключения к локальной сети. Периферийные зоны — это виртуальные сети, которые устанавливают пиринг с концентратором. Общие службы развертываются в концентраторе, а отдельные рабочие нагрузки — в периферийных сетях. Ниже приведены некоторые преимущества звездообразной топологии сети.
- Сокращение затрат путем централизации служб в одном расположении, которое можно использовать для нескольких рабочих нагрузок. К этим рабочим нагрузкам относятся виртуальные сетевые модули и DNS-серверы.
- Превышение лимитов подписки путем пиринга виртуальных сетей из разных подписок к центральному концентратору.
- Разделение областей ответственности между центральным ИТ-отделом (SecOps, InfraOps) и рабочими нагрузками (DevOps).
Стандартные варианты использования звездообразной архитектуры
Ниже перечислены некоторые стандартные варианты использования звездообразной архитектуры.
- У многих клиентов есть рабочие нагрузки, развернутые в различных средах. Это могут быть среды для разработки, тестирования, а также рабочие среды. Во многих случаях в этих рабочих нагрузках должны совместно использоваться службы, такие как DNS, IDS, NTP или доменные службы Active Directory. Эти общие службы могут размещаться в виртуальной сети-концентраторе. Таким образом, каждая среда развертывается в периферийной зоне для обеспечения изоляции.
- Рабочие нагрузки, которые не требуют подключения друг к другу, но требуют доступа к общим службам.
- Предприятия, которым требуется централизованный контроль аспектов безопасности.
- Предприятия, которым необходимо отдельно управлять рабочими нагрузками в каждой периферийной зоне.
3. Предварительный просмотр демонстрационных компонентов
При работе с каждой статье из этой серии вы будете определять различные компоненты в разных скриптах Terraform. Созданная и развернутая демонстрационная архитектура состоит из следующих компонентов.
Локальная сеть. Частная локальная сеть, работающая в пределах организации. Для эталонной звездообразной архитектуры виртуальная сеть в Azure используется для моделирования локальной сети.
VPN-устройство. VPN-устройство или служба предоставляет возможность внешнего подключения к локальной сети. В качестве VPN-устройства может использоваться аппаратное устройство или программное решение.
Виртуальная сеть концентратора. Концентратор представляет собой центральную точку подключения к локальной сети и место для размещения служб. Эти службы могут использоваться различными рабочими нагрузками, размещенными в периферийных виртуальных сетях.
Подсеть шлюза. Шлюзы виртуальных сетей хранятся в одной подсети.
Виртуальные сети периферийных зон. Периферийные зоны можно использовать для изоляции рабочих нагрузок в их виртуальных сетях, управляемых отдельно от других периферийных зон. Каждая рабочая нагрузка может содержать несколько уровней с несколькими подсетями, подключенными через подсистемы балансировки нагрузки Azure.
Пиринговая связь между виртуальными сетями. Две виртуальные сети можно подключить между собой с помощью пирингового подключения. Пиринговые подключения представляют собой нетранзитивные подключения между виртуальными подсетями с низкой задержкой. После установки пирингового подключения виртуальные сети обмениваются трафиком по магистрали Azure без необходимости использования маршрутизатора. В звездообразной топологии сети пиринг виртуальной сети используется для подключения концентратора к каждой периферийной зоне. Пиринг можно создать между виртуальными сетями в одном или в разных регионах.
4. Реализация кода Terraform
Создайте каталог, содержащий пример кода для всей серии из нескольких статей.
Создайте файл с именем
main.tf
и вставьте следующий код:terraform { required_version = ">=0.12" required_providers { azurerm = { source = "hashicorp/azurerm" version = "~>2.0" } } } provider "azurerm" { features {} }
Создайте файл с именем
variables.tf
, содержащий переменные проекта, и вставьте следующий код:variable "location" { description = "Location of the network" default = "eastus" } variable "username" { description = "Username for Virtual Machines" default = "azureuser" } variable "password" { description = "Password for Virtual Machines" } variable "vmsize" { description = "Size of the VMs" default = "Standard_DS1_v2" }
Основные моменты:
- В этой статье используется пароль, введенный при вызове
terraform plan
. В реальных приложениях рекомендуется использовать пару открытого и закрытого SSH-ключей. - Дополнительные сведения см. в статье об использовании SSH-ключей с Windows в Azure.
- В этой статье используется пароль, введенный при вызове
Устранение неполадок с Terraform в Azure
Устранение распространенных проблем при использовании Terraform в Azure
Следующие шаги
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по