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. Задайте имя балансировщика.

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

  6. В блоке Обработчики нажмите Добавить обработчик.

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

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

  9. В блоке Целевые группы нажмите Добавить целевую группу.

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

    • Нажмите Создать целевую группу.

    • Введите имя целевой группы.

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

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

  11. (опционально) Под блоком Проверка состояния нажмите Настроить и в открывшемся окне:

    • Введите имя проверки состояния.

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

    • Если вы выбрали проверку через HTTP, то в поле Путь укажите URL, по которому будут выполняться проверки.

    • Укажите порт из диапазона 1-32767.

    • Укажите время ожидания ответа в секундах.

    • Укажите интервал отправки проверок состояния в секундах.

    • Укажите порог работоспособности — количество успешных проверок, после которого виртуальная машина будет считаться готовой к приему трафика.

    • Укажите порог неработоспособности — количество проваленных проверок, после которого на виртуальную машину перестанет подаваться трафик.

    • Нажмите кнопку Применить.

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

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

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

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

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

    yc load-balancer network-load-balancer create \
      --region-id ru-central1 \
      --name test-load-balancer-2 \
      --listener name=test-listener,external-ip-version=ipv4,port=80
    
  3. Получите список всех балансировщиков, чтобы убедиться, что балансировщик создан:

    yc load-balancer network-load-balancer list
    

Создать новый сетевой балансировщик можно с помощью метода API create.

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

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

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

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

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

    • 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 и путь, по которому будут выполняться проверки.

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

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

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

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

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

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

      terraform plan
      

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

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

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

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

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

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

Примеры

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

CLI
Terraform

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

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

    Пример создания сетевого балансировщика без обработчика с помощью Terraform
    resource "yandex_lb_network_load_balancer" "foo" {
      name = "my-network-load-balancer"
    }
    

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

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

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

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

      terraform plan
      

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

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

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

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

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

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

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

CLI
Terraform
  1. Чтобы создать балансировщик с обработчиком и сразу подключить к нему заранее созданную целевую группу, получите список целевых групп:

    yc load-balancer target-group list
    

    Результат:

    +----------------------+-------------------+---------------------+-------------+--------------+
    |          ID          |       NAME        |       CREATED       |  REGION ID  | TARGET COUNT |
    +----------------------+-------------------+---------------------+-------------+--------------+
    | b7roi767je4c574iivrk | test-target-group | 2018-12-03 14:41:04 | ru-central1 |            1 |
    +----------------------+-------------------+---------------------+-------------+--------------+
    
  2. Выполните следующую команду:

    yc load-balancer network-load-balancer create \
      --region-id ru-central1 \
      --name test-load-balancer-3 \
      --listener name=test-listener,external-ip-version=ipv4,port=80 \
      --target-group target-group-id=b7rjtf12qdeehrj31hri,healthcheck-name=http,healthcheck-interval=2s,healthcheck-timeout=1s,healthcheck-unhealthythreshold=2,healthcheck-healthythreshold=2,healthcheck-http-port=80
    

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

    Обратите внимание на формат параметров healthcheck-interval и healthcheck-timeout: необходимо указывать значение в формате Ns.

  1. Чтобы создать сетевой балансировщик с обработчиком, откройте файл конфигурации Terraform и добавьте блок listener в описании сетевого балансировщика. Чтобы подключить целевую группу, добавьте блок attached_target_group с указанием на целевую группу в поле target_group_id.

    Пример создания сетевого балансировщика с обработчиком и подключенной целевой группой с помощью Terraform
    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"
            }
        }
      }
    }
    

    Более подробную информацию о ресурсах, которые вы можете создать с помощью 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 ООО «Яндекс.Облако»
В этой статье:
  • Примеры
  • Создание сетевого балансировщика без обработчика
  • Создание сетевого балансировщика с обработчиком и подключенной целевой группой