Yandex Cloud
Поиск
Связаться с намиПодключиться
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
    • Популярные
    • Инфраструктура и сеть
    • Платформа данных
    • Контейнеры
    • Инструменты разработчика
    • Бессерверные вычисления
    • Безопасность
    • Мониторинг и управление ресурсами
    • Машинное обучение
    • Бизнес-инструменты
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Облако для интеграторов
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Контент-программа
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Истории успеха
    • Тарифы Yandex Cloud
    • Промоакции и free tier
    • Правила тарификации
  • Документация
  • Блог
Проект Яндекса
© 2025 ООО «Яндекс.Облако»
Yandex Network Load Balancer
  • Начало работы
    • Все инструкции
      • Информация об имеющихся сетевых балансировщиках
      • Создать балансировщик
      • Создать внутренний балансировщик
      • Остановить и запустить сетевой балансировщик
      • Изменить настройки балансировщика
      • Переместить ВМ в целевую группу в новой зоне доступности
      • Удалить балансировщик
      • Проверить состояние целевых ресурсов
      • Добавить обработчик
      • Удалить обработчик
    • Посмотреть операции с ресурсами сервиса
  • Управление доступом
  • Правила тарификации
  • Справочник Terraform
  • Метрики Monitoring
  • Аудитные логи Audit Trails
  • История изменений
  • Вопросы и ответы
  • Обучающие курсы

В этой статье:

  • Примеры
  • Создание сетевого балансировщика без обработчика
  • Создание сетевого балансировщика с обработчиком и подключенной целевой группой
  1. Пошаговые инструкции
  2. Сетевые балансировщики
  3. Создать балансировщик

Создать сетевой балансировщик

Статья создана
Yandex Cloud
Улучшена
Обновлена 21 апреля 2025 г.
  • Примеры
    • Создание сетевого балансировщика без обработчика
    • Создание сетевого балансировщика с обработчиком и подключенной целевой группой

Примечание

Перед созданием сетевого балансировщика создайте целевую группу, чтобы подключить ее к балансировщику.

Задать тип балансировщика (внешний или внутренний) можно только при его создании. В дальнейшем изменить тип балансировщика нельзя.

Консоль управления
CLI
Terraform
API

Чтобы создать сетевой балансировщик:

  1. В консоли управления выберите каталог, где требуется создать балансировщик.

  2. В списке сервисов выберите Network Load Balancer.

  3. Нажмите кнопку Создать сетевой балансировщик.

  4. Задайте имя балансировщика. Требования к имени:

    • длина — от 2 до 63 символов;
    • может содержать строчные буквы латинского алфавита, цифры и дефисы;
    • первый символ — буква, последний — не дефис.
  5. Назначьте балансировщику публичный IP-адрес. Адрес можно назначить автоматически или выбрать из списка зарезервированных адресов.

  6. В блоке Обработчики добавьте обработчик:

    1. Нажмите кнопку Добавить обработчик.

    2. В открывшемся окне задайте параметры обработчика:

      • Имя.

      • Протокол — TCP или UDP.

        Примечание

        По умолчанию обработчик работает по протоколу TCP. Чтобы использовать протокол UDP, запросите в технической поддержке эту возможность.

      • Порт, на котором обработчик будет принимать входящий трафик. Возможные значения: от 1 до 32767.

      • Целевой порт, куда балансировщик будет направлять трафик. Возможные значения: от 1 до 32767.

    3. Нажмите кнопку Добавить.

  7. В блоке Целевые группы добавьте целевую группу:

    1. Нажмите кнопку Добавить целевую группу.

    2. Выберите целевую группу или создайте новую:

      • В поле Целевая группа выберите Создать целевую группу.
      • В открывшемся окне введите имя целевой группы.
      • Добавьте в целевую группу виртуальные машины.
      • Нажмите кнопку Создать.
    3. (Опционально) Под блоком Проверка состояния нажмите кнопку Настроить. В открывшемся окне задайте параметры проверки состояния ресурсов:

      • Имя.
      • Тип — HTTP или TCP. Для проверки по протоколу HTTP в поле Путь укажите адрес URL, по которому будут выполняться проверки.
      • Порт для проверок. Возможные значения: от 1 до 32767.
      • Время ожидания, c — время ожидания ответа в секундах. Возможные значения: от 1 до 60. Интервал должен быть больше времени ожидания минимум на 1 секунду.
      • Интервал, c — интервал выполнения проверок состояния в секундах. Возможные значения: от 1 до 60.
      • Порог работоспособности — количество успешных проверок, после которого виртуальная машина будет считаться готовой к приему трафика.
      • Порог неработоспособности — количество проваленных проверок, после которого на виртуальную машину перестанет подаваться трафик.
    4. Нажмите кнопку Применить.

  8. Нажмите кнопку Создать.

Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.

