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


Использование политики DNS для балансировки нагрузки приложений с помощью сведений о географическом расположении

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

В предыдущем разделе этого руководства используется политика DNS для балансировки нагрузки приложений, используется пример вымышленной компании Contoso Gift Services, которая предоставляет онлайн-службы подарков и веб-сайт с именем contosogiftservices.com. Компания Contoso Gift Services балансирует нагрузку веб-приложения между серверами в Северная Америка n центрах обработки данных, расположенных в Сиэтле, WA, Чикаго, IL и Далласе, TX.

Примечание.

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

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

В этом примере Службы подарков Contoso успешно расширяют свое присутствие по всему миру.

Как и Северная Америка, компания теперь имеет веб-серверы, размещенные в европейских центрах обработки данных.

Администраторы DNS Служб подарков Contoso хотят настроить балансировку нагрузки приложений для европейских центров обработки данных таким же образом, как и реализация политики DNS в США, с трафиком приложений, распределенным между веб-серверами, расположенными в Дублине, Ирландии, Амстердаме, Нидерландах и других местах.

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

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

Настройка балансировки нагрузки приложений с помощью геолокации

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

Внимание

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

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

Сначала необходимо определить подсети или пространство 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.

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

После того как клиентские подсети находятся на месте, необходимо разделить зону contosogiftservices.com на разные области зоны, каждая из которых будет выполняться для центра обработки данных.

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

Примечание.

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

В предыдущем сценарии балансировки нагрузки приложений показано, как настроить три области зоны для центров обработки данных в Северная Америка.

С помощью приведенных ниже команд можно создать еще две области зоны, по одному для центров обработки данных Дублина и Амстердама.

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

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

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

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

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

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

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

Add-DnsServerResourceRecord -ZoneName "contosogiftservices.com" -A -Name "www" -IPv4Address "151.1.0.1" -ZoneScope "DublinZoneScope”
Add-DnsServerResourceRecord -ZoneName "contosogiftservices.com" -A -Name "www" -IPv4Address "141.1.0.1" -ZoneScope "AmsterdamZoneScope"

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

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

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

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

  1. Когда DNS-запрос получен из источника в подсети клиента Северная Америка n, 50% ответов DNS указываются в центре обработки данных Сиэтла, 25% ответов указывают на центр обработки данных Чикаго, а остальные 25% ответов указывают на центр обработки данных Далласа.
  2. При получении DNS-запроса из источника в европейской подсети клиента 50% ответов DNS указываются в центре обработки данных Дублина, а 50% ответов DNS указывают на центр обработки данных Амстердама.
  3. Когда запрос поступает из любого места в мире, ответы DNS распределяются по всем пяти центрам обработки данных.

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

Add-DnsServerQueryResolutionPolicy -Name "AmericaLBPolicy" -Action ALLOW -ClientSubnet "eq,AmericaSubnet" -ZoneScope "SeattleZoneScope,2;ChicagoZoneScope,1; TexasZoneScope,1" -ZoneName "contosogiftservices.com" –ProcessingOrder 1
Add-DnsServerQueryResolutionPolicy -Name "EuropeLBPolicy" -Action ALLOW -ClientSubnet "eq,EuropeSubnet" -ZoneScope "DublinZoneScope,1;AmsterdamZoneScope,1" -ZoneName "contosogiftservices.com" -ProcessingOrder 2
Add-DnsServerQueryResolutionPolicy -Name "WorldWidePolicy" -Action ALLOW -FQDN "eq,*.contoso.com" -ZoneScope "SeattleZoneScope,1;ChicagoZoneScope,1; TexasZoneScope,1;DublinZoneScope,1;AmsterdamZoneScope,1" -ZoneName "contosogiftservices.com" -ProcessingOrder 3

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

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

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