Добавить обработчик к сетевому балансировщику
Чтобы добавить обработчик к сетевому балансировщику:
-
В консоли управления
выберите каталог, где требуется добавить обработчик к балансировщику. -
В списке сервисов выберите Network Load Balancer.
-
В строке балансировщика, к которому нужно добавить обработчик, нажмите на значок
и выберите Добавить обработчик. -
В открывшемся окне задайте параметры обработчика:
-
Имя.
-
Протокол —
TCPилиUDP.Примечание
По умолчанию обработчик работает по протоколу TCP. Чтобы использовать протокол UDP, запросите в технической поддержке
эту возможность. -
Порт, на котором обработчик будет принимать входящий трафик. Возможные значения: от
1до32767. -
Целевой порт, куда балансировщик будет направлять трафик. Возможные значения: от
1до32767. -
Нажмите кнопку Добавить.
-
Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.
По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.
Чтобы добавить обработчик к сетевому балансировщику, выполните команду:
yc load-balancer network-load-balancer add-listener <имя_или_идентификатор_балансировщика> \
--listener name=<имя_обработчика>,`
`port=<порт>,`
`target-port=<целевой_порт>,`
`protocol=<протокол>,`
`external-address=<внешний_IP-адрес>,`
`external-ip-version=<версия_IP-адреса>
Где:
--listener— параметры обработчика:name— имя обработчика.port— порт, на котором сетевой балансировщик будет принимать входящий трафик. Возможные значения: от1до32767.target-port— целевой порт, куда балансировщик будет направлять трафик. Возможные значения: от1до32767.protocol— протокол, по которому будет работать обработчик:tcpилиudp.external-address— внешний IP-адрес обработчика.external-ip-version— версия внешнего IP-адреса:ipv4илиipv6.
Идентификатор и имя балансировщика можно получить со списком сетевых балансировщиков в каталоге.
Terraform
Terraform распространяется под лицензией Business Source License
Подробную информацию о ресурсах провайдера смотрите в документации на сайте Terraform
Если у вас еще нет Terraform, установите его и настройте провайдер Yandex Cloud.
-
Откройте файл конфигурации Terraform и добавьте блок
listenerв описании сетевого балансировщика:resource "yandex_lb_network_load_balancer" "foo" { name = "<имя_балансировщика>" ... listener { name = "<имя_обработчика>" port = <номер_порта> external_address_spec { ip_version = "<версия_IP-адреса>" } } ... }Где:
name— имя сетевого балансировщика.listener— параметры обработчика:name— имя обработчика.port— порт, на котором сетевой балансировщик будет принимать входящий трафик, из диапазона от1до32767.external_address_spec— спецификация обработчика для внешнего балансировщика:ip_version— описание внешнего IP-адреса. Укажите версию IP-адреса:ipv4илиipv6. По умолчаниюipv4.
Более подробную информацию о параметрах ресурса
yandex_lb_network_load_balancerв Terraform, см. в документации провайдера. -
Проверьте корректность настроек.
-
В командной строке перейдите в каталог, в котором расположены актуальные конфигурационные файлы Terraform с планом инфраструктуры.
-
Выполните команду:
terraform validateЕсли в файлах конфигурации есть ошибки, Terraform на них укажет.
-
-
Добавьте обработчик.
-
Выполните команду для просмотра планируемых изменений:
terraform planЕсли конфигурации ресурсов описаны верно, в терминале отобразится список изменяемых ресурсов и их параметров. Это проверочный этап: ресурсы не будут изменены.
-
Если вас устраивают планируемые изменения, внесите их:
-
Выполните команду:
terraform apply -
Подтвердите изменение ресурсов.
-
Дождитесь завершения операции.
-
-
Чтобы добавить обработчик к сетевому балансировщику, воспользуйтесь методом REST API addListener для ресурса NetworkLoadBalancer или вызовом gRPC API NetworkLoadBalancerService/AddListener.
Примеры
Добавление обработчика сетевому балансировщику
Добавьте сетевому балансировщику test-load-balancer обработчик с тестовыми характеристиками:
- Имя
test-listener. - Порт
80. - Целевой порт
81. - Протокол
TCP. - Версия IP-адреса
ipv4.
Выполните следующую команду:
yc load-balancer network-load-balancer add-listener test-load-balancer \
--listener name=test-listener,`
`port=80,`
`target-port=81,`
`protocol=tcp,`
`external-ip-version=ipv4
-
Откройте файл конфигурации Terraform и добавьте блок
listenerв описании сетевого балансировщика:resource "yandex_lb_network_load_balancer" "foo" { name = "test-load-balancer" listener { name = "test-listener" port = 80 target_port = 81 protocol = "tcp" external_address_spec { ip_version = "ipv4" } } }Более подробную информацию о ресурсах, которые вы можете создать с помощью Terraform, см. в документации провайдера.
-
Проверьте корректность настроек.
-
В командной строке перейдите в каталог, в котором расположены актуальные конфигурационные файлы Terraform с планом инфраструктуры.
-
Выполните команду:
terraform validateЕсли в файлах конфигурации есть ошибки, Terraform на них укажет.
-
-
Создайте сетевой балансировщик.
-
Выполните команду для просмотра планируемых изменений:
terraform planЕсли конфигурации ресурсов описаны верно, в терминале отобразится список изменяемых ресурсов и их параметров. Это проверочный этап: ресурсы не будут изменены.
-
Если вас устраивают планируемые изменения, внесите их:
-
Выполните команду:
terraform apply -
Подтвердите изменение ресурсов.
-
Дождитесь завершения операции.
-
-
Воспользуйтесь методом API addListener и передайте в теле запроса:
{
"listenerSpec": {
"name": "test-listener",
"port": "80",
"protocol": "TCP",
"targetPort": "81",
"externalAddressSpec": {
"ipVersion": "ipv4"
}
}
}