Разработка гибридного решения системы доменных имен (DNS) с помощью Azure

Бастион Azure
Azure DNS
Azure ExpressRoute
Виртуальная сеть Azure

Правильное задание и проектирование ландшафта системы доменных имен (DNS) является критическим этапом реализации целевой зоны Azure. DNS должен работать во всей вашей инфраструктуре для поддержки потоков разрешения гибридных имен. Локальные системы должны иметь возможность разрешать домены, размещенные в Azure, а ресурсы Azure должны иметь доступ к доменам, локально размещенным. DNS также играет важную роль в Приватный канал Azure, который обеспечивает сетевую безопасность для платформы Azure как услуги (PaaS).

В этой архитектуре описывается проектирование гибридного решения DNS, разрешающего домены для рабочих нагрузок, размещенных в Microsoft Azure, локальной среде или в других облаках.

Архитектура

Схема, демонстрирующая гибридную архитектуру DNS.

На схеме показана гибридная архитектура DNS. Она включает локальную сеть и две подписки, подключение и рабочую нагрузку. Локальный раздел слева включает DNS-серверы и локальные VPN-подключения или завершение Azure ExpressRoute. Двусторонняя стрелка направлена от завершения локального VPN/ExpressRoute к шлюзу VPN/ExpressRoute в подсети шлюза (10.0.1.0/27). Подписка на подключение в центре включает два основных раздела: виртуальную сеть общих служб (10.1.0.0.0/16) и виртуальную сеть концентратора (10.0.0.0/16). Двунаправленная стрелка с меткой связи виртуальной сети DNS указывает из частной зоны DNS Azure в виртуальную сеть общих служб. Две двусторонние стрелки указывают от набора пересылки правил и Azure DNS Private Resolver к конечной точке исходящего трафика (10.1.0.0/26). Другая двойная стрелка указывает от частного сопоставителя DNS на конечную точку входа (10.1.0.64/26). Пиринг между виртуальными сетями подключает виртуальные сети. Виртуальная сеть концентратора включает подсеть шлюза и подсеть Брандмауэр Azure. Брандмауэр Azure использует входную конечную точку DNS частного сопоставителя в качестве своего DNS-сервера (10.1.0.68). Подписка на нагрузку справа состоит из двух частей: подсеть нагрузки (10.2.1.0/24), включенная в виртуальную сеть \"Spoke\" (10.2.0.0/16), и пользовательские DNS-серверы (10.0.1.68). Пиринг между виртуальными сетями подключает виртуальную сеть концентратора и периферийную виртуальную сеть.

Скачайте файл Visio этого содержимого.

Рабочий процесс

В этом разделе объясняется, как работают потоки гибридного разрешения в двух основных случаях:

  • Рабочая нагрузка Azure пытается резолвить доменное имя для системы, размещенной на локальной площадке.
  • Локальная рабочая нагрузка пытается разрешить доменное имя для системы, размещенной в Azure.

Из Azure на локальный компьютер

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

Схема, показывающая гибридное разрешение из Azure в локальную среду.

Схема, показывающая гибридное разрешение из Azure в локальную среду. Она включает локальную сеть и две подписки, подключение и рабочую нагрузку. Раздел локальной инфраструктуры слева включает в себя DNS-серверы и точку завершения VPN/ExpressRoute. Подписка на подключение в центре включает два основных раздела: виртуальную сеть общих служб и виртуальную сеть концентратора. Двунаправленная стрелка, помеченная как ссылка виртуальной сети DNS, указывает от частной зоны DNS Azure в виртуальную сеть общих служб. Двусторонние стрелки указывают от правил пересылки и частного сопоставителя DNS на исходящий конечный узел (10.1.0.0/26). Другая двойная стрелка указывает от частного сопоставителя DNS на конечную точку входа (10.1.0.64/26). Пиринг между виртуальными сетями подключает виртуальные сети. Виртуальная сеть концентратора включает как подсети шлюза, так и подсети брандмауэра Azure. Подсеть шлюза (10.0.1.0/27) включает VPN или шлюз ExpressRoute. Подсеть Брандмауэр Azure (10.0.1.64/26) содержит Брандмауэр Azure, расположенный по адресу 10.0.1.68. Брандмауэр настроен на использование DNS-сервера с адресом 10.1.0.68 в виртуальной сети общих служб, а IP-адрес брандмауэра, 10.0.1.68, задан в качестве пользовательских DNS-серверов для периферийной или сети виртуальных нагрузок. Подписка на нагрузку справа состоит из двух частей: подсеть нагрузки (10.2.1.0/24), включенная в виртуальную сеть \"Spoke\" (10.2.0.0/16), и пользовательские DNS-серверы (10.0.1.68). На схеме есть четыре шага. На шаге 1 стрелка указывает из рабочей нагрузки в разделе подписки на рабочую нагрузку в брандмауэр Azure в виртуальной сети концентратора. На шаге 2 стрелка указывает из подсети брандмауэра Azure на конечную точку входящего трафика в виртуальной сети общих служб. На шаге 3 стрелка указывает от исходящей конечной точки к DNS-серверам в локальном разделе. DNS-серверы помечены на шаге 4.

  1. Рабочая нагрузка отправляет DNS-запрос на Брандмауэр Azure, так как IP-адрес Брандмауэр Azure (10.0.1.68) настроен как пользовательский DNS-сервер в виртуальной сети.

  2. Брандмауэр Azure перенаправляет DNS-запрос в точку входящего соединения Azure DNS частного резольвера (10.1.0.68).

  3. Если частный сопоставитель DNS находит совпадение в наборах правил, связанных с исходящими конечными точками, он перенаправит DNS-запрос на целевой объект, указанный в правиле, который должен быть локальными DNS-серверами.

  4. Один из локальных DNS-серверов разрешает DNS-запрос.

