Использование политики 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, которые распределяют входящие запросы по этим областям.
В этом примере распределение запросов между серверами приложений в разных центрах обработки данных соответствует следующим критериям.
- Когда DNS-запрос получен из источника в подсети клиента Северная Америка n, 50% ответов DNS указываются в центре обработки данных Сиэтла, 25% ответов указывают на центр обработки данных Чикаго, а остальные 25% ответов указывают на центр обработки данных Далласа.
- При получении DNS-запроса из источника в европейской подсети клиента 50% ответов DNS указываются в центре обработки данных Дублина, а 50% ответов DNS указывают на центр обработки данных Амстердама.
- Когда запрос поступает из любого места в мире, ответы 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-сервер в входящих запросах.