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

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

  • Изменить базовые параметры группы
  • Добавить бэкенд в группу
  • Изменить параметры бэкенда в группе
  • Удалить бэкенд из группы
  • См. также
  1. Пошаговые инструкции
  2. Группы бэкендов
  3. Изменить группу бэкендов

Изменить группу бэкендов

Статья создана
Yandex Cloud
Улучшена
Обновлена 21 апреля 2025 г.
  • Изменить базовые параметры группы
  • Добавить бэкенд в группу
  • Изменить параметры бэкенда в группе
  • Удалить бэкенд из группы
    • См. также

Изменить базовые параметры группыИзменить базовые параметры группы

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

Примечание

Изменить тип группы можно только с помощью других инструментов: CLI, Terraform, API.

  1. В консоли управления выберите каталог, в котором создана группа бэкендов.
  2. Выберите сервис Application Load Balancer.
  3. На панели слева выберите Группы бэкендов.
  4. Нажмите на имя нужной группы.
  5. Нажмите Редактировать.
  6. Измените параметры группы:
    • Имя и Описание группы бэкендов.

    • Привязка сессий — опция, при которой запросы в рамках одной пользовательской сессии обрабатывает один и тот же эндпоинт.

      Примечание

      Сейчас привязка сессий работает, только если в группе бэкендов активен (имеет положительный вес) один бэкенд, он состоит из одной или нескольких целевых групп и для него выбран режим балансировки MAGLEV_HASH.

      Для группы бэкендов типа HTTP или gRPC доступны режимы:

      • По IP-адресу.
      • По HTTP-заголовку.
      • По cookie.

      Для типа Stream привязка сессий всегда работает по IP-адресу.

      Подробнее о привязке сессий и ее режимах см. в разделе.

  7. Внизу страницы нажмите кнопку Сохранить.

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

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

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

    yc alb backend-group update --help
    
  2. Выполните команду:

    yc alb backend-group update \
      --name <имя_группы_бэкендов> \
      --new-name <новое_имя_группы_бэкендов> \
      --description <описание_группы_бэкендов> \
      --labels key=value[,<ключ>=<значение_метки>] \
      --connection-affinity source-ip=<режим_привязки_сессий_по_IP-адресу>
    

    Где:

    • --name — имя группы бэкендов.

    • --new-name — новое имя группы бэкендов. Требования к имени:

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

    • --labels key=value — список меток в формате ключ=значение. Необязательный параметр.

    • --connection-affinity — режим привязки сессий по IP-адресу (source-ip). Может принимать значения true или false. Необязательный параметр. Также доступны режимы --cookie-affinity (по cookie) и --header-affinity (по HTTP-заголовку). Может быть указан только один из режимов. Если группа бэкендов типа Stream, режим привязки может быть только --connection-affinity.

      Примечание

      Сейчас привязка сессий работает, только если в группе бэкендов активен (имеет положительный вес) один бэкенд, он состоит из одной или нескольких целевых групп и для него выбран режим балансировки MAGLEV_HASH.

    Результат:

    id: ds7mi7mlqgct********
    name: <имя_группы_бэкендов>
    description: update
    folder_id: b1g6hif00bod********
    labels:
      bar: buz
      foo: buz
    http:
      backends:
      - name: <имя_бэкенда>
        backend_weight: "2"
        load_balancing_config:
          panic_threshold: "90"
        port: "80"
        target_groups:
          target_group_ids:
          - ds75pc3146dh********
        healthchecks:
        - timeout: 10s
          interval: 2s
          healthy_threshold: "10"
          unhealthy_threshold: "15"
          healthcheck_port: "80"
          http:
            host: <адрес_хоста>
            path: <путь>
      connection:
        source_ip: true
    created_at: "2022-11-30T17:46:05.599491104Z"
    

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

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

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

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

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

    resource "yandex_alb_backend_group" "test-backend-group" {
      name        = "<имя_группы_бэкендов>"
      description = "<описание_группы_бэкендов>"
      labels      = {
        new-label = "test-label"
      }
      session_affinity {
        connection {
          source_ip = <режим_привязки_сессий_по_IP-адресу>
        }
      }
    ...
    }
    

    Где yandex_alb_backend_group — параметры группы бэкендов:

    • name — имя группы бэкендов.

    • description — описание группы бэкендов. Необязательный параметр.

    • labels — список меток в формате ключ=значение. Необязательный параметр.

    • session_affinity — настройки привязки сессий (необязательный параметр).

      Примечание

      Сейчас привязка сессий работает, только если в группе бэкендов активен (имеет положительный вес) один бэкенд, он состоит из одной или нескольких целевых групп и для него выбран режим балансировки MAGLEV_HASH.

      • connection — режим привязки сессий по IP-адресу (source_ip). Может принимать значения true или false. Также доступны режимы cookie и header. Должен быть указан только один из режимов. Если группа бэкендов имеет тип Stream (состоит из ресурсов stream_backend), то привязка сессий может иметь только режим connection.

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

  2. Примените изменения:

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

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

      terraform validate
      

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

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

      terraform plan
      

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

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

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

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

    yc alb backend-group get --name <имя_группы_бэкендов>
    