Предыдущая модель в этой статье использует IP-адрес входящей конечной точки в качестве настраиваемого DNS-сервера. Эта модель является централизованной архитектурой DNS в архитектуре частного сопоставителя. Частный сопоставитель DNS также предоставляет внешнее разрешение DNS путем связывания наборов правил пересылки DNS с виртуальными сетями, которая является распределенной архитектурой DNS. Если вы связываете набор правил пересылки с виртуальной сетью концентратора, настройте брандмауэр Azure для использования Azure DNS в качестве DNS-сервера. IP-адрес 168.63.129.16 представляет Azure DNS в Azure.

Из локальной среды в Azure

Локальные системы могут потребовать разрешения имён для рабочих нагрузок, развернутых в Azure, или для частных конечных точек служб Azure PaaS. Это разрешение имен следует этому рабочему процессу.

Схема, показывающая гибридное разрешение из локальной среды в Azure.

Схема, показывающая гибридное разрешение из локальной среды в Azure. Архитектура включает три основных раздела подписки: локальную среду, подключение и рабочую нагрузку. Локальный раздел слева включает рабочую нагрузку, DNS-серверы и локальное завершение VPN или ExpressRoute. На шаге 1 стрелка указывает от рабочей нагрузки на DNS-серверы. На шаге 2 стрелка указывает с DNS-серверов на подсеть брандмауэра Azure в центральной виртуальной сети. Подписка на подключение в центре включает два основных раздела: виртуальную сеть общих служб и виртуальную сеть концентратора. Двунаправленная стрелка с меткой связь виртуальной сети DNS указывает от частной зоны DNS Azure к виртуальной сети общих служб. Двусторонние стрелки указывают от правил пересылки и частного сопоставителя DNS на исходящий конечный узел (10.1.0.0/26). Другая двойная стрелка указывает от частного сопоставителя DNS на конечную точку входа (10.1.0.64/26). Виртуальная сеть концентратора включает подсеть шлюза и подсеть брандмауэра Azure. Подсеть шлюза (10.0.1.0/27) включает VPN или шлюз ExpressRoute. Подсеть Брандмауэр Azure (10.0.1.64/26) включает dns-сервер Брандмауэр Azure (10.1.0.68). Пиринг между виртуальными сетями подключает виртуальную сеть общих служб и виртуальную сеть концентратора. На шаге 3 стрелка указывает из подсети брандмауэра Azure на конечную точку входящего трафика в виртуальной сети общих служб. На шаге 4 частный сопоставитель DNS разрешает запросы для любой частной зоны DNS, связанной с виртуальной сетью, в которой она развернута. Подписка на нагрузку справа состоит из двух частей: подсеть нагрузки (10.2.1.0/24), включенная в виртуальную сеть \"Spoke\" (10.2.0.0/16), и пользовательские DNS-серверы (10.0.1.68).

  1. Локальная рабочая нагрузка отправляет DNS-запрос на локальный DNS-сервер.

  2. Локальный DNS-сервер перенаправит запрос на IP-адрес Брандмауэр Azure (10.0.1.68), основываясь на настроенных правилах условной пересылки.

  3. Брандмауэр Azure перенаправит DNS-запрос на IP-адрес входящей конечной точки частного сопоставителя DNS (10.1.0.68).

  4. Приватный резольвер DNS разрешает доменное имя, если оно соответствует одной из частных зон DNS Azure, которые связаны с его виртуальной сетью.

