Yandex Cloud
  • Сервисы
  • Решения
  • Почему Yandex Cloud
  • Сообщество
  • Тарифы
  • Документация
  • Связаться с нами
Подключиться
Language / Region
Проект Яндекса
© 2023 ООО «Яндекс.Облако»
Yandex Application Load Balancer
  • Начало работы
  • Пошаговые инструкции
    • Все инструкции
    • Целевые группы
      • Создать целевую группу
      • Изменить целевую группу
      • Удалить целевую группу
    • Группы бэкендов
      • Создать группу бэкендов
      • Изменить группу бэкендов
      • Удалить группу бэкендов
    • HTTP-роутеры
      • Создать HTTP-роутер для HTTP-трафика
      • Создать HTTP-роутер для gRPC-трафика
      • Изменить HTTP-роутер
      • Удалить HTTP-роутер
    • L7-балансировщики
      • Создать L7-балансировщик
      • Изменить L7-балансировщик
      • Посмотреть статистику L7-балансировщика
      • Посмотреть логи L7-балансировщика
      • Получить идентификатор лог-группы L7-балансировщика
      • Остановить и запустить L7-балансировщик
      • Удалить L7-балансировщик
    • Инструменты для Managed Service for Kubernetes
      • Установить Ingress-контроллер
      • Установить Gateway API
      • Создать или изменить ресурсы по конфигурации
  • Практические руководства
    • Все практические руководства
    • Организация виртуального хостинга
    • Создание балансировщика с защитой от DDoS
    • Интеграция L7-балансировщика с CDN и Object Storage
    • Сине-зеленое и канареечное развертывание версий сервиса
    • Терминирование TLS-соединений
    • Запись логов балансировщика в PostgreSQL
    • Развертывание и нагрузочное тестирование gRPC-сервиса с масштабированием
  • Концепции
    • Обзор
    • Балансировщики нагрузки
    • HTTP-роутеры
    • Группы бэкендов
    • Целевые группы
    • Квоты и лимиты
  • Инструменты для Managed Service for Kubernetes
    • Ingress-контроллер
      • Обзор
      • Принципы работы
    • Gateway API
    • Необходимые настройки
      • Группы безопасности
      • Сервисный аккаунт
  • Управление доступом
  • Правила тарификации
  • Справочник API
    • Аутентификация в API
    • gRPC (англ.)
      • Overview
      • BackendGroupService
      • HttpRouterService
      • LoadBalancerService
      • TargetGroupService
      • VirtualHostService
      • OperationService
    • REST (англ.)
      • Overview
      • BackendGroup
        • Overview
        • addBackend
        • create
        • delete
        • get
        • list
        • listOperations
        • removeBackend
        • update
        • updateBackend
      • HttpRouter
        • Overview
        • create
        • delete
        • get
        • list
        • listOperations
        • update
      • LoadBalancer
        • Overview
        • addListener
        • addSniMatch
        • create
        • delete
        • get
        • getTargetStates
        • list
        • listOperations
        • removeListener
        • removeSniMatch
        • start
        • stop
        • update
        • updateListener
        • updateSniMatch
      • TargetGroup
        • Overview
        • addTargets
        • create
        • delete
        • get
        • list
        • listOperations
        • removeTargets
        • update
      • VirtualHost
        • Overview
        • create
        • delete
        • get
        • list
        • removeRoute
        • update
        • updateRoute
  • Справочники инструментов для Managed Service for Kubernetes
    • Обзор
    • Ingress-контроллер
      • Ingress
      • HttpBackendGroup
    • Gateway API
      • Gateway
      • HTTPRoute
    • Service
  • Справочник логов
  1. Пошаговые инструкции
  2. Группы бэкендов
  3. Изменить группу бэкендов

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

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

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

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

Примечание

Изменить тип группы можно только с помощью других инструментов: 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. Вы можете указать другой каталог с помощью параметра --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=<true_или_false>
    

    Где:

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

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

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

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

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

      Примечание

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

    Результат:

    id: ds7mi7mlqgctp95cotf0
    name: test-backend-group
    description: update
    folder_id: b1g6hif00bod2o410drm
    labels:
      bar: buz
      foo: buz
    http:
      backends:
      - name: backend1
        backend_weight: "2"
        load_balancing_config:
          panic_threshold: "90"
        port: "80"
        target_groups:
          target_group_ids:
          - ds75pc3146dhsesgqe8s
        healthchecks:
        - timeout: 10s
          interval: 2s
          healthy_threshold: "10"
          unhealthy_threshold: "15"
          healthcheck_port: "80"
          http:
            host: your-host.com
            path: /ping
      connection:
        source_ip: true
    created_at: "2022-11-30T17:46:05.599491104Z"
    

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

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

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

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

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

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

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

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

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

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

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

      Примечание

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

      • connection — режим привязки сессий по IP-адресу (source_ip). Также доступны режимы 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 <имя_группы_бэкендов>
    

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