Чтобы изменить базовые параметры группы бэкендов, воспользуйтесь методом REST API update для ресурса BackendGroup или вызовом gRPC API BackendGroupService/Update.

Добавить бэкенд в группуДобавить бэкенд в группу

Консоль управления
CLI
Terraform
API
  1. В консоли управления выберите каталог, в котором создан бэкенд.

  2. Выберите сервис Application Load Balancer.

  3. На панели слева выберите Группы бэкендов.

  4. Нажмите на имя нужной группы.

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

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

    • Имя бэкенда.

    • Вес — относительный вес бэкенда при распределении трафика. Если опция в поле отключена, эндпоинты бэкенда не будут получать трафик (вес будет равен 0).

    • Тип бэкенда (для группы бэкендов типа HTTP): Целевая группа (целевые группы Application Load Balancer) или Бакет (бакет Object Storage). Для группы бэкендов типа gRPC или Stream тип любого бэкенда — Целевая группа. Подробнее о типах бэкендов см. в разделе Типы бэкендов.

    • Следующие настройки доступны только для типа бэкенда Целевая группа:

      • В блоке Настройки балансировки:

        • Режим балансировки — режим распределения трафика между эндпоинтами бэкенда.
        • Порог для режима паники — доля работоспособных эндпоинтов, при которой включится режим паники: балансировщик будет распределять запросы во все эндпоинты, не учитывая результаты проверок состояния.
        • Локализация трафика — доля входящего трафика, которую узел балансировщика передает бэкендам из своей зоны доступности. Остальной трафик поровну делится между другими зонами. Подробнее см. в разделе Локализация трафика.
        • Строгая локализация — опция, при которой балансировщик будет отвечать ошибкой (503 Service Unavailable), если в зоне доступности, где был принят запрос, нет работающих бэкендов приложения.
      • В блоке Настройки протокола:

        • Для группы бэкендов типа HTTP:

          • HTTP/2 — опция использования протокола HTTP/2 при отправке запросов к бэкенду для группы бэкендов типа HTTP. По умолчанию используется протокол версии 1.1. Группы бэкендов типа gRPC поддерживают только HTTP/2-соединения.

          • Протокол — протокол соединений с бэкендом: HTTP (без шифрования) или HTTPS (с TLS-шифрованием). Для протокола HTTPS укажите:

            • SNI. Доменное имя хоста для Server Name Indication — расширения TLS.
            • Доверенный корневой сертификат. Укажите корневой сертификат (Root CA) для цепочки сертификатов, установленной на эндпоинтах бэкендов. Поддерживаются сертификаты стандарта X.509 в формате PEM.
        • Для группы бэкендов типа gRPC:

          • Протокол — протокол соединений с бэкендом: Открытый или Зашифрованный. Для зашифрованного протокола укажите SNI и Доверенный корневой сертификат (см. выше).
        • Для группы бэкендов типа Stream:

          • Протокол PROXY — опция, при которой балансировщик передает бэкенду метаданные своего соединения с клиентом, в том числе его IP-адрес, по протоколу PROXY от HAProxy.

          • Протокол — протокол соединений с бэкендом: Открытый или Зашифрованный. Для зашифрованного протокола укажите SNI и Доверенный корневой сертификат (см. выше).

    • Следующие настройки доступны только для типа бэкенда Бакет для типа группы бэкендов HTTP:

      • Формат указания бакета — выберите одну из опций: Список или ID.
      • Бакет — выберите из списка или укажите идентификатор нужного бакета.
    • В блоке HTTP проверка состояния, gRPC проверка состояния или Stream проверка состояния:

      • Таймаут, с — время ожидания ответа. Максимальный период, на который может быть установлено соединение.

      • Интервал — интервал отправки проверочных запросов.

      • Порог работоспособности — количество последовательных успешных проверок, после которых эндпоинт считается работоспособным. Игнорируется в начале работы балансировщика: достаточно одной проверки.

      • Порог неработоспособности — количество последовательных неуспешных проверок, после которых эндпоинт считается неработоспособным. Игнорируется, если бэкенд один раз ответил HTTP-кодом состояния 503 Service Unavailable: он сразу считается неработоспособным.

      • Порт.

      • Тип — протокол, по которому будет осуществляться проверка: HTTP, gRPC или Stream. Тип проверки может не совпадать с типом группы бэкендов. Дополнительно укажите:

        • Для типа HTTP:

          • Путь — путь в URI запроса к эндпоинту.
          • Authority — значение заголовка Host для HTTP/1.1 или псевдо-заголовка :authority для HTTP/2, которое будет передаваться эндпоинтам бэкенда при проверках состояния.
          • HTTP/2 — опция использования протокола HTTP версии 2.
          • HTTP-коды — список HTTP-кодов, которые считаются корректными при проверке состояния бэкенда.
        • Для типа gRPC:

          • Имя сервиса — имя проверяемого gRPC-сервиса. Если сервис не указан, проверяется общее состояние бэкенда.
        • Для типа Stream:

          • Отправка — данные, которые отправляются на эндпоинт для проверки состояния.
          • Получение — данные, которые должны поступить с эндпоинта, чтобы он прошел проверку состояния.

      Внимание

      Если в зоне доступности все бэкенды с подключенными проверками состояния не прошли проверки, трафик перестанет поступать в зону, даже если в ней есть рабочие бэкенды без проверок состояния.

      Рекомендуется настраивать проверки состояния для всех бэкендов.

      Чтобы добавить проверку состояния, внизу блока бэкенда нажмите кнопку Добавить проверку состояния и задайте настройки проверки.

      Чтобы удалить проверку состояния, напротив заголовка HTTP проверка состояния, gRPC проверка состояния или Stream проверка состояния нажмите и выберите Удалить.

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

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

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

