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


Методы маршрутизации диспетчера трафика

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

В диспетчере трафика доступны следующие методы маршрутизации трафика:

  • Приоритет. Выберите маршрутизацию приоритета , если требуется использовать основную конечную точку службы для всего трафика. Можно предоставить несколько конечных точек резервного копирования, если основная конечная точка или одна из конечных точек резервного копирования недоступна.
  • Взвешенный: выберите взвешенную маршрутизацию, если необходимо распределить трафик по набору конечных точек в зависимости от их веса. Задайте одинаковый вес для равномерного распределения по всем конечным точкам.
  • Производительность. Выберите маршрутизацию производительности , если у вас есть конечные точки в разных географических расположениях, и вы хотите, чтобы пользователи использовали ближайшую конечную точку для наименьшей задержки сети.
  • Географический:выбор географической маршрутизации для перенаправления пользователей к определенным конечным точкам (Azure, внешней или вложенной) в зависимости от географического расположения запросов DNS. Этот метод маршрутизации помогает соответствовать таким сценариям, как мандаты на суверенитет данных, локализация содержимого и взаимодействия с пользователем, а также измерение трафика из разных регионов.
  • MultiValue: выберите MultiValue для профилей диспетчера трафика, которые могут иметь только IPv4- или IPv6-адреса в качестве конечных точек. Когда этот профиль получает запрос, он возвращает все здоровые конечные точки.
  • Подсеть: выберите метод маршрутизации трафика подсети , чтобы сопоставить наборы диапазонов IP-адресов пользователя с определенной конечной точкой. Когда диспетчер трафика получает запрос, он возвращает конечную точку, сопоставленную с ip-адресом источника этого запроса.

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

Метод маршрутизации трафика по приоритету

Организации часто хотят обеспечить надежность своих служб путем развертывания одной или нескольких служб резервного копирования в случае сбоя основной службы. Метод маршрутизации трафика с приоритетом позволяет клиентам Azure легко реализовать такую схему восстановления после отказа.

Снимок экрана: схема метода маршрутизации трафика с приоритетом диспетчера трафика Azure.

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

Настройка конечных точек

С помощью Azure Resource Manager вы настраиваете приоритет конечной точки явным образом с помощью свойства приоритета для каждой конечной точки. Это свойство принимает значение в диапазоне от 1 до 1000. Более низкое значение представляет более высокий приоритет. Нельзя использовать одинаковые значения приоритетов для нескольких конечных точек. Установка этого свойства является необязательной. При опущении этого свойства диспетчер трафика использует приоритет по умолчанию в зависимости от порядка конечной точки.

Метод маршрутизации трафика со взвешиванием

Метод маршрутизации взвешированного трафика позволяет равномерно распределять трафик или использовать предопределенную весовую нагрузку.

Снимок экрана: схема метода маршрутизации трафика в диспетчере трафика Azure.

При использовании метода взвешивания при маршрутизации трафика каждой конечной точке в профиле диспетчера трафика присваивается определенный весовой коэффициент. Весовой коэффициент задается целым числом в диапазоне от 1 до 1000. Это необязательный параметр. Если опущено, диспетчер трафика использует по умолчанию вес 1. Чем выше вес, тем выше приоритет.

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

Метод взвешивания позволяет реализовать некоторые полезные сценарии.

  • Постепенное обновление приложения: Выделите процент трафика для маршрутизации в новую конечную точку и постепенно увеличивайте трафик со временем до 100%.
  • Миграция приложений в Azure: Создайте профиль с конечными точками как в Azure, так и внешними. Настройте весовые коэффициенты так, чтобы приоритет отдавался новым конечным точкам.
  • Ускорение облака для повышения емкости: Быстро разверните локальное развертывание в облаке, поместив его за профиль диспетчера трафика. Если вам требуется дополнительная емкость в облаке, добавьте конечные точки и укажите, какая часть трафика направляется на ту или иную конечную точку.

Весовые коэффициенты можно настроить с помощью портала Azure, Azure PowerShell, интерфейса командной строки и интерфейсов REST API.