Консоль управления
CLI
Terraform
  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.
          • Сертификат от доверенного УЦ. Укажите сертификат удостоверяющего центра, которому балансировщик будет доверять при установке безопасного соединения с эндпоинтами бэкендов. Поддерживаются сертификаты стандарта X.509 в формате PEM.
      • Для группы бэкендов типа gRPC:

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

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

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

    • В блоке HTTP проверка состояния, gRPC проверка состояния или Stream проверка состояния:

      • Таймаут — время ожидания ответа.

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

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

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

      • Порт.

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

        • Для типа HTTP:

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

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

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

      Подробнее см. в разделе Проверки состояния.

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

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

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

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

По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --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, \
  timeout=10s,interval=2s,host=your-host.com,path=/ping

Где:

  • --panic-threshold — порог для режима паники.
  • --http-healthcheck — параметры проверки состояния ресурсов:
    • port — порт.
    • healthy-threshold — порог работоспособности.
    • unhealthy-threshold — порог неработоспособности.
    • timeout — таймаут.
    • interval — интервал.
    • host — адрес хоста.
    • path — путь.

Результат:

id: a5dqkr2mk3rr799f1npa
name: test-backend-group
folder_id: aoe197919j8elpeg1lkp
...
        host: your-host.com
        path: /ping
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 \
  --http-healthcheck port=80,healthy-threshold=10,unhealthy-threshold=15, \
  timeout=10s,interval=2s,host=your-host.com,path=/ping

Где:

  • --panic-threshold — порог для режима паники.
  • --http-healthcheck — параметры проверки состояния ресурсов:
    • port — порт.
    • healthy-threshold — порог работоспособности.
    • unhealthy-threshold — порог неработоспособности.
    • timeout — таймаут.
    • interval — интервал.
    • host — адрес хоста.
    • path — путь.

Результат:

id: ds77tero4f5h46l4e2gl
name: test-backend-group
folder_id: b1gu6g9ielh690at5bm7
...
        host: your-host.com
        path: /ping
created_at: "2022-04-06T09:17:57.104324513Z"

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

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

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

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

  1. Откройте конфигурационный файл Terraform и добавьте блок с описанием бэкенда (http_backend, grpc_backend или stream_backend) во фрагмент с описанием группы бэкендов:
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 — параметры группы бэкендов:

  • 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 — порог для режима паники.
  • healthcheck — параметры проверки состояния:
    • timeout — таймаут.
    • interval — интервал.
    • healthy_threshold — порог работоспособности.
    • unhealthy_threshold — порог неработоспособности.
    • http_healthcheck — параметры проверки состояния типа HTTP:
      • path — путь.

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

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

    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 <имя группы бэкендов>
    

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

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

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

По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --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,\
    timeout=10s,interval=2s,host=your-host.com,path=/ping
    

    Где:

    • --panic-threshold — порог для режима паники.
    • --http-healthcheck — параметры проверки состояния ресурсов:
      • port — порт.
      • healthy-threshold — порог работоспособности.
      • unhealthy-threshold — порог неработоспособности.
      • timeout — таймаут.
      • interval — интервал.
      • host — адрес хоста.
      • path — путь.

    Результат:

    id: a5dqkr2mk3rr799f1npa
    name: test-backend-group
    folder_id: aoe197919j8elpeg1lkp
    ...
            host: your-host.com
            path: /ping
    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 \
      --http-healthcheck port=80,healthy-threshold=10,unhealthy-threshold=15,\
    timeout=10s,interval=2s,host=your-host.com,path=/ping
    

    Где:

    • --panic-threshold — порог для режима паники.
    • --http-healthcheck — параметры проверки состояния ресурсов:
      • port — порт.
      • healthy-threshold — порог работоспособности.
      • unhealthy-threshold — порог неработоспособности.
      • timeout — таймаут.
      • interval — интервал.
      • host — адрес хоста.
      • path — путь.

    Результат:

    id: ds77tero4f5h46l4e2gl
    name: test-backend-group
    folder_id: b1gu6g9ielh690at5bm7
    ...
            host: your-host.com
            path: /ping
    created_at: "2022-04-06T09:17:57.104324513Z"
    

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

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

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

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

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

    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 — параметры группы бэкендов:

    • 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 — порог для режима паники.
    • healthcheck — параметры проверки состояния:
      • timeout — таймаут.
      • interval — интервал.
      • healthy_threshold — порог работоспособности.
      • unhealthy_threshold — порог неработоспособности.
      • http_healthcheck — параметры проверки состояния типа HTTP:
        • 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 <имя группы бэкендов>
    

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

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

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

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

По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --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=<имя удаляемого бэкенда>
      
    • Stream-бэкенд:

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

    Результат:

    id: a5dqkr2mk3rr799f1npa
    name: test-backend-group
    folder_id: aoe197919j8elpeg1lkp
    created_at: "2021-02-11T20:46:21.688940670Z"
    

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

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

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

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

  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 <имя группы бэкендов>
    

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

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