Добавьте в группу бэкенд и проверку состояния.

Внимание

Если в зоне доступности все бэкенды с подключенными проверками состояния не прошли проверки, трафик перестанет поступать в зону, даже если в ней есть рабочие бэкенды без проверок состояния.

Рекомендуется настраивать проверки состояния для всех бэкендов.

Внутри группы все бэкенды должны быть одного типа — HTTP или Stream.

HTTP-бэкенд

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

yc alb backend-group add-http-backend \
  --backend-group-name <имя_бэкенд_группы> \
  --name <имя_добавляемого_бэкенда> \
  --weight <вес_бэкенда> \
  --port <порт_бэкенда> \
  --target-group-id=<идентификатор_целевой_группы> \
  --panic-threshold 90 \
  --http-healthcheck port=80,healthy-threshold=10,unhealthy-threshold=15,expected-statuses=211,\
timeout=10s,interval=2s,host=<адрес_хоста>,path=<путь>

Где:

  • --name — имя существующего бэкенда, параметры которого хотите обновить, или имя нового бэкенда, который хотите добавить.
  • --panic-threshold — порог для режима паники.
  • --http-healthcheck — параметры проверки состояния ресурсов:
    • port — порт.
    • healthy-threshold — порог работоспособности.
    • unhealthy-threshold — порог неработоспособности.
    • expected-statuses — код состояния HTTP, который будет считаться корректным при проверке состояния бэкенда. Чтобы добавить несколько значений, укажите их через запятую: expected-statuses=201,expected-statuses=205,expected-statuses=302. Коды могут принимать значения от 100 до 599. Если параметр не задан, код ответа будет один — 200.
    • timeout — максимальный период, на который может быть установлено соединение.
    • interval — интервал.
    • host — адрес хоста.
    • path — путь.