Клиенты и рекурсивные DNS-серверы, используемые клиентами для разрешения dns-имен, кэшируют ответы DNS. Это кэширование может повлиять на распределение взвешенного трафика. При большом числе клиентов и рекурсивных DNS-серверов распределение трафика работает ожидаемым образом. Но если клиентов и (или) рекурсивных DNS-серверов мало, кэширование может ощутимо исказить распределение трафика.

Типичные примеры такой ситуации:

  • среды для разработки и тестирования;
  • обмен данных между приложениями;
  • Приложения, предназначенные для узкой пользовательской базы, которая использует общую рекурсивную инфраструктуру DNS (например, сотрудники компании, подключающейся через прокси-сервер)

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

Метод маршрутизации трафика для повышения производительности

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

Снимок экрана: схема метода маршрутизации трафика диспетчера трафика Azure.

Ближайшая конечная точка не обязательно ближе всего по географическому расстоянию. Вместо этого метод маршрутизации трафика на основе производительности определяет ближайшую точку подключения, измеряя задержку сети. Диспетчер трафика ведет собственную таблицу задержек Интернета, в которой сохраняет время кругового пути между диапазонами IP-адресов и центрами обработки данных Azure.

Для каждого входящего запроса DNS он находит в таблице задержек Интернета строки, соответствующие IP-адресу клиента. Затем диспетчер трафика выбирает доступную конечную точку в центре обработки данных Azure, которая имеет наименьшую задержку для этого диапазона IP-адресов и возвращает конечную точку в ответе DNS.

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

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

Примечания:

  • Если профиль содержит несколько конечных точек, которые входят в один регион Azure, диспетчер трафика распределяет трафик равномерно между всеми доступными конечными точками в этом регионе. Если вы предпочитаете распределение трафика в пределах региона, используйте вложенные профили диспетчера трафика.
  • Если работоспособность всех задействованных конечных точек в ближайших регионах Azure снижена, диспетчер трафика перенаправляет трафик к конечным точкам в следующем ближайшем регионе Azure. Если вы хотите определить свою логику отработки сбоя, используйте вложенные профили диспетчера трафика.
  • Чтобы использовать маршрутизацию трафика по производительности между внешними или вложенными конечными точками, нужно вручную указать их расположение. Выберите ближайший к вашему развертыванию регион Azure. Именно эти расположения отслеживаются в таблице задержек Интернета.
  • Алгоритм выбора конечной точки детерминирован. Повторные запросы DNS от одного клиента будут направляться к той же конечной точке. Как правило, клиенты используют разные рекурсивные DNS-серверы при перемещении, поэтому клиент может быть перенаправлен в другую конечную точку. Обновления таблицы задержки в Интернете влияют на маршрутизацию. Метод маршрутизации трафика производительности не гарантирует, что клиент всегда направляется в ту же конечную точку.
  • При изменении таблицы задержки в Интернете можно заметить, что некоторые клиенты направляются в другую конечную точку. Такие изменения маршрутизации основываются на свежих данных о задержках и потому более точны. Эти обновления необходимы для поддержания точности маршрутизации трафика в связи с тем, что Интернет постоянно развивается.

Метод географической маршрутизации трафика

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

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

  • Мир — любой регион
  • Региональная группа — например, Африка, Ближний Восток, Австралия или Тихоокеанский регион
  • Страна или регион — например, Ирландия, Перу, Гонконг САР
  • Штат/провинция — например, США-Калифорния, Австралия-Квинсленд, Canada-Alberta (этот уровень детализации поддерживается только для штатов или провинций в Австралии, Канаде и США).

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

Снимок экрана: схема метода маршрутизации географического трафика диспетчера трафика Azure.

