Балансировка нагрузки

Материал из Документация Ключ-АСТРОМ

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

  • Постоянство сеанса. После открытия сеанса веб-интерфейса на данной ноде кластера запросы перенаправляются на эту ноду до тех пор, пока пользователь не закроет сеанс (выйдет из системы).
  • Проверка работоспособности узлов. Если узел недоступен, этот узел помечается как неработоспособный, и трафик перенаправляется только на исправные узлы.
  • Разрешение DNS (необязательно). Записи DNS управляются для кластера; DNS разрешается в IP-адреса всех узлов кластера. Это обеспечивает дополнительную балансировку нагрузки на основе DNS (порядок IP-адресов рандомизирован в разрешении DNS). Автоматическое управление DNS для кластера не является обязательным — вы можете отказаться и использовать вместо этого свой DNS.

NGINX является неотъемлемой частью управляемого развертывания Ключа-Астром. Если вам нужен дополнительный уровень балансировки нагрузки для создания единой точки доступа, вы можете настроить балансировщик нагрузки перед кластером.

Рекомендации по установке

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

Рекомендации по настройке

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

Целевая конфигурация

Список целевых узлов должен содержать IP-адреса управляемых узлов Ключ-Астром, предназначенных для получения веб-трафика, включая пользовательский трафик и вызовы REST API. Обычно список должен содержать все узлы кластера. Этот список необходимо обновлять после присоединения или удаления узла.

В консоли управления кластером вы можете исключить узел из трафика веб-интерфейса. Эта функция влияет на конфигурацию NGINX и автоматически выделяемый домен (xyz.astromkey-managed.com). При использовании внешнего балансировщика нагрузки узлы кластера необходимо исключить из списка целевых узлов; в противном случае они все равно будут получать сетевой трафик. См. Возможности узла кластера.

Трафик должен быть перенаправлен на HTTPS-порт 443 NGINX. Путь/параметры запроса никоим образом не должны изменяться; пользовательские суффиксы пути не поддерживаются.

Таймауты

Мы рекомендуем установить значение таймаута для целевого ответа не меньше, чем настроено в NGINX по умолчанию (120 секунд).

Проверки работоспособности

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

Используйте URL-адрес /rest/health для проверки работоспособности с ожидаемым кодом ответа HTTP 200.

Постоянство сеанса

Постоянство сеансанастраивается и реализуется кластером Ключ-Астром Managed. Настройка не требуется.

Домен и SSL-сертификаты (необязательно)

Конфигурация доменного имени, указывающего на балансировщик нагрузки, и сертификат TLS необязательны. Вы можете отключить опцию автоматической обработки доменов и сертификатов Ключ-Астром. См. Конфигурация DNS для Ключ-Астром Managed.

Трафик веб-интерфейса

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

Конфигурация общедоступной конечной точки

  1. В консоли управления кластером (CMC) перейдите в раздел Параметры и выберите Общедоступные конечные точки.
  2. Настройте URL-адрес веб-интерфейса Ключ-Астром, чтобы он указывал на ваш балансировщик нагрузки.

Трафик ЕдиногоАгента

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

Конфигурация конечной точки ЕдиногоАгента

  1. В консоли управления кластером (CMC) перейдите к Статус развертывания и выберите Узлы кластера.
  2. На странице сведений о каждом узле выберите Настроить и в разделе Настройка конечных точек узла укажите IP-адрес и порт для трафика ЕдиногоАгента, чтобы они указывали на подсистему балансировки нагрузки, а не на узел напрямую.

Мониторинг реального пользователя/Мобильный/Синтетический трафик

Если вы планируете использовать балансировщик нагрузки там, где используется безагентный мониторинг реального пользователя или мобильных приложений, мы настоятельно рекомендуем настроить балансировщик нагрузки либо перед кластерными АктивнымиШлюзами, либо непосредственно перед кластером. Из-за возможности больших объемов TLS-подключений и скачков запросов, передача завершения TLS на балансировщик нагрузки выгодна, особенно если балансировщик нагрузки имеет аппаратно-ускоренную обработку TLS и/или возможности автоматического масштабирования. Это может защитить кластер от перегрузки и разделить путь доступа между трафиком маяка и трафиком веб-интерфейса/ЕдиногоАгента.

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

Конфигурация общедоступной конечной точки

  1. В консоли управления кластером (CMC) перейдите в раздел Параметры и выберите Общедоступные конечные точки.
  2. Настройте URL-адрес АктивногоШлюза Кластера, чтобы он указывал на ваш балансировщик нагрузки. Вы можете сделать это, даже если у вас нет кластерных ActiveGate и/или балансировщик нагрузки указывает прямо на управляемый кластер.