По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.

  1. Посмотрите описание команды CLI для создания сетевого балансировщика:

    yc load-balancer network-load-balancer create --help
    
  2. Чтобы создать балансировщик с обработчиком и целевой группой, выполните команду:

    yc load-balancer network-load-balancer create <имя_балансировщика> \
       --listener name=<имя_обработчика>,`
                 `port=<порт>,`
                 `target-port=<целевой_порт>,`
                 `protocol=<протокол>,`
                 `external-ip-version=<версия_IP-адреса> \
       --target-group target-group-id=<идентификатор_целевой_группы>,`
                     `healthcheck-name=<имя_проверки_состояния>,`
                     `healthcheck-interval=<интервал_между_проверками>s,`
                     `healthcheck-timeout=<таймаут_проверки_состояния>s,`
                     `healthcheck-unhealthythreshold=<количество_проваленных_проверок_для_статуса_Unhealthy>,`
                     `healthcheck-healthythreshold=<количество_успешных_проверок_для_статуса_Healthy>,`
                     `healthcheck-tcp-port=<TCP-порт>,`
                     `healthcheck-http-port=<HTTP-порт>,`
                     `healthcheck-http-path=<адрес_URL>
    

    Где:

    • --listener — параметры обработчика:
      • name — имя обработчика.
      • port — порт, на котором сетевой балансировщик будет принимать входящий трафик. Возможные значения: от 1 до 32767.
      • target-port — целевой порт, куда балансировщик будет направлять трафик. Возможные значения: от 1 до 32767.
      • protocol — протокол, по которому будет работать обработчик: tcp или udp.
      • external-address — внешний IP-адрес обработчика.
      • external-ip-version — версия внешнего IP-адреса: ipv4 или ipv6.
    • --target-group — параметры целевой группы и настройки проверки состояния её ресурсов:

      • target-group-id — идентификатор целевой группы.

        Чтобы узнать идентификатор, получите список целевых групп в каталоге.

      • healthcheck-name — имя проверки состояния ресурсов.

      • healthcheck-interval — интервал выполнения проверок состояния в секундах. Возможные значения: от 1s до 60s. Интервал должен быть больше времени ожидания минимум на 1 секунду.

      • healthcheck-timeout — время ожидания ответа в секундах. Возможные значения: от 1s до 60s.

      • healthcheck-unhealthythreshold — количество проваленных проверок, после которого на виртуальную машину перестанет подаваться трафик. Возможные значения: от 2 до 10.

      • healthcheck-healthythreshold — количество успешных проверок, после которого виртуальная машина будет считаться готовой к приему трафика. Возможные значения: от 2 до 10.

      • healthcheck-tcp-port — порт для проверок по протоколу TCP. Возможные значения: от 1 до 32767.

      • healthcheck-http-port — порт для проверок по протоколу HTTP. Возможные значения: от 1 до 32767.

      • healthcheck-http-path — адрес URL, по которому будут выполняться проверки по протоколу HTTP.

      Указывать одновременно healthcheck-tcp-port и healthcheck-http-port нельзя.

      Важно

      Для параметров healthcheck-interval и healthcheck-timeout необходимо указывать значение в формате <время_в_секундах>s, например 20s.

Terraform позволяет быстро создать облачную инфраструктуру в Yandex Cloud и управлять ею с помощью файлов конфигураций. В файлах конфигураций хранится описание инфраструктуры на языке HCL (HashiCorp Configuration Language). При изменении файлов конфигураций Terraform автоматически определяет, какая часть вашей конфигурации уже развернута, что следует добавить или удалить.

Terraform распространяется под лицензией Business Source License, а провайдер Yandex Cloud для Terraform — под лицензией MPL-2.0.

Подробную информацию о ресурсах провайдера смотрите в документации на сайте Terraform или в зеркале.