Результат:

id: a5dqkr2mk3rr********
name: <имя_группы_бэкендов>
folder_id: aoe197919j8e********
...
        host: <адрес_хоста>
        path: <путь>
created_at: "2021-02-11T20:46:21.688940670Z"
gRPC-бэкенд

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

yc alb backend-group add-grpc-backend \
  --backend-group-name <имя_бэкенд_группы> \
  --name <имя_добавляемого_бэкенда> \
  --weight <вес_бэкенда> \
  --port <порт_бэкенда> \
  --target-group-id=<идентификатор_целевой_группы> \
  --panic-threshold 90 \
  --grpc-healthcheck port=80,healthy-threshold=10,unhealthy-threshold=15,\
timeout=10s,interval=2s,service-name=<имя_gRPC-сервиса>

Где:

  • --panic-threshold — порог для режима паники.
  • --grpc-healthcheck — параметры проверки состояния ресурсов:
    • port — порт.
    • healthy-threshold — порог работоспособности.
    • unhealthy-threshold — порог неработоспособности.
    • timeout — максимальный период, на который может быть установлено соединение.
    • interval — интервал.
    • service-name — имя проверяемого gRPC-сервиса. Если сервис не указан, проверяется общее состояние бэкенда.

Результат:

id: a5dqkr2mk3rr********
name: <имя_группы_бэкендов>
folder_id: aoe197919j8e********
...
          grpc:
            service_name: <имя_gRPC-сервиса>
...
created_at: "2021-02-11T20:46:21.688940670Z"
Stream-бэкенд

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

yc alb backend-group add-stream-backend \
  --backend-group-name <имя_бэкенд_группы> \
  --name <имя_добавляемого_бэкенда> \
  --weight <вес_бэкенда> \
  --port <порт_бэкенда> \
  --target-group-id=<идентификатор_целевой_группы> \
  --panic-threshold 90 \
  --enable-proxy-protocol \
  --keep-connections-on-host-health-failure \
  --stream-healthcheck port=80,healthy-threshold=10,unhealthy-threshold=15,\
timeout=10s,interval=2s,send-text=<данные_к_эндпоинту>,receive-text=<данные_от_эндпоинта>

Где:

  • --panic-threshold — порог для режима паники.
  • --enable-proxy-protocol — опция, при которой балансировщик передает бэкенду метаданные своего соединения с клиентом, в том числе его IP-адрес, по протоколу PROXY от HAProxy. Если опция не задана, в бэкенд передается только IP-адрес балансировщика.
  • --keep-connections-on-host-health-failure — опция позволяет сохранять соединение, даже когда проверка состояния неуспешна.
  • --stream-healthcheck — параметры проверки состояния ресурсов:
    • port — порт.
    • healthy-threshold — порог работоспособности.
    • unhealthy-threshold — порог неработоспособности.
    • timeout — максимальный период, на который может быть установлено соединение.
    • interval — интервал.
    • send-text — данные, которые отправляются на эндпоинт для проверки состояния.
    • receive-text — данные, которые должны поступить с эндпоинта, чтобы он прошел проверку состояния.