Компоненты

  • Локальная сеть представляет один центр обработки данных, который подключается к Azure через подключение Azure ExpressRoute или VPN. В этой архитектуре следующие компоненты составляют локальную сеть:

    • DNS-серверы представляют один или несколько серверов, которые работают в качестве сопоставителя имен для локальных систем. Эти серверы необходимо настроить с помощью правил условной пересылки, которые отправляют DNS-запросы для систем Azure или частных конечных точек в входящую конечную точку для приватного DNS-резольвера. Наборы правил пересылки Azure DNS ссылаются на IP-адреса локальных DNS-серверов для доменов, размещенных локально.

    • Локальный шлюз представляет либо устройство завершения VPN, либо маршрутизатор, который подключается к ExpressRoute и обеспечивает частное подключение к среде Azure.

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

    • Azure Virtual Network является основным строительным блоком для частных сетей в Azure. В этой архитектуре виртуальные сети подключаются к Azure ресурсам, таким как виртуальные машины, поддерживают взаимодействие с Интернетом и локальными сетями и используют подсети для упорядочивания ресурсов.

      • Виртуальная сеть концентратора — это центральная виртуальная сеть , в которую размещаются ресурсы подключения. В этой архитектуре она включает шлюзы виртуальной сети, Брандмауэр Azure, программно-определяемые WAN (SD-WAN) виртуальные сетевые устройства (NVA) и виртуальные устройства брандмауэра (NVA).

        • Подсеть шлюза — это выделенная подсеть, на которую размещаются шлюзы виртуальной сети. В этой архитектуре размещается VPN-шлюз Azure или ExpressRoute, который обеспечивает подключение к локальному центру обработки данных.

        • Подсеть Брандмауэр Azure — это выделенная подсеть с /26 сетевой маской, содержащая Брандмауэр Azure. В этой архитектуре брандмауэр Azure фильтрует трафик и предоставляет службы DNS-прокси. Дополнительные сведения см. в статье "Требования к размеру подсети брандмауэра Azure /26".

      • Виртуальная сеть общих служб — это виртуальная сеть, в которой размещаются ресурсы, предоставляющие службы нескольким рабочим нагрузкам. В этой архитектуре он размещает DNS-серверы и другие общие ресурсы. Если вы используете самоуправляемую архитектуру концентратора и периферийных узлов, вы можете переместить общие службы в виртуальную сеть концентратора, чтобы уменьшить количество прыжков пиринга между рабочими нагрузками и общими службами. При настройке маршрутизации не переопределите системный маршрут для адресного пространства концентратора в периферийных виртуальных сетях. Вместо этого примените определяемые пользователем маршруты только к определенным подсетям, которые должны достигать общих служб. Этот подход помогает предотвратить асимметричную маршрутизацию, особенно если брандмауэры находятся в пути. Дополнительные сведения см. в статье "Рабочая нагрузка виртуальной сети Концентратора".

      • Пиринг между двумя виртуальными сетями — это подключение между двумя виртуальными сетями, которое позволяет ресурсам обмениваться данными в частном порядке. В этой архитектуре пиринги подключают периферийные виртуальные сети к концентратору и предоставляют им подключение к остальной части среды. Настройте пиринг виртуальной сети для использования шлюза виртуальной сети (VPN или ExpressRoute) в концентраторе так, чтобы шлюз распространял префиксы IP-адресов виртуальной сети рабочих нагрузок и общих служб в локальную сеть.

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

      • Наборы правил пересылки DNS — это коллекции правил, указывающие, какие домены имен перенаправляются на внешние DNS-серверы. В этой архитектуре наборы правил включают все локальные домены и IP-адреса локальных DNS-серверов в качестве целевых объектов пересылки. Вы связываете правила пересылки с виртуальными сетями для обеспечения внешнего разрешения DNS. На предыдущей схеме показана централизованная архитектура DNS для разрешения внешних имен с помощью частного сопоставителя DNS. Эта архитектура требует связывания набора правил пересылки с виртуальной сетью, в которой развертывается частный сопоставитель, в указанной архитектуре являющийся виртуальной сетью общих служб.

      • Подсеть входящей конечной точки: DNS-запросы к частному резолверу DNS должны направляться к IP-адресу его входящей конечной точки. Этот адрес настраивается в правилах пересылки на локальных DNS-серверах и в качестве DNS-сервера для брандмауэра Azure. Минимальный размер этой подсети /28. В этом примере используется /26 диапазон для масштабируемости в случае изменения минимального размера в будущем.

      • Подсеть исходящей конечной точки: Когда частный резолвер DNS должен пересылать DNS-запросы на внешние серверы на основе правил пересылки, эти запросы осуществляются из этой подсети. Минимальный размер для входящих и исходящих подсетей конечных точек составляет /28, но эта архитектура использует /26 для целей дополнительной гибкости в случае изменения ограничений. Дополнительные сведения см. в разделе "Ограничения подсети".

    • VPN-шлюз — это шлюз виртуальной сети, который отправляет зашифрованный трафик между виртуальной сетью Azure и локальным расположением через общедоступный Интернет. Вы также можете использовать VPN-шлюз для отправки зашифрованного трафика между Azure виртуальными сетями через сеть Майкрософт. В этой архитектуре VPN-шлюз обеспечивает подключение между виртуальной сетью концентратора и локальным центром обработки данных.

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

    • Брандмауэр Azure — это облачная служба безопасности сети, которая проверяет сетевой трафик и фильтрует его на основе настроенных правил. В этой архитектуре он служит dns-прокси для поддержки полных правил сети доменных имен (FQDN) и ведения журнала DNS. Дополнительные сведения см. в статье "Dns-прокси брандмауэра Azure". Брандмауэр Azure не является доверенным сервером для dns-имени. Вместо этого он перенаправит все DNS-запросы к входящей конечной точке частного сопоставителя DNS, которая находится 10.1.0.68 в этом примере.

    • Частные зоны DNS Azure — это контейнеры, в которых размещаются записи DNS для разрешения частных имен из связанных виртуальных сетей Azure. В этой архитектуре они предоставляют разрешение DNS для рабочих нагрузок Azure, поддерживают автоматическую регистрацию виртуальных машин и интегрируются автоматически с конечными точками приватного канала через каналы виртуальной сети DNS. Рекомендуется сегментировать зоны DNS в небольшие зоны, чтобы упростить администрирование и уменьшить область влияния.

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

    • Виртуальная сеть и подсеть для загрузок: Вы можете интегрировать рабочие нагрузки в моделях инфраструктуры как услуги (IaaS), такие как виртуальные машины или наборы для масштабирования виртуальных машин, а также ресурсы PaaS, такие как Azure SQL и Служба приложений Azure, в виртуальные сети.

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

