Кратко:
- Настройка сетевой балансировки в Yandex Network Load Balancer требует создания целевой группы и обработчика.
- Целевая группа представляет собой список внутренних IP-адресов и подсетей, по которым распределяются запросы пользователей.
- Обработчик принимает соединения от пользователей, распределяет их между IP-адресами целевой группы и передаёт обратный трафик клиентам.
- Адресация трафика строится по принципу 5-tuple, учитывая адрес и порт отправителя, адрес и порт целевого ресурса, а также протокол передачи информации.
- При создании сетевого балансировщика необязательно настраивать обработчик сразу, его можно добавить позднее.
- Целевую группу можно подключить к нескольким балансировщикам, используя разные целевые порты.
- После подключения целевой группы балансировщик начнёт проверять состояние целевых ресурсов и сможет распределять нагрузку между ними.
Yandex Network Load Balancer
Чтобы настроить сетевую балансировку в Yandex Network Load Balancer, разберёмся с двумя базовыми понятиями.
Первое — это целевая группа, т. е. набор серверов или других облачных ресурсов, по которым распределяются запросы пользователей. Целевая группа выглядит как список внутренних IP-адресов и подсетей, к которым эти IP-адреса относятся.
Допустим, вам нужно распределить трафик по пяти виртуальным машинам (ВМ). В этом случае целевая группа балансировщика может выглядеть так:
10.10.10.15, e9b7a3k9rqq3j0j36m9u
10.10.10.20, e9b7a3k9rqq3j0j36m9u
10.10.20.31, e2lgvksek5io187a48q5
10.10.20.10, e2lgvksek5io187a48q5
10.10.30.20, b0cnsvg8jfoe938ktqp4
Здесь перечислены пять внутренних IP-адресов, причём для каждого адреса указан идентификатор его подсети. Все адреса целевых ресурсов должны принадлежать одной облачной сети.
Чтобы посмотреть список подсетей и их идентификаторов, откройте в консоли управления раздел Virtual Private Cloud и перейдите на вкладку
Облачные сети.
Второе базовое понятие — обработчик. Это приложение принимает соединения от пользователей, распределяет их между IP-адресами целевой группы, а затем передаёт обратный трафик клиентам.
Адресация трафика строится по принципу 5-tuple: учитывается адрес и порт отправителя, адрес и порт целевого (принимающего) облачного ресурса, а также протокол передачи информации. Для приёма трафика обработчик использует порты от
1
до 32767
.При создании сетевого балансировщика необязательно сразу настраивать обработчик. Если хотите, добавьте его позднее.
Кроме того, вы можете задать несколько обработчиков. Это пригодится, если запущенный на ВМ сервис предполагает использование нескольких портов сразу. К примеру, вы используете надстройку над Git наподобие GitLab. Значит, одновременно должны быть доступны и веб-интерфейс, и сервер Git, работающие на разных портах.
Целевую группу можно подключить к нескольким балансировщикам — например, чтобы балансировщики на портах
80
и 443
смогли обрабатывать и HTTP-, и HTTPS-запросы. Однако в этом случае вам придётся использовать разные целевые порты. Если группа подключена к одному балансировщику на порту 8080
, то к другому балансировщику вам придётся подключить её на порту 8081
.После подключения целевой группы балансировщик начнёт проверять состояние целевых ресурсов и сможет распределять нагрузку между ними.