Интеграция группы ВМ с Network Load Balancer или Application Load Balancer
Сервисы Yandex Network Load Balancer и Yandex Application Load Balancer позволяют распределять входящую нагрузку между виртуальными машинами Yandex Compute Cloud. Группу виртуальных машин можно интегрировать с этими сервисами: Compute Cloud автоматически создаст из группы ВМ целевую группу Network Load Balancer или Application Load Balancer и будет следить, чтобы в группу не добавлялись «нездоровые» ВМ.
Как работает интеграция
Создание целевой группы
В сервисах балансировки нагрузки Yandex Cloud целевая группа — это набор ресурсов, на которых запущены ваши сетевые приложения. Балансировщик, к которому привязана целевая группа, распределяет входящие запросы между ее ресурсами. Подробнее о целевых группах см. в документации Network Load Balancer и Application Load Balancer.
Как правило, целевые группы состоят из виртуальных машин Compute Cloud. Поэтому группу ВМ можно настроить так, чтобы из нее автоматически создалась целевая группа Network Load Balancer или Application Load Balancer. Созданная таким образом целевая группа будет связана с группой ВМ:
- когда ВМ добавляется в группу ВМ или запускается после остановки, она добавляется в целевую группу;
- когда ВМ останавливается или удаляется из группы ВМ, она удаляется из целевой группы.
Чтобы целевая группа начала получать трафик, ее нужно привязать к балансировщику. Compute Cloud не делает этого автоматически.
- Целевую группу Network Load Balancer нужно привязать к балансировщику напрямую.
- Целевую группу Application Load Balancer нужно привязать к группе бэкендов, а группу бэкендов — к балансировщику, напрямую или через HTTP-роутер, в зависимости от типа балансировки. Подробнее см. в инструкциях по управлению ресурсами Application Load Balancer.
Проверки состояния от балансировщиков
Когда целевая группа привязана к балансировщику, он отправляет машинам в этой группе проверки состояния, чтобы при распределении трафика знать, какие ВМ «здоровы», а какие нет. Подробнее о проверках состояния см. в документации Network Load Balancer и Application Load Balancer.
ВМ, добавленная в группу ВМ или запущенная после остановки, попадает в целевую группу, получает статус OPENING_TRAFFIC
в группе ВМ, и балансировщик начинает отправлять на нее проверки состояния. Если ВМ пройдет нужное количество проверок (порог работоспособности, который указывается в настройках проверки), то балансировщик сочтет ее «здоровой» — она начнет получать трафик от балансировщика и перейдет в статус RUNNING_ACTUAL
.
По умолчанию ВМ может находиться в статусе OPENING_TRAFFIC
неограниченное время, пока не станет «здоровой». Вы можете ограничить это время в настройках интеграции (поле max_opening_traffic_duration
). Тогда Compute Cloud автоматически восстановит ВМ, которая не получает трафик слишком долго с момента добавления в группу или запуска. Подробнее о восстановлении см. в разделе Особенности автоматического восстановления.
Настройки
Интеграцию группы ВМ с Network Load Balancer или Application Load Balancer можно настроить в консоли управления или описать в YAML-спецификации группы, чтобы передать спецификацию через один из программных инструментов — интерфейс командной строки (CLI) или API Yandex Cloud. Настройки можно указать при создании или изменении группы.
Группа ВМ может быть интегрирована только с одним из сервисов: либо с Network Load Balancer, либо с Application Load Balancer. Настроить интеграцию группы ВМ с обоими сервисами сразу нельзя.
Ниже описаны поля с настройками в YAML-спецификации и соответствующие им поля в консоли управления.
Настройки интеграции с Network Load Balancer
load_balancer_spec:
target_group_spec:
name: "ig-tg"
description: "Instance group as target group"
labels:
foo: "baz"
bar: "baz"
max_opening_traffic_duration: 30s
Поля и опции в консоли управления находятся в блоке Интеграция с Network Load Balancer на страницах создания и редактирования группы ВМ.
Ключ в YAML Поле или опция в консоли |
Описание |
---|---|
load_balancer_spec Создать целевую группу |
Настройки интеграции группы ВМ с Network Load Balancer. Если ключа нет в YAML-спецификации или опция в консоли управления отключена, группа не будет интегрирована с Network Load Balancer. |
target_group_spec |
Параметры целевой группы Network Load Balancer, создаваемой из группы ВМ. |
name Имя целевой группы |
Имя целевой группы. |
description Описание целевой группы |
Описание целевой группы. |
labels |
Метки целевой группы в формате <имя_метки>: <значение_метки> . |
max_opening_traffic_duration Время ожидания трафика |
Время, в течение которого новая ВМ в группе должна пройти проверку состояния от балансировщика. Возможные значения — 0 и от 1 секунды. Значение по умолчанию — 0: время ожидания не ограничено. Подробнее см. в разделе Проверки состояния от балансировщиков. |
Настройки интеграции с Application Load Balancer
application_load_balancer_spec:
target_group_spec:
name: "ig-tg"
description: "Instance group as target group"
labels:
foo: "baz"
bar: "baz"
max_opening_traffic_duration: 30s
Поля и опции в консоли управления находятся в блоке Интеграция с Application Load Balancer на страницах создания и редактирования группы ВМ.
Ключ в YAML Поле или опция в консоли |
Описание |
---|---|
application_load_balancer_spec Создать целевую группу |
Настройки интеграции группы ВМ с Application Load Balancer. Если ключа нет в YAML-спецификации или опция в консоли управления отключена, группа не будет интегрирована с Application Load Balancer. |
target_group_spec |
Параметры целевой группы Application Load Balancer, создаваемой из группы ВМ. |
name Имя целевой группы |
Имя целевой группы. |
description Описание целевой группы |
Описание целевой группы. |
labels |
Метки целевой группы в формате <имя_метки>: <значение_метки> . |
max_opening_traffic_duration Время ожидания трафика |
Время, в течение которого новая ВМ в группе должна пройти проверку состояния от балансировщика. Возможные значения — 0 и от 1 секунды. Значение по умолчанию — 0: время ожидания не ограничено. Подробнее см. в разделе Проверки состояния от балансировщиков. |