Поделиться через


Получение интеллектуальных ответов DNS на основе времени дня с помощью политики DNS

Область применения: Windows Server 2022, Windows Server 2019, Windows Server 2016

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

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

Пример интеллектуальных ответов DNS на основе времени дня

Ниже приведен пример использования политики DNS для балансировки трафика приложения на основе времени дня.

В этом примере используется одна вымышленная компания Contoso Gift Services, которая предоставляет онлайн-решения для подарков по всему миру через свой веб-сайт, contosogiftservices.com.

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

Компания Contoso Gift Services выполняет анализ сайта и обнаруживает, что каждый вечер от 6 вечера до 9 вечера локального времени наблюдается всплеск трафика на веб-серверах. Веб-серверы не могут масштабироваться для обработки повышенного трафика в эти пиковые часы, что приводит к отказу в обслуживании для клиентов. Одна и та же перегрузка в час пикового трафика происходит как в европейских, так и в американских центрах обработки данных. В другое время суток серверы обрабатывают объемы трафика, которые значительно ниже их максимальной возможности.

Чтобы contosogiftservices.com клиенты получили адаптивный интерфейс с веб-сайта, Contoso Gift Services хочет перенаправить некоторый трафик Дублина на серверы приложений Сиэтла от 6 вечера до 9 вечера в Дублине; и они хотят перенаправить некоторый трафик Сиэтла на серверы приложений Дублина между 6 вечера и 9 вечера в Сиэтле.

На следующем рисунке показан этот сценарий.

Time of Day DNS Policy example

Как работает интеллектуальные ответы DNS на основе времени дня

Если DNS-сервер настроен с политикой DNS в течение дня, от 6 вечера до 9 вечера в каждом географическом расположении DNS-сервер выполняет следующие действия.

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

Это поведение на основе политики выгружает двадцать процентов нагрузки трафика локального веб-сервера на удаленный веб-сервер, упрощая нагрузку на локальный сервер приложений и повышая производительность сайта для клиентов.

В нерабочие часы DNS-серверы выполняют обычное управление трафиком на основе географических расположений. Кроме того, DNS-клиенты, которые отправляют запросы из расположений, отличных от Северная Америка или Европы, DNS-сервер балансирует трафик в центрах обработки данных Сиэтла и Дублина.

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

Дополнительные сведения о типах политик и критериях см. в разделе "Общие сведения о политиках DNS".

Настройка политики DNS для интеллектуальных ответов DNS на основе времени дня

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

Примечание.

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

В следующих разделах приведены подробные инструкции по настройке.

Внимание

В следующих разделах приведены примеры команд Windows PowerShell, которые содержат примеры значений для многих параметров. Перед выполнением этих команд замените примеры значений в этих командах значениями, подходящими для развертывания.

Создание подсетей DNS-клиента

Первым шагом является определение подсетей или пространства IP-адресов регионов, для которых требуется перенаправить трафик. Например, если вы хотите перенаправить трафик для США и Европы, необходимо определить подсети или IP-адреса этих регионов.

Эти сведения можно получить из карт гео IP- адресов. На основе этих гео IP-дистрибутивов необходимо создать подсети клиента DNS. Подсеть КЛИЕНТА DNS — это логическая группировка подсетей IPv4 или IPv6, из которых запросы отправляются на DNS-сервер.

Для создания подсетей клиента DNS можно использовать следующие команды Windows PowerShell.

Add-DnsServerClientSubnet -Name "AmericaSubnet" -IPv4Subnet "192.0.0.0/24", "182.0.0.0/24"

Add-DnsServerClientSubnet -Name "EuropeSubnet" -IPv4Subnet "141.1.0.0/24", "151.1.0.0/24"

Дополнительные сведения см. в разделе Add-DnsServerClientSubnet.

Создание областей зоны

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

Например, если вы хотите перенаправить трафик для DNS-имени www.contosogiftservices.com, необходимо создать два разных область зоны в зоне contosogiftservices.com, один для США и один для Европы.

Зона область является уникальным экземпляром зоны. Зона DNS может иметь несколько область зоны, при этом каждая зона область содержит собственный набор записей DNS. Одна и та же запись может присутствовать в нескольких область с разными IP-адресами или одинаковыми IP-адресами.