Альтернативы

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

  • Используйте виртуальную глобальную сеть Azure вместо автономного решения для концентратора и периферийной сети. В этой архитектуре виртуальный концентратор заменяет виртуальную сеть концентратора. Виртуальный концентратор — это управляемая корпорацией Майкрософт виртуальная сеть, которая поддерживает только определенные типы ресурсов. Она поддерживает брандмауэры (брандмауэры Azure и брандмауэры, отличные от Майкрософт), шлюзы виртуальной сети для VPN и ExpressRoute, а также SD-WAN NVAs. Для получения дополнительной информации см. интеграции сторонних производителей с виртуальным концентратором WAN.

  • Вам не нужно использовать Брандмауэр Azure в качестве DNS-прокси. Если вам не требуются сетевые правила Брандмауэр Azure на основе полного доменного имени (FQDN), или если вы используете не Microsoft сетевые виртуальные устройства (NVAs) в качестве брандмауэров, вы можете настроить виртуальные сети луча для использования частного сопоставителя DNS напрямую.

  • Консолидируйте общие ресурсы и виртуальные сети хаба. Вы можете развернуть частный сопоставитель DNS, DNS-серверы или другие общие ресурсы, такие как Бастион Azure или файловые ресурсы в узловой виртуальной сети. Этот подход работает только в том случае, если вы не используете виртуальную глобальную сеть. Если у вас есть брандмауэр Azure в виртуальной сети концентратора, будьте внимательны к маршрутизации из периферийных виртуальных сетей в подсеть общих служб. В UDR укажите только префикс подсети общих служб, а не весь диапазон виртуальной сети концентратора.

  • Используйте контроллеры домена Active Directory, которые работают на виртуальных машинах Azure в качестве DNS-серверов. В этом случае вы запускаете виртуальные машины контроллера домена в подписке идентификации, а контроллеры домена заменяют функциональные возможности частного резольвера DNS. Дополнительные сведения см. в статье "Развертывание служб домен Active Directory (AD DS) в виртуальной сети Azure.

  • Разверните пользовательское программное обеспечение DNS-сервера, например BIND, которое выполняется на виртуальных машинах вместо частного сопоставителя DNS. Этот параметр добавляет затраты на управление, но обеспечивает большую гибкость. Если ваша организация знакома с серверами с открытым исходным кодом, например BIND, вы можете использовать ту же технологию в Azure.

  • Используйте частный сопоставитель DNS для рабочих нагрузок, если у вас есть брандмауэр, отличный от Майкрософт, который не должен находиться в пути разрешения DNS для поддержки таких функций, как правила на основе FQDN. Настройте IP-адрес входящей конечной точки в качестве пользовательского DNS-сервера в виртуальной сети рабочей нагрузки или свяжите набор правил пересылки DNS с виртуальной сетью рабочей нагрузки. Затем настройте IP-адрес входящей конечной точки частного сопоставителя DNS в качестве целевой точки в локальных правилах условной пересылки DNS.

  • Группы безопасности сети (NSG) можно использовать в подсетях входящих и исходящих конечных точек для dns Private Resolver, но убедитесь, что они не блокируют DNS-запросы. Вы также можете применить UDR к этим подсетям для отправки трафика DNS через NVA, но убедитесь, что они не блокируют трафик DNS или проверки работоспособности Azure Load Balancer с внутреннего IP-адреса платформы Azure 168.63.129.16.

  • Вы можете использовать SD-WAN технологии вместо VPN или ExpressRoute, но базовая архитектура DNS не изменяется.