Если у вас еще нет Terraform, установите его и настройте провайдер Yandex Cloud.

  1. Опишите в конфигурационном файле параметры ресурса сетевого балансировщика.

    Пример структуры конфигурационного файла:

    resource "yandex_lb_network_load_balancer" "foo" {
      name = "<имя_балансировщика>"
      deletion_protection = "<защита_от_удаления>"
      listener {
        name = "<имя_обработчика>"
        port = <номер_порта>
        external_address_spec {
          ip_version = "<версия_IP-адреса>"
        }
      }
      attached_target_group {
        target_group_id = "<идентификатор_целевой_группы>"
        healthcheck {
          name = "<имя_проверки_состояния>"
          http_options {
            port = <номер_порта>
            path = "<адрес_URL>"
          }
        }
      }
    }
    

    Где:

    • name — имя сетевого балансировщика.
    • deletion_protection — защита сетевого балансировщика от удаления. Пока опция включена, балансировщик удалить невозможно. Включенная защита от удаления не запрещает удалять обработчики и целевые группы балансировщика. Значение по умолчанию false.
    • listener — параметры обработчика:
      • name — имя обработчика.
      • port — порт, на котором сетевой балансировщик будет принимать входящий трафик, из диапазона от 1 до 32767.
      • external_address_spec — спецификация обработчика для внешнего балансировщика:
        • ip_version — описание внешнего IP-адреса. Укажите версию IP-адреса: ipv4 или ipv6. По умолчанию ipv4.
    • attached_target_group — описание параметров целевой группы для сетевого балансировщика:
      • target_group_id — идентификатор целевой группы.

        Чтобы узнать идентификатор, получите список целевых групп в каталоге.

      • healthcheck — описание параметров проверки состояния. Укажите имя, порт из диапазона от 1 до 32767 и путь, по которому будут выполняться проверки.

    Более подробную информацию о параметрах ресурса yandex_lb_network_load_balancer в Terraform см. в документации провайдера.

  2. Проверьте корректность настроек.

    1. В командной строке перейдите в каталог, в котором расположены актуальные конфигурационные файлы Terraform с планом инфраструктуры.

    2. Выполните команду:

      terraform validate
      

      Если в файлах конфигурации есть ошибки, Terraform на них укажет.

  3. Создайте сетевой балансировщик.

    1. Выполните команду для просмотра планируемых изменений:

      terraform plan
      

      Если конфигурации ресурсов описаны верно, в терминале отобразится список изменяемых ресурсов и их параметров. Это проверочный этап: ресурсы не будут изменены.

    2. Если вас устраивают планируемые изменения, внесите их:

      1. Выполните команду:

        terraform apply
        
      2. Подтвердите изменение ресурсов.

      3. Дождитесь завершения операции.

Чтобы создать новый сетевой балансировщик, воспользуйтесь методом REST API create для ресурса NetworkLoadBalancer или вызовом gRPC API NetworkLoadBalancerService/Create.

ПримерыПримеры

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

Создайте сетевой балансировщик без обработчика и целевой группы с именем test-load-balancer-1.

CLI
Terraform
API

Выполните следующую команду:

yc load-balancer network-load-balancer create test-load-balancer-1
  1. Опишите в конфигурационном файле параметры ресурса без блока listener и attached_target_group:

    resource "yandex_lb_network_load_balancer" "foo" {
      name = "test-load-balancer-1"
      deletion_protection = "true"
    }
    

    Более подробную информацию о ресурсах, которые вы можете создать с помощью Terraform, см. в документации провайдера.

  2. Проверьте корректность настроек.

    1. В командной строке перейдите в каталог, в котором расположены актуальные конфигурационные файлы Terraform с планом инфраструктуры.

    2. Выполните команду:

      terraform validate
      

      Если в файлах конфигурации есть ошибки, Terraform на них укажет.

  3. Создайте сетевой балансировщик.

    1. Выполните команду для просмотра планируемых изменений:

      terraform plan
      

      Если конфигурации ресурсов описаны верно, в терминале отобразится список изменяемых ресурсов и их параметров. Это проверочный этап: ресурсы не будут изменены.

    2. Если вас устраивают планируемые изменения, внесите их:

      1. Выполните команду:

        terraform apply
        
      2. Подтвердите изменение ресурсов.

      3. Дождитесь завершения операции.

Воспользуйтесь методом API create и передайте в теле запроса:

{
  "folderId": "<идентификатор_каталога>",
  "name": "test-load-balancer-1",
  "type": "EXTERNAL"
}

Создание сетевого балансировщика с обработчиком и подключенной целевой группойСоздание сетевого балансировщика с обработчиком и подключенной целевой группой

Создайте сетевой балансировщик с обработчиком и подключенной целевой группой с тестовыми характеристиками:

  • Имя test-load-balancer-2.
  • Параметры обработчика:
    • Имя test-listener.
    • Порт 80.
    • Целевой порт 81.
    • Протокол TCP.
    • Версия IP-адреса ipv4.
  • Идентификатор целевой группы enpu2l7q9kth********.
  • Параметры проверки состояния ресурсов целевой группы:
    • Имя http.
    • Интервал выполнения проверок состояния 2 секунды.
    • Время ожидания ответа 1 секунда.
    • Порог неработоспособности 2.
    • Порог работоспособности 2.
    • Порт для проверок по протоколу HTTP 80.
    • Адрес URL, по которому будут выполняться проверки /.
CLI
Terraform
API

Выполните следующую команду:

yc load-balancer network-load-balancer create test-load-balancer-2 \
   --listener name=test-listener,`
             `port=80,`
             `target-port=81,`
             `protocol=tcp,`
             `external-ip-version=ipv4 \
   --target-group target-group-id=enpu2l7q9kth********,`
                 `healthcheck-name=http,`
                 `healthcheck-interval=2s,`
                 `healthcheck-timeout=1s,`
                 `healthcheck-unhealthythreshold=2,`
                 `healthcheck-healthythreshold=2,`
                 `healthcheck-http-port=80,`
                 `healthcheck-http-path=/
  1. Опишите в конфигурационном файле параметры ресурса с блоками listener и attached_target_group:

    resource "yandex_lb_network_load_balancer" "foo" {
      name = "test-load-balancer-2"
      deletion_protection = "true"
      listener {
        name        = "test-listener"
        port        = 80
        target_port = 81
        protocol    = "tcp"
        external_address_spec {
          ip_version = "ipv4"
        }
      }
      attached_target_group {
        target_group_id = "enpu2l7q9kth********"
        healthcheck {
          name                = "http"
          interval            = 2
          timeout             = 1
          unhealthy_threshold = 2
          healthy_threshold   = 2
          http_options {
            port = 80
            path = "/"
          }
        }
      }
    }
    

    Более подробную информацию о ресурсах, которые вы можете создать с помощью Terraform, см. в документации провайдера.

  2. Проверьте корректность настроек.

    1. В командной строке перейдите в каталог, в котором расположены актуальные конфигурационные файлы Terraform с планом инфраструктуры.

    2. Выполните команду:

      terraform validate
      

      Если в файлах конфигурации есть ошибки, Terraform на них укажет.

  3. Создайте сетевой балансировщик.

    1. Выполните команду для просмотра планируемых изменений:

      terraform plan
      

      Если конфигурации ресурсов описаны верно, в терминале отобразится список изменяемых ресурсов и их параметров. Это проверочный этап: ресурсы не будут изменены.

    2. Если вас устраивают планируемые изменения, внесите их:

      1. Выполните команду:

        terraform apply
        
      2. Подтвердите изменение ресурсов.

      3. Дождитесь завершения операции.

Воспользуйтесь методом API create и передайте в теле запроса:

{
  "folderId": "<идентификатор_каталога>",
  "name": "test-load-balancer-2",
  "type": "EXTERNAL",
  "listenerSpecs": [
    {
      "name": "test-listener",
      "port": "80",
      "protocol": "TCP",
      "targetPort": "81",
      "externalAddressSpec": {
        "ipVersion": "IPV4"
      }
    }
  ],
  "attachedTargetGroups": [
    {
      "targetGroupId": "b7rjtf12qdee********",
      "healthChecks": [
        {
          "name": "http",
          "interval": "2s",
          "timeout": "1s",
          "unhealthyThreshold": "2",
          "healthyThreshold": "2",
          "httpOptions": {
            "port": "80",
            "path": "/"
          }
        }
      ]
    }
  ]
}

Была ли статья полезна?

Предыдущая
Информация об имеющихся сетевых балансировщиках
Следующая
Создать внутренний балансировщик
Проект Яндекса
© 2025 ООО «Яндекс.Облако»