Yandex Cloud
  • Сервисы
  • Решения
  • Почему Yandex Cloud
  • Сообщество
  • Тарифы
  • Документация
  • Связаться с нами
Подключиться
Language / Region
Проект Яндекса
© 2023 ООО «Яндекс.Облако»
Yandex Network Load Balancer
  • Начало работы
  • Пошаговые инструкции
    • Все инструкции
    • Сетевые балансировщики
      • Создать балансировщик
      • Создать внутренний балансировщик
      • Запустить балансировщик
      • Остановить балансировщик
      • Удалить балансировщик
      • Проверить состояние целевых ресурсов
      • Добавить обработчик
      • Удалить обработчик
    • Целевые группы
      • Создать целевую группу
      • Подключить целевую группу к балансировщику
      • Отключить целевую группу от балансировщика
      • Удалить целевую группу
  • Концепции
    • Сетевой балансировщик нагрузки
    • Внутренний сетевой балансировщик
    • Обработчик
    • Целевые ресурсы и группы
    • Проверка состояния ресурсов
    • Квоты и лимиты
  • Рекомендации по использованию сервиса
  • Управление доступом
  • Правила тарификации
  • Справочник API
    • Аутентификация в API
    • gRPC (англ.)
      • Overview
      • NetworkLoadBalancerService
      • TargetGroupService
      • OperationService
    • REST (англ.)
      • Overview
      • NetworkLoadBalancer
        • Overview
        • addListener
        • attachTargetGroup
        • create
        • delete
        • detachTargetGroup
        • get
        • getTargetStates
        • list
        • listOperations
        • removeListener
        • start
        • stop
        • update
      • TargetGroup
        • Overview
        • addTargets
        • create
        • delete
        • get
        • list
        • listOperations
        • removeTargets
        • update
      • Operation
        • Overview
        • get
  • Вопросы и ответы
  1. Пошаговые инструкции
  2. Сетевые балансировщики
  3. Добавить обработчик

Добавить обработчик к сетевому балансировщику

Статья создана
Yandex Cloud
  • Примеры
    • Добавление обработчика внутреннему сетевому балансировщику
Консоль управления
CLI
API
Terraform

Чтобы добавить обработчик к сетевому балансировщику:

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

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

  3. В строке балансировщика, к которому нужно добавить обработчик, нажмите значок и выберите Добавить обработчик.

  4. В открывшемся окне:

    • Укажите порт, на котором обработчик будет принимать входящий трафик, из диапазона от 1 до 32767.
    • Укажите целевой порт, на который балансировщик будет направлять трафик, из диапазона от 1 до 32767.
    • Нажмите Добавить.

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

По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name или --folder-id.

Чтобы добавить обработчик к сетевому балансировщику:

  1. Получите список балансировщиков:

    yc load-balancer network-load-balancer list
    +----------------------+--------------------+-------------+----------+----------------+------------------------+----------+
    |          ID          |        NAME        |  REGION ID  |   TYPE   | LISTENER COUNT | ATTACHED TARGET GROUPS |  STATUS  |
    +----------------------+--------------------+-------------+----------+----------------+------------------------+----------+
    | c58r8boim8qfkcqtuioj | test-load-balancer | ru-central1 | EXTERNAL |              0 |                        | INACTIVE |
    +----------------------+--------------------+-------------+----------+----------------+------------------------+----------+
    
    
  2. Добавьте обработчик, указав его имя, порт и версию IP-адреса:

    yc load-balancer network-load-balancer add-listener c580id04kvumgn7ssfh1 \
      --listener name=test-listener,port=80,external-ip-version=ipv4
    .....done
    id: c58r8boim8qfkcqtuioj
    folder_id: aoerb349v3h4bupphtaf
    created_at: "2019-04-01T09:29:25Z"
    name: test-load-balancer
    region_id: ru-central1
    status: INACTIVE
    type: EXTERNAL
    listeners:
    - name: test-listener
      address: <IP-адрес обработчика>
      port: "80"
      protocol: TCP
    

Добавить обработчик можно с помощью метода API addListener.

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

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

При изменении файлов конфигураций Terraform автоматически определяет, какая часть вашей конфигурации уже развернута, что следует добавить или удалить.