Результат:

id: ds77tero4f5********
name: <имя_группы_бэкендов>
folder_id: b1gu6g9ielh6********
...
            text: <данные_к_эндпоинту>
          receive:
            text: <данные_от_эндпоинта>
    enable_proxy_protocol: true
created_at: "2022-04-06T09:17:57.104324513Z"

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

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

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

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

  1. Откройте конфигурационный файл Terraform и добавьте блок с описанием бэкенда (http_backend, grpc_backend или stream_backend) во фрагмент с описанием группы бэкендов:

    resource "yandex_alb_backend_group" "test-backend-group" {
      name                     = "<имя_группы_бэкендов>"
    
      stream_backend {
        name                   = "<имя_бэкенда>"
        weight                 = 1
        port                   = 80
        target_group_ids       = ["<идентификатор_целевой_группы>"]
        load_balancing_config {
          panic_threshold      = 90
        }
        enable_proxy_protocol  = true
        healthcheck {
          timeout              = "10s"
          interval             = "2s"
          healthy_threshold    = 10
          unhealthy_threshold  = 15 
          stream_healthcheck {
            send               = "<данные_к_эндпоинту>"
            receive            = "<данные_от_эндпоинта>"
          }
        }
      }
    }
    

    Где yandex_alb_backend_group — параметры группы бэкендов:

    • name — имя группы бэкендов.
    • http_backend, grpc_backend и stream_backend — тип бэкенда. Внутри группы все бэкенды должны быть одного типа — HTTP, gRPC или Stream.

    Параметры бэкенда:

    • name — имя бэкенда.

    • port — порт бэкенда.

    • weight — вес бэкенда.

    • target_group_ids — идентификатор целевой группы. Получить список доступных целевых групп можно с помощью команды CLI: yc alb target-group list.

    • load_balancing_config — параметры балансировки:

      • panic_threshold — порог для режима паники.
    • enable_proxy_protocol — опция, при которой балансировщик передает бэкенду метаданные своего соединения с клиентом, в том числе его IP-адрес, по протоколу PROXY от HAProxy. Если опция не задана, в бэкенд передается только IP-адрес балансировщика. Параметр доступен только для бэкендов типа Stream.

    • healthcheck — параметры проверки состояния:

      • timeout — максимальный период, на который может быть установлено соединение.
      • interval — интервал.
      • healthy_threshold — порог работоспособности.
      • unhealthy_threshold — порог неработоспособности.
      • http_healthcheck — параметры проверки состояния типа HTTP:
        • path — путь.
        • host — адрес хоста.
      • grpc_healthcheck — параметры проверки состояния типа gRPC:
        • service_name — имя проверяемого gRPC-сервиса. Если сервис не указан, проверяется общее состояние бэкенда.
      • stream_healthcheck — параметры проверки состояния типа Stream:
        • send — данные, которые отправляются на эндпоинт для проверки состояния.
        • receive — данные, которые должны поступить с эндпоинта, чтобы он прошел проверку состояния.

      Внимание

      Если в зоне доступности все бэкенды с подключенными проверками состояния не прошли проверки, трафик перестанет поступать в зону, даже если в ней есть рабочие бэкенды без проверок состояния.

      Рекомендуется настраивать проверки состояния для всех бэкендов.

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

  2. Примените изменения:

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

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

      terraform validate
      

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

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

      terraform plan
      

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

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

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

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

    yc alb backend-group get --name <имя_группы_бэкендов>
    

Чтобы изменить базовые параметры группы, воспользуйтесь методом REST API addBackend для ресурса BackendGroup или вызовом gRPC API BackendGroupService/AddBackend.

Изменить параметры бэкенда в группеИзменить параметры бэкенда в группе