Примечание.

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

Для создания область зоны можно использовать следующие команды Windows PowerShell.

Add-DnsServerZoneScope -ZoneName "contosogiftservices.com" -Name "SeattleZoneScope"

Add-DnsServerZoneScope -ZoneName "contosogiftservices.com" -Name "DublinZoneScope"

Дополнительные сведения см. в разделе Add-DnsServerZoneScope.

Добавление записей в области зоны

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

Например, в SeattleZoneScope запись www.contosogiftservices.com добавляется с IP-адресом 192.0.0.1, который находится в центре обработки данных Сиэтла. Аналогичным образом, в DublinZoneScope запись www.contosogiftservices.com добавляется с IP-адресом 141.1.0.3 в центре обработки данных Дублина

Для добавления записей в область зоны можно использовать следующие команды Windows PowerShell.

Add-DnsServerResourceRecord -ZoneName "contosogiftservices.com" -A -Name "www" -IPv4Address "192.0.0.1" -ZoneScope "SeattleZoneScope"

Add-DnsServerResourceRecord -ZoneName "contosogiftservices.com" -A -Name "www" -IPv4Address "141.1.0.3" -ZoneScope "DublinZoneScope"

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

Дополнительные сведения см. в разделе Add-DnsServerResourceRecord.

Создание политик DNS

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

После настройки этих политик DNS поведение DNS-сервера выглядит следующим образом:

  1. Европейские DNS-клиенты получают IP-адрес веб-сервера в центре обработки данных Дублина в ответе DNS-запроса.
  2. Американские DNS-клиенты получают IP-адрес веб-сервера в центре обработки данных Сиэтла в ответе DNS-запроса.
  3. От 6 вечера до 9 вечера в Дублине, 20% запросов от европейских клиентов получают IP-адрес веб-сервера в центре обработки данных Сиэтла в ответе на ЗАПРОС DNS.
  4. От 6 вечера до 9 вечера в Сиэтле, 20% запросов от американских клиентов получают IP-адрес веб-сервера в центре обработки данных Дублина в ответе dns-запроса.
  5. Половина запросов из остальной части мира получает IP-адрес центра обработки данных Сиэтла, а другая половина получает IP-адрес дублинского центра обработки данных.

Следующие команды Windows PowerShell можно использовать для создания политики DNS, которая связывает подсети DNS-клиента и область зоны.

Примечание.

В этом примере DNS-сервер находится в часовом поясе GMT, поэтому периоды пиковых часов должны быть выражены в эквивалентном времени GMT.

Add-DnsServerQueryResolutionPolicy -Name "America6To9Policy" -Action ALLOW -ClientSubnet "eq,AmericaSubnet" -ZoneScope "SeattleZoneScope,4;DublinZoneScope,1" -TimeOfDay "EQ,01:00-04:00" -ZoneName "contosogiftservices.com" -ProcessingOrder 1

Add-DnsServerQueryResolutionPolicy -Name "Europe6To9Policy" -Action ALLOW -ClientSubnet "eq,EuropeSubnet" -ZoneScope "SeattleZoneScope,1;DublinZoneScope,4" -TimeOfDay "EQ,17:00-20:00" -ZoneName "contosogiftservices.com" -ProcessingOrder 2

Add-DnsServerQueryResolutionPolicy -Name "AmericaPolicy" -Action ALLOW -ClientSubnet "eq,AmericaSubnet" -ZoneScope "SeattleZoneScope,1" -ZoneName "contosogiftservices.com" -ProcessingOrder 3

Add-DnsServerQueryResolutionPolicy -Name "EuropePolicy" -Action ALLOW -ClientSubnet "eq,EuropeSubnet" -ZoneScope "DublinZoneScope,1" -ZoneName "contosogiftservices.com" -ProcessingOrder 4

Add-DnsServerQueryResolutionPolicy -Name "RestOfWorldPolicy" -Action ALLOW -ZoneScope "DublinZoneScope,1;SeattleZoneScope,1" -ZoneName "contosogiftservices.com" -ProcessingOrder 5

Дополнительные сведения см. в разделе Add-DnsServerQueryResolutionPolicy.

Теперь DNS-сервер настроен с необходимыми политиками DNS для перенаправления трафика на основе географического расположения и времени дня.

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

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