Многорегиональный дизайн

Рекомендуется распространять рабочие нагрузки по нескольким регионам, чтобы повысить их устойчивость к региональным катастрофическим событиям. Разрешение DNS следует тому же принципу. Если целевая зона платформы охватывает два или более регионов, разверните частный сопоставитель DNS в каждом регионе. В этой настройке локальные DNS-серверы должны использовать правила пересылки, которые включают брандмауэры (или частные точки входящего резолвера) обеих локаций, чтобы они могли продолжать разрешать имена Azure DNS во время регионального сбоя Azure.

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

Глобальные частные зоны DNS

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

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

Она включает два локальных сегмента сети и два типа подписок: подключение и рабочие нагрузки. Каждая подписка распространяется по двум регионам. Разделы локальной инфраструктуры слева включают серверы DNS и окончание локального подключения VPN/ExpressRoute в каждом регионе. Подписка на подключение в центре включает два основных региона, каждый из которых состоит из двух виртуальных сетей: виртуальной сети общих служб и виртуальной сети концентратора. Двусторонняя стрелка соединяет частную зону DNS Azure с виртуальными сетями общих сервисов в каждом регионе. Стрелка во второй регион помечена как ссылка виртуальной сети DNS. Две двусторонние стрелки от каждого набора правил пересылки и частного резолвера DNS к исходящей конечной точке в каждом регионе (10.1.0.4/26 в одном регионе, 10.9.0.4/26 в другом). Другая двойная стрелка указывает из каждого частного резолвера DNS на входную конечную точку в каждом регионе (10.1.0.68/26 в одном регионе, 10.9.0.68 в другом). Пиринг между виртуальными сетями подключает виртуальную сеть общих служб с центром в каждом регионе. Обе центральные виртуальные сети также соединены друг с другом через пиринг. Каждая виртуальная сеть концентратора включает как шлюз, так и подсеть Брандмауэр Azure. Подсеть шлюза (10.0.1.0/27 в одном регионе, 10.8.1.0/27 в другом) включает шлюз VPN/ExpressRoute. Подсеть Брандмауэр Azure, которая использует диапазон адресов 10.0.1.64/26 в одном регионе и 10.8.1.64/26 в другом, содержит Брандмауэр Azure (10.0.1.68 в одном регионе, 10.8.1.68 в другом). Брандмауэр настроен для использования IP-адреса частной конечной точки в виртуальной сети общих служб (10.1.0.68 в одном регионе и 10.9.0.68 в другом регионе) в качестве DNS-сервера. IP-адрес брандмауэра 10.0.1.68 и 10.8.1.68 задаются в качестве настраиваемого DNS-сервера для периферийных или рабочих сетей в каждом регионе. Подписка на рабочую нагрузку справа также находится в двух регионах. Каждый регион состоит из двух частей: подсеть рабочей нагрузки (10.2.1.0/24 в одном регионе и 10.10.1.0/24 в другом) в периферийной виртуальной сети (10.2.0.0/16 в одном регионе и 10.10.0.0/16 в другом) и настраиваемые DNS-серверы с IP-адресом брандмауэра (10.0.1.68 в одном регионе и 10.8.1.68 в другом). Прямоугольник с одной частной зоной DNS внутри, которая соединяется с концентратором виртуальных сетей в обоих регионах. Каждая спицевая виртуальная сеть подключается к центральной виртуальной сети в каждом регионе через пиринговое подключение виртуальных сетей.

