Балансировщики нагрузки. Создать Балансировщик нагрузки для распределения нагрузки между серверами

Последние изменения: 18.03.2024

Создать и настроить балансировщик 
Управлять балансировщиком
Статусы балансировщика

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

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

Чтобы создать балансировщик нагрузки, внутри проекта перейдите в раздел Сеть → Балансировщики нагрузки и нажмите Создать балансировщик

В отрывшемся окне настройте балансировщик:  

1. Регион

Выберите регион для балансировки.

Обратите внимание. Балансировать трафик можно только внутри одного дата-центра.

2. Тип

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

3. Сеть для балансировки

Укажите тип сети для балансировки нагрузки: Публичную или Приватную

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

При выборе Приватной сети, балансировка трафика будет производиться только внутри указанной подсети. Опционально для Приватной сети можно использовать Зарезервированный IP или Плавающий IP.

4. Слушатели

Слушатель — это процесс, который принимает запросы от клиентов по указанным в его настройках порту и протоколу.

Для создания балансировщика необходимо добавить один или несколько слушателей. Для этого:

1) Нажмите Добавить слушатель.

2) В поле «Имя» укажите имя слушателя.

3) Укажите протокол, по которому слушатель будет принимать запросы: TCP, UDP, HTTP или Terminated HTTPS.

4) В поле «Порт» укажите порт, по которому слушатель будет принимать запросы, в диапазоне от 1 до 65 535.

5) В поле «Разрешённые CIDR» укажите пул IP-адресов в виде IP с маской подсети, с которых слушатель будет принимать запросы. Чтобы разрешить запросы с нескольких адресов, укажите маски подсетей через запятую. Если оставить поле пустым, слушатель будет принимать запросы со всех адресов.

Для протоколов HTTP и Terminated HTTPS также доступен переключатель Добавлять заголовки X-Forwarded-For, X-Forwarded-Port, X-Forwarded-Proto в запросы. Активация опции позволит идентифицировать происхождение IP-адреса клиента, который подключается к веб-серверу через балансировщик нагрузки.

Важно. Укажите секрет для протокола Terminated HTTPS. Процесс создания секрета описан в статье «Загрузить PKCS12-файл для создания HTTPS-слушателя». 

6) Нажмите Создать слушатель.

5. Пул

После создания слушателя необходимо настроить пул. 

Пул — это список виртуальных машин, на которые слушатель будет перенаправлять входящий трафик. Для настройки пула:

1) Нажмите Добавить новый пул.

2) Укажите имя пула.

3)  Выберите алгоритм балансировки: 

  • Round robin — запросы распределяются между серверами внутри кластера последовательно: первый запрос на первый сервер, второй — на второй и так далее по кругу. 

  • Least Connection — новые запросы отправляются на сервер с наименьшим количеством активных подключений. 

  • Source IP — по IP клиента определяется, на каком сервере должен быть обработан запрос. 

4) Выберите протокол. Система предложит вам варианты, основываясь на настройках слушателя: HTTP-слушатель может общаться с серверами по протоколу HTTP, HTTPS-слушатель — по HTTPS,  UDP-слушатель — по UDP, а TCP-слушатель — по TCP и PROXY. Протокол PROXY позволяет проксировать IP-адрес пользователя, который подключается к вашему серверу через балансировщик нагрузки.

5) Если вам необходимо привязывать сессию, выберите App Cookie и заполните поле «Cookie». Специальный модуль создает cookie — чем делает каждый браузер уникальным — и далее использует его для переадресации запросов на один и тот же сервер. 

6. Серверы

Нажмите Добавить ВМ и прикрепите виртуальные машины, которые будут участвовать в раздаче трафика для настраиваемого слушателя. При добавлении машины необходимо указать её порт и вес в раздаче. 

Мы поддерживаем возможность указывать Custom IP-адрес в пуле. Кроме того, можно указать адрес из определённой подсети. Подробнее о настройке подсети можно прочитать в статье «Создать Сеть для ваших машин».

7. Проверка состояния 

Функция проверки состояния отправляет запросы на серверы в пуле по указанному порту и с указанным интервалом для того, чтобы проверить, работает ли балансировщик и отвечают ли серверы.

1) Выберите протокол для проверки состояния пула: TCP, Ping или HTTP.

Для протокола HTTP необходимо выбрать HTTP-метод и добавить URL проверки.

2) Укажите: 

  • Интервал проверки — время между отправляемым запросами;

  • Время ответа — время ожидания ответа от сервера;

  • Порог провалившихся запросов — количество неудачных запросов, после которого на виртуальную машину перестанет подаваться трафик;

  • Порог успешных запросов — количество успешных запросов, после которого виртуальная машина будет считаться готовой к приёму трафика.


8. Теги

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

9. Имя балансировщика 

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

10. Настройка файрволов машин, которые входят в пул.

Их порты должны быть открыты для трафика балансировщика:

  • Если балансировщик и виртуальные машины состоят в публичной сети, в настройках файрволов машин задайте правила для приёма и передачи трафика от IP балансировщика (указан в меню).

  • Если балансировщик и виртуальные машины состоят в приватной подсети, в настройках файрволов машин задайте правила для приёма и передачи трафика от всей приватной подсети или от IP балансировщика (указан в меню).

  • Если балансировщик состоит в публичной сети, а виртуальные машины — в приватной подсети, в настройках файрволов машин задайте правила для приёма и передачи трафика от всей приватной подсети или от внутреннего IP балансировщика (этот IP можно запросить у техподдержки).

Управлять балансировщиком 

Список созданных балансировщиков находится в разделе Сеть → Балансировщики нагрузки.  

Созданный балансировщик можно: 

  • настроить (опция Детали)

  • переименовать (опция Редактировать)

  • удалить

Для этого нажмите на меню ··· справа от балансировщика. 

Для настройки созданного балансировщика перейдите в ваш проект, а затем в раздел Сеть → Балансировщики нагрузки. Далее нажмите на меню ··· справа от балансировщика и выберите Детали

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

Для редактирования слушателя перейдите во вкладку Слушатели, нажмите на меню ··· справа от слушателя и выберите нужную опцию.   

В редакторе можно: 

  • изменять алгоритм проверки состояния пула;

  • изменять параметры подключенных ВМ (включая адрес проверки, порт и вес);

  • включать и выключать сервера из пула балансировки;

  • изменять список разрешённых CIDR;

  • изменять параметры проверки в разделе Проверка состояния

 Статусы балансировщика

Статус (UI)

Статус (API)

Значение

Работает

Online

Балансировщик работает.

Все виртуальные машины в пуле принимают запросы

Не работает

Draining

Виртуальная машина из пула не принимает новые запросы

Degraded

Один или несколько компонентов балансировщика имеют статус «Error»

Error

Балансировщик не работает.

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

Все виртуальные машины в пуле имеют статус «Error»

Помогла ли вам статья?