Добавить обработчик к сетевому балансировщику
Чтобы добавить обработчик к сетевому балансировщику:
-
В консоли управления
выберите каталог, где требуется добавить обработчик к балансировщику. -
В списке сервисов выберите Network Load Balancer.
-
В строке балансировщика, к которому нужно добавить обработчик, нажмите на значок
и выберите Добавить обработчик. -
В открывшемся окне задайте параметры обработчика:
-
Имя.
-
Протокол —
TCP
илиUDP
.Примечание
По умолчанию обработчик работает по протоколу TCP. Чтобы использовать протокол UDP, запросите в технической поддержке
эту возможность. -
Порт, на котором обработчик будет принимать входящий трафик. Возможные значения: от
1
до32767
. -
Целевой порт, куда балансировщик будет направлять трафик. Возможные значения: от
1
до32767
. -
Нажмите кнопку Добавить.
-
Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.
По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --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"
}
}
}