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

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

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

Посмотрим как создавать балансировщик нагрузки на примере задачи: распределить запросы между двумя машинами: Ice и Fire. На каждой установлен веб-серверов и открыт порт 80. Они находятся в локальной сети network private, подключенной к публичной floating net.

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

Заполните вкладки в открывшемся окне:

Вкладка «Информация о балансировщике нагрузки»

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

Вкладка «Информация о слушателе»

Задайте имя слушателю и произвольное описание.
Выберите протокол и порт. Здесь использован HTTP, доступен также TCP.

Вкладка «Информация о пуле»

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

Доступные методы:

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

  • Round Robin — алгоритм перебирает по очереди все серверы, участвующие в балансировке. При этом узел может получить запрос даже если он загружен.

  • Sourse IP — запрос с определенного IP всегда обрабатывается одним и тем же сервером. Обычно метод используется с протоколом TCP.

Для нашего балансировщика выбрали метод Round Robin, подходящий для коротких сессий.

Вкладка «Участники пула»

В этой вкладке выберите серверы, которые будут получать трафик.
Мы добавили серверы Ise и Fire и прописали им одинаковый вес. Можно варьировать эти значения и управлять приоритетами.
Если нужного вам сервера нет в списке доступных, нажмите кнопку «Добавить внешнего участника» и введите данные вручную.

Вкладка «Детали монитора»

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

Доступные варианты мониторинга:

  • HTTP

  • Ping

  • TCP

Когда все будет готово, нажмите кнопку «Создать балансировщик нагрузки».

Назначение публичного IP

Проверить, что в дата-центре есть свободный IP для назначения балансировщику. Для этого перейдите в раздел Сетевые настройки, подраздел Публичные IP. Если свободных адресов нет, нажмите кнопку «Выделить IP виртуального дата-центру» (подробнее об IP).

Перейдите в раздел Сетевые настройки, подраздел Балансировщики нагрузки. В выпадающем меню справа от балансировщика нажмите кнопку «Связать назначаемый IP».

В открывшемся окне Выберите IP или пул из которого требуется выделить адрес и нажмите кнопку «Назначить».

Проверка работы

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

Редактирование параметров балансировщика

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