Подробнее о Terraform читайте в документации.

  1. Откройте файл конфигурации Terraform и добавьте блок listener в описании сетевого балансировщика:

    ...
    resource "yandex_lb_network_load_balancer" "foo" {
      name = "my-network-load-balancer"
      listener {
        name = "my-listener"
        port = 9000
        external_address_spec {
          ip_version = "ipv4"
        }
      }
      attached_target_group {
        target_group_id = "${yandex_lb_target_group.my-target-group.id}"
        healthcheck {
          name = "http"
            http_options {
              port = 9000
              path = "/ping"
            }
        }
      }
    }
    ...
    

    Где:

    • name — имя сетевого балансировщика. Формат имени:

      • Длина — от 3 до 63 символов.
      • Может содержать строчные буквы латинского алфавита, цифры и дефисы.
      • Первый символ — буква. Последний символ — не дефис.
    • listener — описание параметров обработчика для сетевого балансировщика:

      • name — имя обработчика. Формат имени:

        • Длина — от 3 до 63 символов.
        • Может содержать строчные буквы латинского алфавита, цифры и дефисы.
        • Первый символ — буква. Последний символ — не дефис.
      • port — порт, на котором сетевой балансировщик будет принимать входящий трафик, из диапазона от 1 до 32767.

      • external_address_spec — описание внешнего IP-адреса. Укажите версию IP-адреса (ipv4 или ipv6). По умолчанию ipv4.

    • attached_target_group — описание параметров целевой группы для сетевого балансировщика:

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

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

  2. Проверьте конфигурацию командой:

    terraform validate
    

    Если конфигурация является корректной, появится сообщение:

    Success! The configuration is valid.
    
  3. Выполните команду:

    terraform plan
    

    В терминале будет выведен список ресурсов с параметрами. На этом этапе изменения не будут внесены. Если в конфигурации есть ошибки, Terraform на них укажет.

  4. Примените изменения конфигурации:

    terraform apply
    
  5. Подтвердите изменения: введите в терминал слово yes и нажмите Enter.

    Проверить изменение сетевого балансировщика можно в консоли управления или с помощью команды CLI:

    yc load-balancer network-load-balancer get <имя сетевого балансировщика>
    

Примеры

Добавление обработчика внутреннему сетевому балансировщику

CLI
Terraform

Выполните команду, указав имя обработчика, порт, идентификатор подсети и внутренний адрес из диапазона адресов подсети:

yc load-balancer network-load-balancer add-listener b7rc2h753djb3a5dej1i \
  --listener name=test-listener,port=80,internal-subnet-id=e9b81t3kjmi0auoi0vpj,internal-address=10.10.0.14
  1. Откройте файл конфигурации Terraform и добавьте блок listener в описании внутреннего сетевого балансировщика:

    Пример добавление обработчика внутреннему сетевому балансировщику с помощью Terraform
    resource "yandex_lb_network_load_balancer" "internal-lb-test" {
      name = "internal-lb-test"
      type = "internal"
      listener {
        name = "my-listener"
        port = 9000
        internal_address_spec {
          subnet_id  = "b0cp4drld130kuprafls"
          ip_version = "ipv4"
        }
      }
    }
    

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

  2. Проверьте корректность конфигурационных файлов.

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

    2. Выполните проверку с помощью команды:

      terraform plan
      

    Если конфигурация описана верно, в терминале отобразится список создаваемых ресурсов и их параметров. Если в конфигурации есть ошибки, Terraform на них укажет.

  3. Разверните облачные ресурсы.

    1. Если в конфигурации нет ошибок, выполните команду:

      terraform apply
      
    2. Подтвердите создание ресурсов: введите в терминал слово yes и нажмите Enter.

      После этого в указанном каталоге будут созданы все требуемые ресурсы. Проверить появление ресурсов и их настройки можно в консоли управления или с помощью команды CLI:

      yc load-balancer network-load-balancer get <имя внутреннего сетевого балансировщика>
      

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

Language / Region
Проект Яндекса
© 2023 ООО «Яндекс.Облако»
В этой статье:
  • Примеры
  • Добавление обработчика внутреннему сетевому балансировщику