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


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

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

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

Примечание.

Сведения об использовании политики DNS для интеллектуальных ответов DNS без использования Azure см. в статье "Использование политики DNS для интеллектуальных ответов DNS на основе времени дня".

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

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

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

Веб-сайт contosogiftservices.com размещен только в одном локальном центре обработки данных в Сиэтле (с общедоступным IP-адресом 192.68.30.2).

DNS-сервер также находится в локальном центре обработки данных.

С недавним всплеском бизнеса, contosogiftservices.com имеет больше посетителей каждый день, и некоторые клиенты сообщили о проблемах доступности служб.

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

Чтобы contosogiftservices.com клиенты получили адаптивный интерфейс с веб-сайта, Contoso Gift Services решает, что в эти часы она будет арендовать виртуальную машину (виртуальную машину) в Microsoft Azure, чтобы разместить копию своего веб-сервера.

Contoso Gift Services получает общедоступный IP-адрес из Azure для виртуальной машины (192.68.31.44) и разрабатывает автоматизацию для развертывания веб-сервера каждый день в Azure в период с 5 по 10 вечера, что позволяет в течение одного часа непредвиденных случаев.

Примечание.

Дополнительные сведения о виртуальных машинах Azure см. в документации по Виртуальные машины

DNS-серверы настраиваются с областями зоны и политиками DNS, чтобы от 5 до 9 вечера каждый день 30% запросов отправляются в экземпляр веб-сервера, работающего в Azure.

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

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

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

В этой статье показано, как настроить DNS-сервер для ответа на запросы DNS с двумя разными IP-адресами сервера приложений — один веб-сервер находится в Сиэтле, а другой — в центре обработки данных Azure.

После настройки новой политики DNS, основанной на пиковых часах 6 вечера до 9 вечера в Сиэтле, DNS-сервер отправляет 70 процентов ответов DNS клиентам, содержащим IP-адрес веб-сервера Сиэтла, и тридцать процентов ответов DNS клиентам, содержащим IP-адрес веб-сервера Azure, и тридцать процентов ответов DNS на клиенты, содержащие IP-адрес веб-сервера Azure, Таким образом, перенаправляя клиентский трафик на новый веб-сервер Azure и предотвращая перегрузку веб-сервера Сиэтла.

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

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

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

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

Примечание.

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

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

Внимание

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

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

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

Примечание.

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

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

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

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

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

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

В AzureZoneScope запись www.contosogiftservices.com добавляется с IP-адресом 192.68.31.44, расположенным в общедоступном облаке Azure.

Аналогичным образом в области зоны по умолчанию (contosogiftservices.com), запись (www.contosogiftservices.com) добавляется с IP-адресом 192.68.30.2 веб-сервера, работающего в локальном центре обработки данных Сиэтла.

Во втором командлете ниже параметр -ZoneScope не включен. Из-за этого записи добавляются в ZoneScope по умолчанию.

Кроме того, срок жизни записей для виртуальных машин Azure хранится в 600-х минутах (10 минут), чтобы LDNS не кэшировать его в течение длительного времени , что будет препятствовать балансировке нагрузки. Кроме того, виртуальные машины Azure доступны в течение 1 дополнительного часа в качестве непредвиденных обстоятельств, чтобы обеспечить разрешение даже клиентов с кэшируемыми записями.

Add-DnsServerResourceRecord -ZoneName "contosogiftservices.com" -A -Name "www" -IPv4Address "192.68.31.44" -ZoneScope "AzureZoneScope" –TimeToLive 600

Add-DnsServerResourceRecord -ZoneName "contosogiftservices.com" -A -Name "www" -IPv4Address "192.68.30.2"

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

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

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

  1. От 6 вечера до 9 вечера ежедневно, 30% клиентов получают IP-адрес веб-сервера в центре обработки данных Azure в ответе DNS, а 70% клиентов получают IP-адрес локального веб-сервера Сиэтла.
  2. В любое время все клиенты получают IP-адрес локального веб-сервера Сиэтла.

Время дня должно быть выражено в локальном времени DNS-сервера.

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

Add-DnsServerQueryResolutionPolicy -Name "Contoso6To9Policy" -Action ALLOW -ZoneScope "contosogiftservices.com,7;AzureZoneScope,3" –TimeOfDay “EQ,18:00-21:00” -ZoneName "contosogiftservices.com" –ProcessingOrder 1

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

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

Обратите внимание на выражение:

-ZoneScope "contosogiftservices.com,7;AzureZoneScope,3" –TimeOfDay “EQ,18:00-21:00”

Это выражение настраивает DNS-сервер с сочетанием ZoneScope и веса, которое указывает DNS-серверу отправлять IP-адрес веб-сервера Сиэтла 7 процентов времени, отправляя IP-адрес веб-сервера Azure в тридцати процентов времени.

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