Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Введение
Microsoft Azure предоставляет несколько служб для управления распределением сетевого трафика и балансировкой нагрузки. Эти службы можно использовать по отдельности или объединять их методы в зависимости от ваших потребностей, чтобы создать оптимальное решение.
В этом руководстве мы сначала определим вариант использования клиента и посмотрим, как его можно сделать более надежным и эффективным с помощью следующего портфеля балансировки нагрузки Azure: диспетчер трафика, шлюз приложений и Load Balancer. Затем мы предоставляем пошаговые инструкции по созданию развертывания, которое является географически избыточным, распределяет трафик на виртуальные машины и помогает управлять различными типами запросов.
На концептуальном уровне каждая из этих служб играет отдельную роль в иерархии балансировки нагрузки.
Диспетчер трафика обеспечивает глобальную балансировку нагрузки DNS. Он смотрит на входящие DNS-запросы и реагирует на здоровую конечную точку в соответствии с выбранной клиентом политикой маршрутизации. Варианты методов маршрутизации:
- Маршрутизация производительности для отправки запрашивающего к ближайшей конечной точке с наименьшей задержкой.
- Приоритетная маршрутизация для перенаправления всего трафика в основную конечную точку с другими конечными точками в качестве резервных.
- Взвешенная маршрутизация с циклическим перебором, которая распределяет трафик на основе весов, назначенных каждой конечной точке.
- Географическая маршрутизация для распределения трафика в конечные точки приложения в зависимости от географического расположения пользователя.
- Маршрутизация на основе подсети для распределения трафика в конечные точки приложения на основе подсети (диапазон IP-адресов) пользователя.
- Маршрутизация с несколькими значениями, которая позволяет отправлять IP-адреса нескольких конечных точек приложения в одном ответе DNS.
Клиент подключается непосредственно к конечной точке, возвращаемой диспетчером трафика. Диспетчер трафика Azure обнаруживает, когда конечная точка неработоспособна, а затем перенаправляет клиентов в другой здоровый экземпляр. Дополнительные сведения о службе см. в документации по диспетчеру трафика Azure .
Шлюз приложений предоставляет контроллер доставки приложений (ADC) в качестве службы, предлагая различные возможности балансировки нагрузки уровня 7 для приложения. Это позволяет клиентам оптимизировать производительность веб-фермы, перенося завершение соединений TLS, требующих высокой нагрузки ЦП, на шлюз приложений. Другие возможности маршрутизации уровня 7 включают распределение входящего трафика, сходство сеансов на основе файлов cookie, маршрутизацию на основе URL-адресов и возможность размещения нескольких веб-сайтов за одним шлюзом приложений. Шлюз приложений можно настроить как шлюз, подключенный к Интернету, внутренний шлюз или сочетание обоих. Шлюз приложений полностью управляется Azure, масштабируется и обладает высокой доступностью. Он предоставляет широкий набор возможностей диагностики и ведения журнала для повышения управляемости.
Load Balancer является неотъемлемой частью стека AZURE SDN, обеспечивая высокопроизводительные, низкой задержки службы балансировки нагрузки уровня 4 для всех протоколов UDP и TCP. Она управляет и входящими, и исходящими подключениями. Вы можете настроить общедоступные и внутренние конечные точки балансировки нагрузки и определить правила для сопоставления входящих подключений с конечными точками внутреннего пула с помощью параметров проверки работоспособности TCP и HTTP для управления доступностью службы.
Сценарий
В этом примере мы используем простой веб-сайт, который служит двумя типами содержимого: изображениями и динамически отрисовываться веб-страницами. Веб-сайт должен быть географически избыточным, и он должен обслуживать своих пользователей из ближайшего (наименьшего места задержки) к ним. Разработчик приложений решил, что все URL-адреса, соответствующие шаблону /images/*, обслуживаются из выделенного пула виртуальных машин, которые отличаются от остальной части веб-фермы.
Кроме того, пул виртуальных машин по умолчанию, обслуживающий динамическое содержимое, должен взаимодействовать с серверной базой данных, размещенной в кластере высокой доступности. Все развертывание настраивается с помощью Azure Resource Manager.
С помощью диспетчера трафика, шлюза приложений и Load Balancer вы можете включить этот веб-сайт для достижения следующих целей проектирования:
- Избыточность нескольких регионов: если один регион выходит из строя, диспетчер трафика легко направляет трафик в ближайший регион без каких-либо действий от владельца приложения.
- Снижение задержки. Так как диспетчер трафика автоматически направляет клиента в ближайший регион, клиент испытывает меньшую задержку при запросе содержимого веб-страницы.
- Независимое масштабируемость. Так как рабочая нагрузка веб-приложения разделена типом содержимого, владелец приложения может масштабировать рабочие нагрузки запроса независимо друг от друга. Шлюз приложений гарантирует, что трафик направляется в правильные пулы на основе указанных правил и работоспособности приложения.
- Внутренняя балансировка нагрузки. Так как Load Balancer находится перед кластером высокой доступности, для приложения предоставляется только активная и здоровая конечная точка для базы данных. Кроме того, администратор базы данных может оптимизировать рабочую нагрузку, распределяя активные и пассивные реплики в кластере независимо от внешнего приложения. Load Balancer предоставляет подключения к кластеру высокой доступности и гарантирует, что только здоровые базы данных получают запросы на подключение.
На следующей схеме показана архитектура этого сценария:
Примечание.
Этот пример — это только одна из многих возможных конфигураций служб балансировки нагрузки, которые предлагает Azure. Диспетчер трафика, шлюз приложений и балансировщик нагрузки могут использоваться совместно и адаптироваться в соответствии с вашими потребностями в балансировке нагрузки. Например, если разгрузка TLS или обработка уровня 7 не требуется, подсистема балансировки нагрузки может использоваться вместо шлюза приложений.
Настройка стека балансировки нагрузки
Шаг 1. Создание профиля диспетчера трафика
В портале Azure щелкните Создать ресурс>Сеть>Профиль диспетчера трафика>Создать.
Введите следующие основные сведения:
- Имя. Присвойте профилю диспетчера трафика имя префикса DNS.
- Метод маршрутизации: выберите политику метода маршрутизации трафика. Дополнительные сведения о методах см. в разделе "О методах маршрутизации трафика диспетчера трафика".
- Подписка: выберите подписку, содержащую профиль.
- Группа ресурсов: выберите группу ресурсов, содержащую профиль. Она может быть новой или существующей группой ресурсов.
- Расположение группы ресурсов: служба диспетчера трафика является глобальной и не привязана к расположению. Однако необходимо указать регион для группы, в которой находятся метаданные, связанные с профилем диспетчера трафика. Это расположение не влияет на доступность профиля во время выполнения.
Нажмите кнопку "Создать", чтобы создать профиль диспетчера трафика.
Шаг 2. Создание шлюзов приложений
На портале Azure в левой области нажмите кнопку Создать ресурс>Сеть>Шлюз приложений.
Введите следующие основные сведения о шлюзе приложений:
- Имя: имя шлюза приложений.
- Размер SKU: размер шлюза приложений, доступный как малый, средний или большой.
- Число экземпляров: число экземпляров, значение от 2 до 10.
- Группа ресурсов: группа ресурсов, содержащая шлюз приложений. Это может быть существующая группа ресурсов или новая.
- Расположение: регион для шлюза приложений, который является тем же расположением, что и группа ресурсов. Важно расположение, так как виртуальная сеть и общедоступный IP-адрес должны находиться в том же расположении, что и шлюз.
Нажмите кнопку ОК.
Определите конфигурации виртуальной сети, подсети, внешнего IP-адреса и прослушивателя для шлюза приложений. В этом сценарии внешний IP-адрес является общедоступным, что позволяет добавлять его в качестве конечной точки в профиль диспетчера трафика позже.
Примечание.
Если вы используете ПРОТОКОЛ HTTPS, выберите HTTPS рядом с протоколом на вкладке прослушивателя . Параметр по умолчанию — HTTP. Необходимо также создать и назначить SSL-сертификат. Дополнительные сведения см. в руководстве по шлюзу приложений для SSL.
Настройка маршрутизации URL-адресов для шлюзов приложений
Когда вы выбираете внутренний пул, шлюз приложений, настроенный с помощью правила на основе пути, использует шаблон пути в URL-адресе запроса наряду с равномерным распределением. В этом сценарии мы добавляем правило на основе пути, чтобы направить любой URL-адрес с "/images/*" в пул серверов изображений. Дополнительные сведения о настройке маршрутизации на основе URL-адресов для шлюза приложений см. в статье "Создание правила на основе пути" для шлюза приложений.
В вашей группе ресурсов перейдите к созданному ранее в предыдущем разделе экземпляру шлюза приложений.
В разделе "Параметры" выберите серверные пулы и выберите "Добавить ", чтобы добавить виртуальные машины, которые требуется связать с пулами серверной части веб-уровня.
Введите имя внутреннего пула и все IP-адреса компьютеров, находящихся в пуле. В этом сценарии мы подключаем два внутренних пула серверов виртуальных машин.
В разделе Параметры шлюза приложений выберите Правила и нажмите кнопку на основе пути, чтобы добавить правило.
Настройте правило, указав следующие сведения.
Основные параметры:
- Имя: понятное имя правила, доступного на портале.
- Прослушиватель: прослушиватель, используемый для правила.
- Внутренний пул по умолчанию: внутренний пул, используемый с правилом по умолчанию.
- Параметры HTTP по умолчанию: параметры HTTP, используемые с правилом по умолчанию.
Правила на основе пути:
- Имя: дружественное имя правила на основе пути.
- Пути: правило пути, используемое для переадресации трафика.
- Серверный пул: серверный пул, используемый с этим правилом.
- Параметр HTTP: параметры HTTP, используемые с этим правилом.
Это важно
Пути. Допустимые пути должны начинаться с "/". Подстановочный знак "*" разрешен только в конце. Допустимые примеры: /xyz, /xyz*или /xyz/*.
Шаг 3. Добавление шлюзов приложений в конечные точки диспетчера трафика
В этом сценарии диспетчер трафика подключен к шлюзам приложений (как указано в предыдущих шагах), которые находятся в разных регионах. Теперь, когда шлюзы приложений настроены, необходимо подключить их к профилю диспетчера трафика.
Откройте профиль диспетчера трафика. Для этого просмотрите группу ресурсов или найдите имя профиля диспетчера трафика из всех ресурсов.
В левой области выберите "Конечные точки" и нажмите кнопку "Добавить ", чтобы добавить конечную точку.
Создайте конечную точку, введя следующие сведения:
- Тип: выберите тип конечной точки для балансировки нагрузки. В этом сценарии выберите конечную точку Azure , так как мы подключаем ее к экземплярам шлюза приложений, настроенным ранее.
- Имя: введите имя конечной точки.
- Тип целевого ресурса: выберите общедоступный IP-адрес , а затем в разделе "Целевой ресурс" выберите общедоступный IP-адрес шлюза приложений, настроенный ранее.
Теперь вы можете протестировать настройку, перейдя к ней с помощью DNS профиля диспетчера трафика (в этом примере:
TrafficManagerScenario.trafficmanager.net). Вы можете повторно отправить запросы, создать виртуальные машины или перенести виртуальные машины и веб-серверы, созданные в разных регионах. Вы также можете изменить и проверить различные параметры профиля диспетчера трафика.
Шаг 4. Создание подсистемы балансировки нагрузки
В этом сценарии Load Balancer распределяет подключения из веб-уровня к базам данных в кластере высокой доступности.
Если кластер базы данных с высоким уровнем доступности использует SQL Server AlwaysOn, ознакомьтесь с пошаговой инструкцией по настройке одного или нескольких прослушивателей группы доступности AlwaysOn .
Дополнительные сведения о настройке внутренней подсистемы балансировки нагрузки см. в статье "Создание внутренней подсистемы балансировки нагрузки" на портале Azure.
- На портале Azure в левой области нажмите Создать ресурс>Сетевое подключение>Балансировщик нагрузки.
- Выберите имя подсистемы балансировки нагрузки.
- Установите значение Тип на Внутренний и выберите соответствующую виртуальную сеть и подсеть для балансировщика нагрузки.
- В разделе назначения IP-адресов выберите динамический или статический.
- В группе ресурсов выберите группу ресурсов для подсистемы балансировки нагрузки.
- В разделе "Расположение" выберите соответствующий регион для подсистемы балансировки нагрузки.
- Нажмите кнопку "Создать" , чтобы создать подсистему балансировки нагрузки.
Подключение серверного уровня базы данных к подсистеме балансировки нагрузки
В группе ресурсов найдите подсистему балансировки нагрузки, созданную на предыдущих шагах.
В разделе "Параметры" щелкните серверные пулы и нажмите кнопку "Добавить ", чтобы добавить внутренний пул.
Введите имя внутреннего пула.
Добавьте либо отдельные машины, либо набор доступности в пул серверной части.
Настройка пробы
В подсистеме балансировки нагрузки в разделе "Параметры" выберите " Пробы" и нажмите кнопку "Добавить ", чтобы добавить пробу.
Введите имя пробы.
Выберите протокол для пробы. Для базы данных может потребоваться проба TCP, а не проба HTTP. Дополнительные сведения о пробах подсистемы балансировки нагрузки см. в статье "Общие сведения о пробах подсистемы балансировки нагрузки".
Введите порт базы данных, который будет использоваться для доступа к пробе.
В разделе "Интервал" укажите частоту проверки приложения.
Под порогом неработоспособности укажите количество непрерывных сбоев проверки, которое должно произойти, чтобы виртуальная машина на серверной стороне считалась неработоспособной.
Нажмите кнопку "ОК ", чтобы создать пробу.
Настройка правил балансировки нагрузки
- В разделе "Параметры подсистемыбалансировки нагрузки" выберите правила балансировки нагрузки и нажмите кнопку "Добавить ", чтобы создать правило.
- Введите имя правила балансировки нагрузки.
- Выберите внешний IP-адрес подсистемы балансировки нагрузки, протокола и порта.
- В разделе Серверный порт укажите порт, используемый в серверном пуле.
- Выберите внутренний пул и зонд, созданные на предыдущих шагах, чтобы применить правило.
- В разделе Сохраняемость сеансов выберите способ сохранения сеансов.
- В разделе «Таймауты бездействия» укажите количество минут до срабатывания таймаута бездействия.
- В разделе "Плавающий IP-адрес" выберите "Отключено " или " Включено".
- Нажмите кнопку "ОК" , чтобы создать правило.
Шаг 5. Подключение виртуальных машин веб-уровня к подсистеме балансировки нагрузки
Теперь мы настраиваем IP-адрес и интерфейсный порт подсистемы балансировки нагрузки в приложениях, работающих на виртуальных машинах веб-уровня для любых подключений к базе данных. Эта конфигурация зависит от приложений, работающих на этих виртуальных машинах. Сведения о настройке IP-адреса и порта назначения см. в документации по приложению. Чтобы найти IP-адрес внешнего интерфейса, на портале Azure перейдите в интерфейсный пул IP-адресов в параметрах подсистемы балансировки нагрузки.