Консоль управления
CLI
Terraform
API
  1. В консоли управления выберите каталог, в котором создан бэкенд.
  2. Выберите сервис Application Load Balancer.
  3. На панели слева выберите Группы бэкендов.
  4. Нажмите на имя нужной группы.
  5. Напротив имени бэкенда нажмите и выберите Редактировать.
  6. В открывшемся окне задайте настройки бэкенда. Подробнее о настройках см. выше.
  7. Нажмите кнопку Сохранить.

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

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

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

    yc alb backend-group update-<тип_бэкенда>-backend --help
    
  2. Укажите новые параметры бэкенда в зависимости от его типа:

    HTTP-бэкенд

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

    yc alb backend-group update-http-backend \
      --backend-group-name <имя_группы_бэкендов> \
      --name <имя_бэкенда> \
      --weight <вес_бэкенда> \
      --port <порт_бэкенда> \
      --target-group-id=<идентификатор_целевой_группы> \
      --panic-threshold 90 \
      --http-healthcheck port=80,healthy-threshold=10,unhealthy-threshold=15,expected-statuses=211,\
    timeout=10s,interval=2s,host=your-host.com,path=/ping
    

    Где:

    • --name — имя существующего бэкенда, параметры которого хотите обновить, или имя нового бэкенда, который хотите добавить.
    • --panic-threshold — порог для режима паники.
    • --http-healthcheck — параметры проверки состояния ресурсов:
      • port — порт.
      • healthy-threshold — порог работоспособности.
      • unhealthy-threshold — порог неработоспособности.
      • expected-statuses — код состояния HTTP, который будет считаться корректным при проверке состояния бэкенда. Чтобы добавить несколько значений, укажите их через запятую: expected-statuses=201,expected-statuses=205,expected-statuses=302. Коды могут принимать значения от 100 до 599. Если параметр не задан, код ответа будет один — 200.
      • timeout — максимальный период, на который может быть установлено соединение.
      • interval — интервал.
      • host — адрес хоста.
      • path — путь.

    Результат:

    id: a5dqkr2mk3rr********
    name: <имя_группы_бэкендов>
    folder_id: aoe197919j8e********
    ...
            host: <адрес_хоста>
            path: <путь>
    created_at: "2021-02-11T20:46:21.688940670Z"
    
    gRPC-бэкенд

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

    yc alb backend-group update-grpc-backend \
      --backend-group-name <имя_группы_бэкендов> \
      --name <имя_добавляемого_бэкенда> \
      --weight <вес_бэкенда> \
      --port <порт_бэкенда> \
      --target-group-id=<идентификатор_целевой_группы> \
      --panic-threshold 90 \
      --grpc-healthcheck port=80,healthy-threshold=10,unhealthy-threshold=15,\
    timeout=10s,interval=2s,service-name=<имя_gRPC-сервиса>
    

    Где:

    • --panic-threshold — порог для режима паники.
    • --grpc-healthcheck — параметры проверки состояния ресурсов:
      • port — порт.
      • healthy-threshold — порог работоспособности.
      • unhealthy-threshold — порог неработоспособности.
      • timeout — максимальный период, на который может быть установлено соединение.
      • interval — интервал.
      • service-name — имя проверяемого gRPC-сервиса. Если сервис не указан, проверяется общее состояние бэкенда.

    Результат:

    id: a5dqkr2mk3rr********
    name: <имя_группы_бэкендов>
    folder_id: aoe197919j8e********
    ...
              grpc:
                service_name: <имя_gRPC-сервиса>
    ...
    created_at: "2021-02-11T20:46:21.688940670Z"
    
    Stream-бэкенд

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

    yc alb backend-group update-stream-backend \
      --backend-group-name <имя_группы_бэкендов> \
      --name <имя_добавляемого_бэкенда> \
      --weight <вес_бэкенда> \
      --port <порт_бэкенда> \
      --target-group-id=<идентификатор_целевой_группы> \
      --panic-threshold 90 \
      --enable-proxy-protocol \
      --keep-connections-on-host-health-failure \
      --stream-healthcheck port=80,healthy-threshold=10,unhealthy-threshold=15,\
    timeout=10s,interval=2s,send-text=<данные_к_эндпоинту>,receive-text=<данные_от_эндпоинта>
    

    Где:

    • --panic-threshold — порог для режима паники.
    • --enable-proxy-protocol — опция, при которой балансировщик передает бэкенду метаданные своего соединения с клиентом, в том числе его IP-адрес, по протоколу PROXY от HAProxy. Если опция не задана, в бэкенд передается только IP-адрес балансировщика.
    • --keep-connections-on-host-health-failure — опция позволяет сохранять соединение, даже когда проверка состояния неуспешна.
    • --stream-healthcheck — параметры проверки состояния ресурсов:
      • port — порт.
      • healthy-threshold — порог работоспособности.
      • unhealthy-threshold — порог неработоспособности.
      • timeout — максимальный период, на который может быть установлено соединение.
      • interval — интервал.
      • send-text — данные, которые отправляются на эндпоинт для проверки состояния.
      • receive-text — данные, которые должны поступить с эндпоинта, чтобы он прошел проверку состояния.

    Результат:

    id: ds77tero4f5********
    name: <имя_группы_бэкендов>
    folder_id: b1gu6g9ielh6********
    ...
                text: <данные_к_эндпоинту>
              receive:
                text: <данные_от_эндпоинта>
        enable_proxy_protocol: true
    created_at: "2022-04-06T09:17:57.104324513Z"
    

    Внимание

    Если в зоне доступности все бэкенды с подключенными проверками состояния не прошли проверки, трафик перестанет поступать в зону, даже если в ней есть рабочие бэкенды без проверок состояния.

    Рекомендуется настраивать проверки состояния для всех бэкендов.

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

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

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

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

  1. Откройте конфигурационный файл Terraform и измените параметры блока с описанием бэкенда (http_backend, grpc_backend или stream_backend) во фрагменте с описанием группы бэкендов:

    resource "yandex_alb_backend_group" "test-backend-group" {
      name                     = "<имя_группы_бэкендов>"
    
      stream_backend {
        name                   = "<имя_бэкенда>"
        weight                 = 1
        port                   = 80
        target_group_ids       = ["<идентификатор_целевой_группы>"]
        load_balancing_config {
          panic_threshold      = 90
        }
        enable_proxy_protocol  = true
        healthcheck {
          timeout              = "10s"
          interval             = "2s"
          healthy_threshold    = 10
          unhealthy_threshold  = 15 
          stream_healthcheck {
            send               = "<данные_к_эндпоинту>"
            receive            = "<данные_от_эндпоинта>"
          }
        }
      }
    }
    

    Где yandex_alb_backend_group — параметры группы бэкендов:

    • name — имя группы бэкендов.
    • http_backend, grpc_backend и stream_backend — тип бэкенда. Внутри группы все бэкенды должны быть одного типа — HTTP, gRPC или Stream.

    Параметры бэкенда:

    • name — имя бэкенда.

    • port — порт бэкенда.

    • weight — вес бэкенда.

    • target_group_ids — идентификатор целевой группы. Получить список доступных целевых групп можно с помощью команды CLI: yc alb target-group list.

    • load_balancing_config — параметры балансировки:

      • panic_threshold — порог для режима паники.
    • enable_proxy_protocol — опция, при которой балансировщик передает бэкенду метаданные своего соединения с клиентом, в том числе его IP-адрес, по протоколу PROXY от HAProxy. Если опция не задана, в бэкенд передается только IP-адрес балансировщика. Параметр доступен только для бэкендов типа Stream.

    • healthcheck — параметры проверки состояния:

      • timeout — максимальный период, на который может быть установлено соединение.
      • interval — интервал.
      • healthy_threshold — порог работоспособности.
      • unhealthy_threshold — порог неработоспособности.
      • http_healthcheck — параметры проверки состояния типа HTTP:
        • path — путь.
        • host — адрес хоста.
      • grpc_healthcheck — параметры проверки состояния типа gRPC:
        • service_name — имя проверяемого gRPC-сервиса. Если сервис не указан, проверяется общее состояние бэкенда.
      • stream_healthcheck — параметры проверки состояния типа Stream:
        • send — данные, которые отправляются на эндпоинт для проверки состояния.
        • receive — данные, которые должны поступить с эндпоинта, чтобы он прошел проверку состояния.

      Внимание

      Если в зоне доступности все бэкенды с подключенными проверками состояния не прошли проверки, трафик перестанет поступать в зону, даже если в ней есть рабочие бэкенды без проверок состояния.

      Рекомендуется настраивать проверки состояния для всех бэкендов.

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

  2. Примените изменения:

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

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

      terraform validate
      

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

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

      terraform plan
      

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

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

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

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

    yc alb backend-group get --name <имя_группы_бэкендов>
    