Основным преимуществом этого дизайна является его простота и согласованность:

Этот подход также представляет некоторые компромиссы:

  • В катастрофическом Azure региональном сбое вы можете потерять административный доступ к некоторым частным зонам DNS. Приватные DNS-области являются глобальными ресурсами, но развертываются в ресурсной группе, ассоциированной с определённым регионом. Azure хранит метаданные для этой группы ресурсов в этом регионе. В маловероятном случае, когда Azure Resource Manager в этом регионе становится недоступным, возможно, вы не сможете получить доступ к частным зонам DNS для просмотра метрик или внесения административных изменений. Этот риск можно устранить с помощью модулей Runbook аварийного восстановления (DR), описывающих, как перестроить частные зоны DNS в другом регионе, если этот сценарий возникает.

  • Некоторые службы PaaS Azure, поддерживающие многорегиональный доступ, рекомендуют создавать несколько региональных частных конечных точек для одного домена. Это требование также означает, что вам потребуется одинаковое количество частных зон DNS. Ниже приведены примеры таких служб:

    Другие многорегиональные службы PaaS включают код региона в каждом домене региональной конечной точки, поэтому для них не требуется несколько зон DNS. Ниже приведены примеры таких служб:

    • Хранилища служб восстановления в Azure Backup используют зону privatelink.{region}.backup.windowsazure.com.

    • кластеры Azure Data Explorer используют зону privatelink.{region}.kusto.windows.net.

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

Региональные частные зоны DNS

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

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

Схема включает два локальных сетевых раздела и две подписки, подключение и рабочую нагрузку. Каждая подписка распространяется по двум регионам. Локальные разделы слева включают DNS-серверы и локальное завершение VPN/ExpressRoute в каждом регионе. Подписка на подключение в центре включает два основных региона, каждый из которых состоит из двух виртуальных сетей: виртуальной сети общих служб и виртуальной сети концентратора. Двусторонние стрелки с метками связи виртуальной сети DNS идут от каждой частной зоны DNS Azure к каждой виртуальной сети общих служб. Две двусторонние стрелки от каждого набора правил пересылки и частного резолвера DNS к исходящей конечной точке в каждом регионе (10.1.0.4/26 в одном регионе, 10.9.0.4/26 в другом). Другая двойная стрелка указывает из каждого частного резолвера DNS на входную конечную точку в каждом регионе (10.1.0.68/26 в одном регионе, 10.9.0.68 в другом). Пиринг между виртуальными сетями подключает виртуальную сеть общих служб с центром в каждом регионе. Обе центральные виртуальные сети также соединены друг с другом через пиринг. Каждая виртуальная сеть концентратора включает как шлюз, так и подсеть Брандмауэр Azure. Подсеть шлюза (10.0.1.0/27 в одном регионе, 10.8.1.0/27) включает VPN или шлюз ExpressRoute. Подсеть Брандмауэр Azure, которая использует диапазон адресов 10.0.1.64/26 в одном регионе и 10.8.1.64/26 в другом, содержит Брандмауэр Azure (10.0.1.68 в одном регионе, 10.8.1.68 в другом). Брандмауэр настроен для использования в качестве DNS-сервера IP-адрес частной конечной точки в каждом регионе (10.1.0.68 и 10.9.0.68 соответственно) в виртуальной сети общих служб. IP-адрес брандмауэра 10.0.1.68 и 10.8.1.68 задаются в качестве настраиваемого DNS-сервера для периферийных или рабочих сетей в каждом регионе. Подписка на рабочую нагрузку справа также находится в двух регионах. Каждый регион состоит из двух частей: подсеть рабочей нагрузки (10.2.1.0/24 в одном регионе и 10.10.1.0/24 в другом) в периферийной виртуальной сети (10.2.0.0/16 в одном регионе и 10.10.0.0/16 в другом) и настраиваемые DNS-серверы с IP-адресом брандмауэра (10.0.1.68 в одном регионе и 10.8.1.68 в другом). Каждая спицевая виртуальная сеть подключается к центральной виртуальной сети в своем регионе через пиринг виртуальных сетей. Красный прямоугольник окружает частные зоны Azure DNS.

