- Выбор региона
- Выбор сети для балансировки
- Настройка слушателей
- X-Forwarded-For для слушателя
- Настройка пула
- Имя балансировщика
- Настройка файрволов машин
- Настройка файрвола балансировщика
Балансировщик нагрузки - это инструмент распределения рабочей нагрузки между несколькими серверами, который позволяет повысить отказоустойчивость вашей инфраструктуры.
Создание балансировщика
Чтобы создать балансировщик нагрузки, перейдите в ваш проект -> «Сеть» -> «Балансировщики нагрузки» -> «Создать балансировщик».
Настройка балансировщика
Во всплывающем окне настройте балансировщик:
1. Выбор региона
Выберите регион для балансировки. Обратите внимание, что балансировать трафик можно только внутри одного дата-центра
2. Сеть для балансировки
Если вы хотите использовать внутреннюю сеть для балансировки нагрузки, активируйте опцию “Внутренняя сеть”. Выберите сеть и подсеть для распределения трафика. Подробнее о настройке подсетей можно прочитать в статье “Сети”
3. Слушатели
Для создания балансировщика необходимо добавить один или несколько слушателей.
Слушатель — это процесс, который принимает запросы от клиентов по указанным в его настройках порту и протоколу.
В открывшемся окне укажите имя слушателя, протокол (мы поддерживаем TCP и HTTP), порт в диапазоне от 1 до 65535.
Также мы поддерживаем опцию добавления заголовка X-Forwarded-For для идентификации происхождения IP-адреса клиента, подключающегося к веб-серверу, через балансировщик нагрузки.
Нажмите на кнопку «Создать слушатель».
4. Настройка пула
После создания слушателя необходимо настроить пул.
Пул — это список виртуальных машин, на которые слушатель будет перенаправлять входящий трафик.
Нажмите на «Добавить пул», чтобы приступить к настройке.
4.1. Укажите имя пула
4.2. Выберите алгоритм балансировки:
Round robin — запросы распределяются между серверами внутри кластера последовательно: первый запрос на первый сервер, второй — на второй и так далее по кругу.
Least Connection — новые запросы отправляются на сервер с наименьшим количеством активных подключений.
Source IP — по IP клиента определяется, на каком сервере должен быть обработан запрос.
4.3 Выберите протокол. Система предложит вам вариант, основываясь на настройках слушателя: HTTP-слушатель может общаться с серверами по протоколу HTTP, TCP-слушатель — по TCP.
4.4. Если вам необходимо привязывать сессию, выберите «App Cookie» и заполните поле «Cookie». Специальный модуль создает cookie — чем делает каждый браузер уникальным — и далее использует его для переадресации запросов на один и тот же сервер.
4.5. Прикрепите виртуальные машины, которые будут участвовать в раздаче трафика для настраиваемого слушателя. При добавлении машины необходимо указать ее порт и вес в раздаче
Мы поддерживаем возможность указывать Custom IP адрес в пуле. Кроме того можно указать адрес из определенной подсети. Подробнее о настройке подсети можно прочитать в статье “Сети”.
4.6. В разделе «Проверка состояния» выберите протокол проверки: TCP, Ping, HTTP.
Для протокола HTTP необходимо выбрать HTTP-метод и добавить URL проверки.
Также для всех протоколов указывается:
- «Интервал проверки (сек)» — время между отправляемым запросами
- «Время ответа (сек)» — время ожидания ответа от сервера
- «Порог провалившихся запросов» — количество неудачных запросов, после которого на виртуальную машину перестанет подаваться трафик
- «Порог успешных запросов» — количество успешных запросов, после которого виртуальная машина будет считаться готовой к приему трафика.
Нажмите “Добавить слушатель”.
5. Задайте имя для балансировщика и нажмите “Создать”
6. Настройте файрволы машин, которые входят в пул
Их порты должны быть открыты для трафика балансировщика:
- Если балансировщик и виртуальные машины состоят в публичной сети, в настройках файрволов машин задайте правила для приёма и передачи трафика от IP балансировщика (указан в меню)
- Если балансировщик и виртуальные машины состоят в приватной подсети, в настройках файрволов машин задайте правила для приёма и передачи трафика от всей приватной подсети или от IP балансировщика (указан в меню)
- Если балансировщик состоит в публичной сети, а виртуальные машины — в приватной подсети, в настройках файрволов машин задайте правила для приёма и передачи трафика от всей приватной подсети или от внутреннего IP балансировщика (этот IP можно запросить у техподдержки)
7. По желанию вы можете настроить файрвол балансировщика
Для этого создайте пользовательскую группу безопасности (это и есть файрвол) и отредактируйте её: настройте правила для входящего и исходящего трафика.
Управление балансировщиком
Список созданных балансировщиков находится в вашем проекте -> «Сеть» -> «Балансировщики нагрузки»
Опции с балансировщиком
Созданный балансировщик можно:
- Настроить (опция “Детали”)
- Переименовать (опция “Редактировать”)
- Удалить
Для этого выберите нужную опцию на селекторе слева от балансировщика
Настойка созданного балансировщика
Перейдите в ваш проект -> «Сеть» -> «Балансировщики нагрузки» -> выберите опцию “Детали” на селекторе справа от балансировщика.
В появившемся окне вы можете редактировать существующие слушатели в балансировщике, а также добавлять новые.
Слушатели можно редактировать и удалять. Выберите нужную опцию на селекторе справа от слушателя.
В редакторе можно:
- Изменять алгоритм проверки
- Параметры подключенных ВМ (включая адрес проверки, порт и вес)
- Включать и выключать сервера из пула балансировки
- Изменять параметры проверки в разделе “Проверка состояния”
Статусы балансировщика
Статус (UI) | Статус (API) | Значение |
Работает | Online |
Балансировщик работает. Все виртуальные машины в пуле принимают запросы |
Не работает | Draining | Виртуальная машина из пула не принимает новые запросы |
Degraded | Один или несколько компонентов балансировщика имеют статус Error | |
Error |
Балансировщик не работает. Виртуальные машины не проходят запросы на проверку состояния. Все виртуальные машины в пуле имеют статус Error |