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


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

Этот раздел позволяет узнать, как распределять трафик приложений между различными географически распределенными экземплярами приложения с помощью политик 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 вечера в Сиэтле.

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

Пример политики DNS по времени дня

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

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

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

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

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

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

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

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

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

Примечание.

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

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

Внимание

В следующих разделах приведены примеры команд 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-адрес дублинского центра обработки данных.

Для создания политики DNS, которая связывает подсети КЛИЕНТА DNS и области зоны, можно использовать следующие команды Windows PowerShell.

Примечание.

В этом примере 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-сервер в входящих запросах.