Этот подход может показаться интуитивно понятным, но он представляет высокий уровень сложности:

  • Локальные серверы пересылки DNS запрашивают только один частный сопоставитель DNS для данного домена. В результате этот частный резолвер DNS должен разрешать все записи для зон, принадлежащих ему. Это требование означает, что все частные зоны DNS должны оставаться выровненными. Так как Azure частные зоны DNS не обеспечивают встроенную репликацию, необходимо самостоятельно реплицировать записи DNS. Эти записи можно реплицировать в конвейерах развертывания инфраструктуры с помощью инфраструктуры в качестве кода (IaC) или использовать сценарии после развертывания, поддерживающие согласованность зон DNS.

  • Если вам нужны разные зоны DNS для возврата разных записей, разрешение из локальной среды может быть не согласовано. Для более подробной информации, см. Соображения по переключению для учетных записей Azure Cosmos DB с частными конечными точками и Соображения по переключению для учетных записей хранилища с частными конечными точками. Не все DNS-серверы ведут себя одинаково при обработке правил пересылки, которые имеют более одного целевого DNS-сервера.

    • Серверы BIND, использующие версию ранее 9.4, CoreDNS и Windows DNS-серверы осуществляют запросы к вышестоящим DNS-серверам по порядку. Они используют DNS-сервер, настроенный в правиле условной пересылки, только если все более ранние серверы в списке недоступны. В результате разрешение DNS для этих серверов предсказуемо в обычных условиях, так как они возвращают записи, настроенные в частной зоне DNS, ближе всего к локальному DNS-серверу.

      • В Windows Server 2012 была представлена функция динамического переупорядочивания пересылки, при которой сервер изменяет порядок пересылок на основе измеренных времен отклика. Это поведение можно отключить с помощью PowerShell (Set-DnsServerForwarder -EnableReordering $False) для обеспечения строгого последовательного использования указанного порядка.

      • CoreDNS по умолчанию использует распределение в циклически очередном порядке. Его можно настроить для использования детерминированного порядка, задав политику в подключаемом модуле пересылки sequential.

    • Другие DNS-серверы, такие как современная BIND (версия 9.4 или более поздняя) и Infoblox, предпочитают серверы с наименьшей задержкой. Чтобы измерить время отклика, они отправляют часть DNS-запросов на все целевые серверы, настроенные в правилах пересылки. В результате некоторые локальные разрешения имен могут быть перенаправлены в другой регион Azure, который может вернуть другой IP-адрес и сделать локальное разрешение имен недетерминированным.

    • Некоторые DNS-серверы, такие как dnsmasq, поддерживают параллельные запросы к нескольким серверам (с помощью --all-servers параметра) и используют ответ, поступающий первым. Это поведение также настраивается.

DNS-сервер перемещается на следующий сервер в списке целевых объектов пересылки, только если вышестоящий DNS-сервер недоступен. Он не перемещается, когда вышестоящий сервер возвращает NXDOMAIN (запрошенный домен не существует) или SERVFAIL (ошибка произошла во время процесса разрешения).

Из-за этой сложности и зависимостей, которые существуют в каждой реализации DNS-сервера, рекомендуется использовать структуру с одной зоной, когда это возможно.

Рекомендации

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

Расширение AD DS в Azure (необязательно)

Если ваша организация использует Active Directory интегрированные зоны DNS для разрешения имен, расширьте домен Active Directory до Azure. Этот подход требует дополнительного набора контроллеров домена Active Directory, работающих в виртуальной сети Azure, предпочтительно размещённых в подписке на удостоверение личности, описанной ранее.

Настройка DNS с разделением мозга

Если у вас есть приложения, к которым пользователи обращаются внутренне и внешне через общедоступный Интернет, путь доступа зависит от расположения пользователей. Вы можете настроить DNS с разделением мозга, чтобы пользователи не должны использовать разные имена узлов в зависимости от того, где они находятся. Dns с разделением мозга предоставляет разные разрешения имен для одного полного доменного имени для локальных и интернет-пользователей. Интернет-пользователи разрешают доменные имена FQDN приложения с помощью публичных зон Azure DNS, в то время как вы направляете DNS-запросы от внутренних пользователей к приватному DNS-резольверу, используя механизм, описанный в этой статье.

Интеграция частных конечных точек с помощью частных зон DNS

Приватный канал конечные точки обеспечивают частное подключение ко многим Azure ресурсам PaaS. Приватный канал использует определенный тип реализации DNS Split-Brain. Корпорация Майкрософт автоматически предоставляет общедоступное разрешение. Когда пользователь разрешает полное доменное имя ресурса Azure PaaS с любой частной конечной точкой, корпорация Майкрософт перенаправляет разрешение имен на новое имя зоны. Например, корпорация Майкрософт перенаправляет учетные записи хранения с частными конечными точками из blob.core.windows.net в privatelink.blob.core.windows.net. Для имени зоны для каждой службы см. значения для частной DNS-зоны частной конечной точки Azure.