Чтобы изменить параметры бэкенда в группе, воспользуйтесь методом REST API updateBackend для ресурса BackendGroup или вызовом gRPC API BackendGroupService/UpdateBackend.

Удалить бэкенд из группыУдалить бэкенд из группы

Чтобы удалить бэкенд из группы:

Консоль управления
CLI
Terraform
API
  1. В консоли управления выберите каталог, в котором создан бэкенд.
  2. Выберите сервис Application Load Balancer.
  3. На панели слева выберите Группы бэкендов.
  4. Нажмите на имя нужной группы.
  5. Напротив имени бэкенда нажмите и выберите Удалить.
  6. В открывшемся окне нажмите кнопку Удалить.

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

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

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

    yc application-load-balancer delete-<тип_бэкенда>-backend --help
    
  2. В зависимости от типа бэкенда выполните команду для удаления:

    • HTTP-бэкенд:

      yc alb backend-group delete-http-backend \
        --backend-group-name=<имя_группы_бэкендов> \
        --name=<имя_удаляемого_бэкенда>
      
    • gRPC-бэкенд:

      yc alb backend-group delete-grpc-backend \
        --backend-group-name=<имя_группы_бэкендов> \
        --name=<имя_удаляемого_бэкенда>
      
    • Stream-бэкенд:

      yc alb backend-group delete-stream-backend \
        --backend-group-name=<имя_группы_бэкендов> \
        --name=<имя_удаляемого_бэкенда>
      

    Результат:

    id: a5dqkr2mk3rr********
    name: <имя_бэкенда>
    folder_id: aoe197919j8e********
    created_at: "2021-02-11T20:46:21.688940670Z"
    

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

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

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

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

  1. Откройте конфигурационный файл Terraform и удалите блок с описанием бэкенда (http_backend, grpc_backend или stream_backend) во фрагменте с описанием группы бэкендов.

    Пример описания группы бэкендов в конфигурации Terraform:

    resource "yandex_alb_backend_group" "test-backend-group" {
      name                     = "<имя_группы_бэкендов>"
    
      http_backend {
        name                   = "<имя_бэкенда>"
        weight                 = 1
        port                   = 80
        target_group_ids       = ["<идентификатор_целевой_группы>"]
        load_balancing_config {
          panic_threshold      = 90
        }
        healthcheck {
          timeout              = "10s"
          interval             = "2s"
          healthy_threshold    = 10
          unhealthy_threshold  = 15
          http_healthcheck {
            path               = "/"
          }
        }
      }
    }
    

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

  2. Примените изменения:

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

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

      terraform validate
      

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

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

      terraform plan
      

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

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

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

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

    yc alb backend-group get --name <имя_группы_бэкендов>
    

Воспользуйтесь методом REST API removeBackend для ресурса BackendGroup или вызовом gRPC API BackendGroupService/RemoveBackend.

См. такжеСм. также

  • Рекомендации по настройке проверок состояния Yandex Application Load Balancer

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

Предыдущая
Получить информацию о группе бэкендов
Следующая
Удалить группу бэкендов
Проект Яндекса
© 2025 ООО «Яндекс.Облако»