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

Изменить L7-балансировщик

Статья создана
Yandex Cloud
Улучшена
mmerihsesh
Обновлена 21 апреля 2025 г.

Чтобы изменить параметры L7-балансировщика:

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

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

  3. Нажмите на имя нужного балансировщика.

  4. Нажмите и выберите Редактировать.

  5. Измените необходимые параметры балансировщика:

    1. В блоке Сетевые настройки измените группы безопасности:

      • Без групп — для балансировщика будет разрешен любой входящий и исходящий трафик. Это наименее безопасный вариант.
      • Автоматически — при создании балансировщика будет автоматически создана группа безопасности, разрешающая любой входящий трафик на порте 80 и TCP-трафик для проверки состояния узлов балансировщика на порте 30080. При этом для балансировщика будет разрешен любой исходящий трафик.
      • Из списка — для более гибкого управления трафиком создайте свои группы безопасности. Вы можете выбрать и привязать к балансировщику одновременно до пяти групп безопасности.

      Примечание

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

    2. В блоке Размещение включите или отключите входящий трафик для каждой зоны в отдельности с помощью опции Прием трафика.

    3. В блоке Настройки автомасштабирования укажите ограничения на количество ресурсных единиц.

    4. В блоке Настройки логов:

      1. Измените лог-группу Cloud Logging, в которую будут записываться логи балансировщика.

      2. Измените правила отбрасывания логов:

        • HTTP-коды — измените HTTP-коды.
        • Классы HTTP-кодов — измените классы HTTP-кодов.
        • gRPC-коды — измените gRPC-коды.
        • Доля отбрасываемых логов — измените процент отбрасываемых логов.

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

    5. В блоке Обработчики измените параметры нужных обработчиков.

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

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

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

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

    yc alb load-balancer update --help
    
  2. Выполните команду, указав новые параметры балансировщика. Например, привяжите к балансировщику группы безопасности:

    yc alb load-balancer update <имя_балансировщика> \
      --security-group-id <список_идентификаторов_групп_безопасности>
    

    Где --security-group-id — новый список от одного до пяти разделенных запятыми идентификаторов групп безопасности. Если не указать этот параметр, то для балансировщика будет разрешен любой трафик.

    Результат:

    id: a5d88ep483cm********
    name: test-balancer2-updated
    folder_id: aoe197919j8e********
    status: ACTIVE
    region_id: ru-central1
    network_id: c64l1c06d151********
    listeners:
    - name: test-listener
      endpoints:
      - addresses:
        - external_ipv4_address:
            address: 130.193.32.206
        ports:
        - "80"
      http:
        handler:
          http_router_id: a5dv7tjdo9gt********
    allocation_policy:
      locations:
      - zone_id: ru-central1-a
        subnet_id: buc4gsmpj8hv********
    log_group_id: eolul9ap0bv0********
    security_group_ids:
      - enpulh2tbrep********
      - enpg05a3ck35********
    created_at: "2021-04-26T12:12:13.624832586Z"
    
  3. (Опционально) Измените параметры записи логов в Yandex Cloud Logging:

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

      yc alb load-balancer logging --help
      
    2. Добавьте новое правило отбрасывания логов:

      yc alb load-balancer logging <имя_балансировщика> \
        --log-group-id <идентификатор_лог-группы> \
        --enable \
        --discard codes=[200,3XX,GRPC_OK],percent=90
      

      Где:

      • --log-group-id — идентификатор лог-группы.
      • --discard — правило отбрасывания логов. Параметры правила:
        • codes — HTTP-коды, классы HTTP-кодов или gRPC-коды.
        • percent — доля отбрасываемых логов в процентах.

      Результат:

      done (42s)
      id: ds76g2zpgp3f********
      name: test-load-balancer
      folder_id: b1gug7dbelh********
      ...
      log_options:
        log_group_id: e23p9bcvh6gr********
        discard_rules:
          - http_codes:
              - "200"
            http_code_intervals:
              - HTTP_3XX
            grpc_codes:
              - OK
            discard_percent: "90"
      
  4. Укажите новые параметры обработчика:

    • HTTP-обработчик:

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

        yc alb load-balancer update-listener --help
        
      2. Выполните команду, указав новые параметры обработчика:

        yc alb load-balancer update-listener <имя_балансировщика> \
          --listener-name <имя_обработчика> \
          --http-router-id <идентификатор_HTTP-роутера> \
          --external-ipv4-endpoint port=<порт_обработчика>
        
    • Stream-обработчик:

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

        yc alb load-balancer update-stream-listener --help
        
      2. Выполните команду, указав новые параметры обработчика:

        yc alb load-balancer update-stream-listener <имя_балансировщика> \
          --listener-name=<имя_обработчика> \
          --backend-group-id=<идентификатор_группы_бэкендов> \
          --external-ipv4-endpoint port=<порт_обработчика>
        

    Результат обновления двух обработчиков:

    done (42s)
    id: ds76g8b2op3f********
    name: test-load-balancer
    folder_id: b1gu6g9ielh6********
    status: ACTIVE
    network_id: enp0uulja5s3********
    listeners:
    - name: tslistener
      endpoints:
      - addresses:
        - external_ipv4_address:
            address: 51.250.64.197
        ports:
        - "80"
      http:
        handler:
          http_router_id: ds7d7b14b3fs********
    - name: teststreamlistener
      endpoints:
      - addresses:
        - external_ipv4_address:
            address: 51.250.64.197
        ports:
        - "443"
      stream:
        handler:
          backend_group_id: ds77tero4f5h********
    allocation_policy:
      locations:
      - zone_id: ru-central1-a
        subnet_id: e9bs1hp7lgdl********
    log_group_id: ckgs4u5km3u8********
    security_group_ids:
    - enp49ot04g63********
    created_at: "2022-04-04T02:12:40.160629110Z"
    log_options:
      log_group_id: e23p9bfjvsgr********
      discard_rules:
        - http_codes:
            - "200"
          http_code_intervals:
            - HTTP_3XX
          grpc_codes:
            - OK
          discard_percent: "90"
    
  5. (Опционально) Установите новые ограничения на количество ресурсных единиц:

    1. Посмотрите описание команды CLI для настройки ограничений:

      yc alb load-balancer autoscale --help
      
    2. Установите ограничения, выполнив команду:

      yc alb load-balancer autoscale <имя_или_идентификатор_балансировщика> \
        --min-zone-size <минимум_ресурсных_единиц_в_зоне> \
        --max-size <максимум_ресурсных_единиц_в_сумме>
      

      Где:

      • --min-zone-size — минимальное количество ресурсных единиц в каждой зоне доступности. По умолчанию минимум равен 2. Указать минимальное значение меньше 2 нельзя.
      • --max-size — максимальное суммарное количество ресурсных единиц. По умолчанию количество не ограничено. Значение должно быть не меньше, чем количество зон доступности балансировщика, умноженное на минимальное количество ресурсных единиц в каждой зоне.

      Вы можете указать в команде один из параметров или оба сразу.

      Пример:

      yc alb load-balancer autoscale test-balancer2 \
        --min-zone-size 3 \
        --max-size 10
      

      Результат:

      id: a5d88ep483cm********
      name: test-balancer2
      folder_id: aoe197919j8e********
      status: ACTIVE
      region_id: ru-central1
      network_id: c64l1c06d151********
      allocation_policy:
        locations:
          - zone_id: ru-central1-a
            subnet_id: buc4gsmpj8hv********
      created_at: "2022-06-02T12:12:13.624832586Z"
      auto_scale_policy:
        min_zone_size: 3
        max_size: 10
      

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

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

    ...
    resource "yandex_alb_load_balancer" "test-balancer" {
      name        = "my-load-balancer"
      network_id  = yandex_vpc_network.test-network.id
    
      allocation_policy {
        location {
          zone_id   = "ru-central1-a"
          subnet_id = yandex_vpc_subnet.test-subnet.id
          security_group_ids = ["<список_идентификаторов_групп_безопасности>"]
        }
      }
    
      listener {
        name = "my-listener"
        endpoint {
          address {
            external_ipv4_address {
            }
          }
          ports = [ 9000 ]
        }
        http {
          handler {
            http_router_id = yandex_alb_http_router.test-router.id
          }
        }
      }
    
      log_options {
        log_group_id = "<идентификатор_лог-группы>"
        discard_rule {
          http_codes          = ["200"]
          http_code_intervals = ["HTTP_2XX"]
          grpc_codes          = ["GRPC_OK"]
          discard_percent     = 15
        }
      }
    }
    ...
    

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

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

    terraform validate
    

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

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

    terraform plan
    

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

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

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

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

    yc alb load-balancer get <имя_балансировщика>
    

