Page tree

Общая информация

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

Основные преимущества балансировщика:

  • Горизонтальное масштабирование ресурсов.
  • Балансировка нагрузки для TCP-сессий.
  • Поддержка портов HTTP, HTTP2, HTTPS, TCP.
  • Отказоустойчивость вашего сервера приложений.

В балансировку можно добавить как серверы, созданные в Timeweb, так и сторонние серверы.

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

Создание балансировщика

Перейдите в раздел "Балансировщики серверов" и нажмите "Создать балансировщик". Количество балансировщиков на аккаунте не ограничено.

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

Настройки балансировщика

Правила переадресации

Для создания балансировщика должно быть задано как минимум одно правило переадресации.

Вам необходимо указать протокол и порт для сервера и для балансировщика. Доступные протоколы: HTTP, HTTP2, HTTPS, TCP. Для каждого протокола по умолчанию будет указан стандартный порт, но вы можете изменить его значение по своему усмотрению.

Обратите внимание: если вы настраиваете работу по HTTPS, необходимо использовать протокол TCP и порт 443.

Указанные параметры будут применены ко всем серверам в балансировке.

Алгоритм балансировки

Выберите предпочтительный алгоритм перенаправления запросов.

  • Round Robin - алгоритм, при котором запросы передаются на серверы по кругу: первый запрос - на первый сервер, следующий запрос - на второй сервер, и так далее до последнего сервера, после чего цикл начинается заново.
  • Least Connections - алгоритм, при котором каждый новый запрос передается на тот сервер, на котором в данный момент меньше всего активных подключений. Этот метод позволяет распределять нагрузку на серверы достаточно равномерно.

Запоминать сессии

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

Однако если сервер станет не доступен, балансировщик перенаправит запрос клиента на другой сервер.

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

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

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

Также можно указать собственные значения для параметров:

  • Интервал проверки — частота отправки проверяющих запросов.
  • Ожидание ответа — срок ожидания ответа на проверяющий запрос. 
  • Порог ошибок — число неуспешных проверок подряд (число раз, когда сервер не ответил на проверяющие запросы), при достижении которого сервер исключается из балансировки. 
  • Порог корректных ответов — число успешных проверок подряд, при достижении которого сервер возвращается в балансировку. 

Перенаправление на SSL

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

Proxy protocol

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

Proxy-протокол будет работать для всех созданных правил, которые имеют целевой протокол HTTP или HTTPS.

Важно, чтобы конфигурация конечных серверов поддерживала Proxy protocol, в противном случае при проверке доступности серверы будут отдавать ошибку 400, и балансировщик перестанет перенаправлять на них запросы. Способ настройки сервера для работы с proxy protocol зависит от используемого вами ПО. По ссылкам ниже можно найти инструкции для:

Backend keep-alive

При включении настройки будет поддерживаться режим постоянного соединения с серверами (keep-alive) для всех правил с целевым протоколом HTTP или HTTPS.  Это позволяет балансировщику поддерживать меньшее количество TCP-соединений для обмена запросами с серверами.

В большинстве случаев включение этой опции помогает повысить производительность и снизить время отклика для клиента.

Добавление и удаление серверов

Для создания балансировщика нужно добавить хотя бы 1 сервер.

Вы можете добавить как серверы, созданные в Timeweb, так и сторонние серверы.

  • Для добавления сервера, созданного на этом же аккаунте, выберите его из выпадающего списка.
  • Для добавления стороннего сервера введите его IP-адрес.

Вы также сможете добавлять или удалять серверы после создания балансировщика.

Нюансы использования

Настройка работы по HTTP

Если вы настройках переадресации используется протокол HTTP, при обращении по домену вы можете столкнуться с ошибкой 503 Service Unavailable.

Для устранения проблемы необходимо в настройках проверки доступности указать протокол TCP вместо HTTP:

Настройка работы по HTTPS

Для корректной работы переадресации по HTTPS необходимо выполнить следующие настройки:

1. В правилах переадресации добавить правило с протоколом TCP (вместо HTTPS) и портом 443, как на скриншоте:

2. В проверке доступности использовать протокол TCP, как на скриншоте:

3. В качестве A-записи домена указать IP-адрес балансировщика.

4. На каждый сервер, добавленный в балансировку, добавить сертификат домена.

Настройка доменов

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

Укажите IP-адрес балансировщика в качестве A-записи ваших доменов.

Изменение настроек балансировщика

Вы можете изменить настройки существующего балансировщика.

Для этого перейдите в раздел "Балансировщики серверов", кликните на кнопку "Подробнее" у нужного из них и внесите изменения в необходимые настройки. Нажмите "Сохранить".

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

Оплата услуги

В настоящий момент услуга предоставляется в тестовом режиме, и оплата за балансировщик не взимается.

В дальнейшем, списания за балансировщик будут выполняться ежедневно, вместе с абонентской платой (стоимость будет добавлена к абонентской плате). 

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

При выборе "Списать со счета", если на балансе достаточно средств, балансировщик будет создан и запущен сразу после нажатия кнопки "Подключить". Если средств недостаточно, вы будете переадресованы в раздел "Оплата услуг" для пополнения баланса.

При выборе "Оплатить отдельно" нажмите "Перейти к оплате", после чего вы будете переадресованы в раздел "Оплата услуг". Выберите период и способ оплаты и произведите платеж. Как только оплата поступит, балансировщик будет запущен.

Удаление балансировщика

Чтобы удалить балансировщик, перейдите в раздел "Балансировщики серверов", кликните на кнопку "Подробнее" и далее - "Удалить навсегда". Восстановить удаленный балансировщик будет невозможно.

На серверы, добавленные в балансировку, перестанет перенаправляться трафик. Вам потребуется обновить A-записи у доменов.

Сами серверы удалены не будут.



  • No labels