Этот механизм можно использовать для управления разрешением имен при развертывании частной зоны DNS Azure для этого домена privatelink. Пользователи, имеющие доступ к разрешению домена через частную зону, получают полное доменное имя (FQDN) Azure PaaS, которое переводится в частный IP-адрес. В противном случае корпорация Майкрософт предоставляет общедоступное разрешение для доменов приватного канала и предоставляет общедоступный IP-адрес службы PaaS пользователям без доступа к частной зоне DNS. Дополнительные сведения см. в статье об интеграции DNS частной конечной точки Azure.

Включение авторегистрации

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

Авторегистрация приватной зоны DNS в Azure особенно важна для виртуальных машин Linux, так как Linux не предоставляет встроенных механизмов для автоматической регистрации их IP-адресов на DNS-сервере. В локальных средах серверы динамической конфигурации узла (DHCP) часто автоматически регистрируют все системы в DNS, но Azure виртуальные сети не поддерживают DHCP.

Использование глобальных частных зон DNS

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

Рекомендации

Эти рекомендации реализуют основные принципы платформы Azure Well-Architected Framework, которая представляет собой набор руководящих принципов, которые можно использовать для улучшения качества рабочей нагрузки. Для получения дополнительной информации см. Well-Architected Framework.

Reliability

Надежность помогает гарантировать, что ваше приложение может выполнять обязательства, которые вы выполняете для клиентов. Для получения дополнительной информации см. Контрольный список проверки конструкции на надежность.

Доступность и масштабируемость

  • Убедитесь, что архитектура остается в пределах ограничений частного сопоставителя DNS.

  • Разверните все ресурсы Azure в зонах доступности. Если вы используете виртуальные машины в качестве DNS-серверов вместо частного сопоставителя DNS, распределите по крайней мере два DNS-сервера между зонами доступности для повышения устойчивости и масштабируемости.

  • Разверните по крайней мере две виртуальные машины при их использовании в качестве DNS-серверов. Вы можете использовать Load Balancer для предоставления одного IP-адреса dns-клиентам или настройки всех IP-адресов DNS-сервера в DNS-клиентах. Load Balancer упрощает настройку клиента и поддерживает миграцию, но может добавить затраты.

  • Поместите DNS-серверы рядом с пользователями и системами, которым требуется доступ к ним. Рассмотрите возможность предоставления разрешения DNS в каждом регионе Azure.

Безопасность

Безопасность обеспечивает гарантии от преднамеренного нападения и неправильного использования ценных данных и систем. Дополнительные сведения см. в контрольном списке обзора проектирования для безопасности.

Оптимизация затрат

Оптимизация затрат фокусируется на способах сокращения ненужных расходов и повышения эффективности работы. Для получения дополнительной информации см. контрольный список для проверки проектирования для оптимизации затрат.

  • Оптимизируйте затраты, анализируя маршрутизацию трафика DNS. Если вы настроили частный резолвер DNS или DNS-серверы в вашей виртуальной сети концентратора, разрешение DNS проходит через меньшее количество соединений виртуальных сетей, что делает этот трафик дешевле. Но dns-запросы не потребляют много пропускной способности, поэтому эта оптимизация обеспечивает ограниченную экономию затрат. Этот подход нельзя использовать, если вы используете виртуальную глобальную сеть или если DNS-серверы должны находиться в другой подписке.

  • Для оценки затрат используйте калькулятор цен Azure. Дополнительные сведения см. в ценах на Azure DNS.

Операционное превосходство

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

  • Используйте частный сопоставитель DNS вместо пользовательского программного обеспечения DNS-сервера, например BIND, если это возможно, чтобы сократить затраты на управление.

  • Используйте статические IP-адреса для входящих и исходящих конечных точек частного сопоставителя DNS, чтобы они оставались согласованными и предсказуемыми во всех развертываниях.

  • Реализуйте интеграцию между частными конечными точками и частными зонами DNS при использовании политики Azure. Подробнее см. в статье Приватный канал и масштабируемая интеграция DNS.

  • Настройте ведение журнала DNS в параметрах диагностики брандмауэра Azure. Дополнительные сведения о формате журналов DNS брандмауэра Azure см. в статье AZFWDnsQuery.

  • Настройте политики безопасности Azure DNS и используйте параметры диагностики для сбора журналов на уровне DNS.