Воспользуйтесь методом REST API update для ресурса LoadBalancer или вызовом gRPC API LoadBalancerService/Update.

Удалить обработчикУдалить обработчик

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

Консоль управления
CLI
Terraform
API
  1. В консоли управления выберите каталог, в котором создан балансировщик.
  2. Выберите сервис Application Load Balancer.
  3. Напротив имени нужного балансировщика нажмите значок и выберите Редактировать.
  4. В блоке Обработчики напротив имени нужного обработчика нажмите значок и выберите Удалить.
  5. Нажмите Сохранить.

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

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

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

    yc alb load-balancer remove-listener --help
    
  2. Выполните команду:

    yc alb load-balancer remove-listener <имя_или_идентификатор_балансировщика> \
      --listener-name=<имя_обработчика>
    

    Результат:

    done (50s)
    

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

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

    ...
    resource "yandex_alb_load_balancer" "test-balancer" {
      name        = "my-load-balancer"
      network_id  = yandex_vpc_network.test-network.id
    
      allocation_policy {
        location {
          zone_id   = "ru-central1-a"
          subnet_id = yandex_vpc_subnet.test-subnet.id
        }
      }
    
      listener {
        name = "my-listener"
        endpoint {
          address {
            external_ipv4_address {
            }
          }
          ports = [ 9000 ]
        }
        http {
          handler {
            http_router_id = yandex_alb_http_router.test-router.id
          }
        }
      }
    }
    ...
    

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

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

    terraform validate
    

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

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

    terraform plan
    

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

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

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

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

    yc alb load-balancer get <имя_L7-балансировщика>
    

Воспользуйтесь методом REST API removeListener для ресурса LoadBalancer или вызовом gRPC API LoadBalancerService/RemoveListener.

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

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