Диспетчер трафика считывает исходный IP-адрес DNS-запроса и определяет, из какого географического региона он был отправлен. Затем он проверяет, соответствует ли конечная точка этому географическому региону. Эта подстановка начинается с самого низкого уровня детализации (штат или провинция, если поддерживается, затем уровень страны или региона) и поднимается до самого высокого уровня - World. Диспетчер трафика выбирает первое совпадение, найденное с помощью этого обхода в качестве конечной точки, возвращаемой в ответе запроса. Когда запрос соответствует конечной точке типа Nested, Traffic Manager возвращает конечную точку в дочернем профиле на основе метода маршрутизации. Следующие моменты относятся к этому поведению:

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

  • Если регион пользователя указан в географическом сопоставлении двух разных конечных точек, диспетчер трафика выбирает конечную точку с наименьшей степенью детализации и не рассматривает запросы маршрутизации из этого региона в другую конечную точку. Например, рассмотрим профиль типа географической маршрутизации с двумя конечными точками: Endpoint1 и Endpoint2. Endpoint1 настроена для приема трафика из Ирландии, а Endpoint2 — для приема трафика из Европы. Если запрос поступает из Ирландии, запрос всегда направляется в Endpoint1.

  • Так как регион может быть сопоставлен только с одной конечной точкой, диспетчер трафика возвращает ответ независимо от того, является ли эта конечная точка работоспособной или нет.

    Внимание

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

  • Если диспетчер трафика находит соответствие конечной точки и эта конечная точка находится в состоянии остановленного состояния, диспетчер трафика возвращает ответ NODATA. В этом случае диспетчер трафика больше не производит дополнительных запросов по иерархии географических регионов. Это поведение также относится к типам вложенных конечных точек, когда дочерний профиль находится в состоянии "Остановлено" или "Отключено".

  • Если конечная точка отображает состояние "Отключено ", диспетчер трафика не включает его в процесс сопоставления регионов. Это поведение также применяется к типам вложенных конечных точек, когда конечная точка находится в отключенном состоянии.

  • Если запрос поступает из географического региона, не имеющего сопоставления в этом профиле, диспетчер трафика возвращает ответ NODATA. Настоятельно рекомендуется использовать географическую маршрутизацию с одной конечной точкой, в идеале типа 'Вложенная', с по крайней мере двумя конечными точками в дочернем профиле, которому назначен регион World. Эта конфигурация также гарантирует, что диспетчер трафика обрабатывает любые IP-адреса, которые не сопоставляют с регионом.

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

Вопросы и ответы

Метод маршрутизации трафика «Многоцелевой»

Метод маршрутизации трафика Многозначный позволяет получить несколько работоспособных конечных точек в одном ответе на запрос DNS. Эта конфигурация позволяет вызывающей стороне выполнять повторные попытки на стороне клиента с другими конечными точками, если возвращаемая конечная точка не отвечает. Эта модель может повысить доступность службы и сократить задержки, связанные с новым запросом DNS на получение работоспособной конечной точки. Метод маршрутизации MultiValue работает только в том случае, если все конечные точки имеют тип External, и вы указываете их в качестве адресов IPv4 или IPv6. Когда этот профиль получает запрос, диспетчер трафика возвращает все здоровые конечные точки, при условии настраиваемого максимального количества возвращаемых значений.

Вопросы и ответы

Метод маршрутизации трафика подсети

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

Ip-адрес для сопоставления с конечной точкой можно указать как диапазоны CIDR (например, 1.2.3.0/24) или в качестве диапазона адресов (например, 1.2.3.4-5.6.7.8). Диапазоны IP-адресов, связанные с конечной точкой, должны быть уникальными в пределах данного профиля. Диапазон адресов не может перекрываться с набором IP-адресов другой конечной точки в одном профиле.

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

Маршрутизацию подсети можно использовать для предоставления различных возможностей для пользователей, подключающихся из определенного пространства IP-адресов. Например, можно направлять все запросы из корпоративного офиса в другую конечную точку. Этот метод маршрутизации особенно полезен, если вы пытаетесь протестировать внутреннюю версию приложения. Другой сценарий заключается в том, что вы хотите предоставить другой интерфейс для пользователей, подключающихся от определенного поставщика услуг (например, блокировать пользователей из заданного поставщика услуг).

Вопросы и ответы

Следующие шаги

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