Yandex Cloud
Поиск
Связаться с намиПодключиться
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
    • Популярные
    • Инфраструктура и сеть
    • Платформа данных
    • Контейнеры
    • Инструменты разработчика
    • Бессерверные вычисления
    • Безопасность
    • Мониторинг и управление ресурсами
    • Машинное обучение
    • Бизнес-инструменты
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Облако для интеграторов
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Контент-программа
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Истории успеха
    • Тарифы Yandex Cloud
    • Промоакции и free tier
    • Правила тарификации
  • Документация
  • Блог
Проект Яндекса
© 2025 ООО «Яндекс.Облако»
Yandex Compute Cloud
  • Yandex Container Solution
    • Все руководства
    • Настройка синхронизации часов с помощью NTP
    • Автомасштабирование группы ВМ для обработки сообщений из очереди
    • Обновление группы ВМ под нагрузкой
    • Развертывание Remote Desktop Gateway
    • Начало работы с Packer
    • Передача логов с ВМ в Yandex Cloud Logging
    • Сборка образа ВМ с набором инфраструктурных инструментов с помощью Packer
    • Миграция в Yandex Cloud с помощью Хайстекс Акура
    • Защита от сбоев с помощью Хайстекс Акура
    • Резервное копирование ВМ с помощью Хайстекс Акура
    • Развертывание отказоустойчивой архитектуры с прерываемыми ВМ
    • Настройка отказоустойчивой архитектуры в Yandex Cloud
    • Создание триггера для бюджетов, который вызывает функцию для остановки ВМ
    • Создание триггеров, которые вызывают функции для остановки ВМ и отправки уведомлений в Telegram
    • Создание веб-приложения на Python с использованием фреймворка Flask
    • Создание SAP-программы в Yandex Cloud
    • Развертывание сервера Minecraft в Yandex Cloud
    • Автоматизация сборки образов с помощью Jenkins и Packer
    • Создание тестовых виртуальных машин через GitLab CI
    • Высокопроизводительные вычисления (HPC) на прерываемых ВМ
    • Настройка SFTP-сервера на Centos 7
    • Развертывание параллельной файловой системы GlusterFS в высокодоступном режиме
    • Развертывание параллельной файловой системы GlusterFS в высокопроизводительном режиме
    • Резервное копирование в Object Storage с помощью Bacula
    • Построение пайплайна CI/CD в GitLab с использованием serverless-продуктов
    • Реализация защищенной высокодоступной сетевой инфраструктуры с выделением DMZ на основе Check Point NGFW
    • Сегментация облачной инфраструктуры с помощью решения Check Point Next-Generation Firewall
    • Настройка защищенного туннеля GRE поверх IPsec
    • Создание бастионного хоста
    • Реализация отказоустойчивых сценариев для сетевых виртуальных машин
    • Создание туннеля между двумя подсетями при помощи OpenVPN Access Server
    • Создание внешней таблицы на базе таблицы из бакета Object Storage с помощью конфигурационного файла
    • Настройка сетевой связности между подсетями BareMetal и Virtual Private Cloud
    • Работа со снапшотами в Managed Service for Kubernetes
    • Запуск языковой модели DeepSeek-R1 в кластере GPU
    • Запуск библиотеки vLLM с языковой моделью Gemma 3 на ВМ с GPU
    • Доставка USB-устройств на виртуальную машину или сервер BareMetal
  • Управление доступом
  • Справочник Terraform
  • Метрики Monitoring
  • Аудитные логи Audit Trails
  • История изменений
  • Обучающие курсы

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

  • Перед началом работы
  • Необходимые платные ресурсы
  • Подготовьте окружение
  • Создайте вспомогательные ресурсы Yandex Cloud
  • Настройте AWS CLI
  • Создайте очередь в Message Queue
  • Создайте образ с приложением
  • Создайте группу виртуальных машин
  • Проверьте масштабирование группы виртуальных машин
  • Удалите созданные ресурсы
  1. Практические руководства
  2. Автомасштабирование группы ВМ для обработки сообщений из очереди

Автоматическое масштабирование группы виртуальных машин для обработки сообщений из очереди Yandex Message Queue

Статья создана
Yandex Cloud
Обновлена 6 марта 2025 г.
  • Перед началом работы
    • Необходимые платные ресурсы
  • Подготовьте окружение
    • Создайте вспомогательные ресурсы Yandex Cloud
    • Настройте AWS CLI
  • Создайте очередь в Message Queue
  • Создайте образ с приложением
  • Создайте группу виртуальных машин
  • Проверьте масштабирование группы виртуальных машин
  • Удалите созданные ресурсы

Сценарий описывает интеграцию между сервисами Yandex Compute Cloud, Yandex Message Queue и Yandex Monitoring.

В сценарии создается группа виртуальных машин. Все ВМ в группе обрабатывают сообщения из одной очереди Message Queue (для примера — получают их и через некоторое время удаляют). Количество сообщений в очереди записывается в метрику Monitoring, и группа ВМ автоматически масштабируется по этой метрике.

Для масштабирования выбрана деликатная стратегия остановки: ВМ останавливаются самостоятельно после обработки всех сообщений и только после этого удаляются из группы при уменьшении ее размера. Это гарантирует, что ВМ не будут удалены принудительно и обработают последние сообщения, даже если очередь опустеет до конца обработки.

Чтобы выполнить сценарий:

  1. Подготовьте окружение.
  2. Создайте очередь в Message Queue.
  3. Создайте образ с приложением.
  4. Создайте группу виртуальных машин.
  5. Проверьте масштабирование группы виртуальных машин.

Если созданные ресурсы вам больше не нужны, удалите их.

Перед началом работыПеред началом работы

Зарегистрируйтесь в Yandex Cloud и создайте платежный аккаунт:

  1. Перейдите в консоль управления, затем войдите в Yandex Cloud или зарегистрируйтесь.
  2. На странице Yandex Cloud Billing убедитесь, что у вас подключен платежный аккаунт, и он находится в статусе ACTIVE или TRIAL_ACTIVE. Если платежного аккаунта нет, создайте его и привяжите к нему облако.

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

Подробнее об облаках и каталогах.

В качестве примера в сценарии будет использоваться каталог с именем example-folder.

Необходимые платные ресурсыНеобходимые платные ресурсы

В стоимость инфраструктуры входят:

  • плата за использование виртуальных машин и хранение образа (см. тарифы Compute Cloud);
  • плата за использование публичных IP-адресов и исходящий трафик с ВМ (см. тарифы Virtual Private Cloud);
  • плата за запросы к очереди (см. тарифы Message Queue).

Подготовьте окружениеПодготовьте окружение

Создайте вспомогательные ресурсы Yandex CloudСоздайте вспомогательные ресурсы Yandex Cloud

Консоль управления
CLI
API
  1. Создайте сервисный аккаунт queue-autoscale-sa и назначьте ему роль editor в каталоге example-folder:

    1. В консоли управления выберите каталог example-folder.
    2. В списке сервисов выберите Identity and Access Management.
    3. Нажмите кнопку Создать сервисный аккаунт.
    4. В поле Имя укажите queue-autoscale-sa.
    5. Нажмите значок Добавить роль и выберите роль editor.
    6. Нажмите кнопку Создать.
  2. Создайте статический ключ доступа для работы сервисного аккаунта с Message Queue и сохраните его в файл access_key:

    1. В списке сервисных аккаунтов выберите queue-autoscale-sa.

    2. Нажмите Создать новый ключ и выберите Создать статический ключ доступа.

    3. В поле Описание укажите Message Queue.

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

    5. Вставьте идентификатор ключа и секретный ключ в файл access_key в следующем формате:

      access_key:
        key_id: <идентификатор_ключа>
      secret: <секретный_ключ>
      
  3. Создайте облачную сеть queue-autoscale-network:

    1. В консоли управления выберите каталог example-folder.
    2. В списке сервисов выберите Virtual Private Cloud.
    3. Нажмите кнопку Создать сеть.
    4. В поле Имя укажите queue-autoscale-network.
    5. Отключите опцию Создать подсети.
    6. Нажмите кнопку Создать сеть.
  4. Создайте подсеть queue-autoscale-subnet-d в зоне ru-central1-d:

    1. В списке сетей выберите queue-autoscale-network.

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

    3. Укажите параметры подсети:

      • Имя — queue-autoscale-subnet-d.
      • Зона — ru-central1-d.
      • CIDR — 192.168.1.0/24.
    4. Нажмите кнопку Создать подсеть.

  1. Создайте сервисный аккаунт queue-autoscale-sa:

    yc iam service-account create --name queue-autoscale-sa
    

    Где --name — имя сервисного аккаунта: queue-autoscale-sa.

    Результат:

    id: aje6brh817ro********
    folder_id: b0g12ga82bcv********
    created_at: "2021-10-04T16:19:10.153346507Z"
    name: queue-autoscale-sa
    
  2. Назначьте сервисному аккаунту роль editor в каталоге example-folder:

    yc resource-manager folder add-access-binding example-folder \
      --service-account-name queue-autoscale-sa \
      --role editor
    

    Где:

    • --service-account-name — имя сервисного аккаунта, созданного на шаге 1: queue-autoscale-sa.
    • --role — назначаемая роль: editor.

    Результат:

    done (1s)
    
  3. Создайте статический ключ доступа для работы сервисного аккаунта с Message Queue и сохраните его в файл access_key:

    yc iam access-key create \
      --service-account-name queue-autoscale-sa \
      --description "Message Queue" \
    | tee access_key
    

    Где:

    • --service-account-name — имя сервисного аккаунта, созданного на шаге 1: queue-autoscale-sa.
    • --description — описание ключа.

    Результат:

    access_key:
      id: ajevb6bx51w3********
      service_account_id: aje6brh817ro********
      created_at: "2021-10-04T16:25:19.143847764Z"
      description: Message Queue
      key_id: g3VybpVKdq_Y********
    secret: WVUqnwmC4LSUep0GTKGkbcht9K3Xav7V********
    
  4. Создайте облачную сеть queue-autoscale-network:

    yc vpc network create queue-autoscale-network
    

    Результат:

    id: enpabce123hd********
    folder_id: b0g12ga82bcv********
    created_at: "2021-10-04T16:28:15.905337847Z"
    name: queue-autoscale-network
    
  5. Создайте подсеть queue-autoscale-subnet-d в зоне ru-central1-d:

    yc vpc subnet create queue-autoscale-subnet-d \
      --network-name queue-autoscale-network 
      --range 192.168.1.0/24 
      --zone ru-central1-d
    

    Где:

    • --network-name — имя сети, в которой создается подсеть: queue-autoscale-network.
    • --range — CIDR подсети.
    • --zone — зона доступности, в которой создается подсеть: ru-central1-d.

    Результат:

    id: e1lnabc23r1c********
    folder_id: b0g12ga82bcv********
    created_at: "2021-10-04T16:29:12.450858436Z"
    name: queue-autoscale-subnet-d
    network_id: enpabce123hd********
    zone_id: ru-central1-d
    v4_cidr_blocks:
    - 192.168.1.0/24
    
  1. Создайте сервисный аккаунт queue-autoscale-sa с помощью вызова gRPC API ServiceAccountService/Create или метода REST API create. В ответных данных будет указан идентификатор сервисного аккаунта.

  2. Назначьте сервисному аккаунту роль editor в каталоге example-folder с помощью вызова gRPC API FolderService/UpdateAccessBindings или метода REST API updateAccessBindings. В теле запроса укажите идентификатор сервисного аккаунта.

  3. Создайте статический ключ доступа для работы сервисного аккаунта с Message Queue и сохраните его в файл access_key:

    1. Используйте вызов gRPC API AccessKeyService/Create или метод REST API create.

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

      access_key:
        key_id: <идентификатор_ключа>
      secret: <секретный_ключ>
      
  4. Создайте облачную сеть queue-autoscale-network с помощью вызова gRPC API NetworkService/Create или метода REST API create. В ответных данных будет указан идентификатор сети.

  5. Создайте подсеть queue-autoscale-subnet-d в зоне ru-central1-d с CIDR 192.168.1.0/24 с помощью вызова gRPC API SubnetService/Create или метода REST API create. В теле запроса укажите идентификатор сети.

Настройте AWS CLIНастройте AWS CLI

Примечание

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

  1. Скачайте и установите AWS CLI, как описано в его документации.

  2. Настройте AWS CLI для работы с Yandex Cloud:

    1. Создайте в домашнем каталоге файл .aws/credentials и укажите в нем статический ключ доступа, полученный ранее, и его идентификатор:

      [default]
          aws_access_key_id     = <идентификатор_ключа>
          aws_secret_access_key = <секретный_ключ>
      
    2. Создайте в домашнем каталоге файл .aws/config и укажите в нем регион по умолчанию ru-central1:

      [default]
          region = ru-central1
      

Создайте очередь в Message QueueСоздайте очередь в Message Queue

Консоль управления
AWS CLI
API
  1. Создайте очередь queue-autoscale-queue:

    1. В консоли управления выберите каталог example-folder.
    2. В списке сервисов выберите Message Queue.
    3. Нажмите кнопку Создать очередь.
    4. В поле Имя укажите queue-autoscale-queue.
    5. Нажмите кнопку Создать.
  2. Сохраните URL очереди в файл queue:

    1. В списке очередей выберите queue-autoscale-queue.

    2. Скопируйте URL очереди.

    3. Вставьте URL в файл queue в следующем формате:

      QueueUrl: <URL_очереди>
      
  1. Создайте очередь queue-autoscale-queue и сохраните ее URL в файл queue:

    aws sqs create-queue \
      --endpoint https://message-queue.api.cloud.yandex.net \
      --queue-name queue-autoscale-queue \
      --output yaml \
    | tee queue
    

    Где:

    • --endpoint — корневой URL API Message Queue: https://message-queue.api.cloud.yandex.net.
    • --queue-name — имя очереди: queue-autoscale-queue.

    Результат:

    QueueUrl: https://message-queue.api.cloud.yandex.net/b1gvlrnlei4l********/dj6000000003********/queue-autoscale-queue
    
  1. Создайте очередь queue-autoscale-queue с помощью метода API CreateQueue. В ответных данных будет указан URL очереди.

  2. Вставьте URL очереди в файл queue в следующем формате:

    QueueUrl: <URL_очереди>
    

Создайте образ с приложениемСоздайте образ с приложением

  1. Если у вас еще не установлен Packer, скачайте и установите его по инструкции на официальном сайте. Также вы можете скачать дистрибутив Packer для вашей платформы из зеркала.

    Примечание

    Для работы с Yandex Cloud требуется Packer версии не ниже 1.5.

  2. Настройте плагин Yandex Compute Builder:

    1. Создайте файл config.pkr.hcl со следующим содержанием:

      packer {
        required_plugins {
          yandex = {
            version = ">= 1.1.2"
            source  = "github.com/hashicorp/yandex"
          }
        }
      }
      
    2. Установите плагин:

      packer init <путь_к_файлу_config.pkr.hcl>
      

      Результат:

      Installed plugin github.com/hashicorp/yandex v1.1.2 in ...
      
  3. Скачайте архив с файлами для образа (ZIP, 3 КБ) и распакуйте его:

    wget https://storage.yandexcloud.net/doc-files/queue-autoscale-server.zip
    unzip queue-autoscale-server.zip
    
  4. В файле server-packer.json измените объект в массиве builders:

    • В поле service_account_id укажите идентификатор сервисного аккаунта queue-autoscale-sa.

      Как узнать идентификатор сервисного аккаунта
      Консоль управления
      CLI
      API
      1. В консоли управления выберите каталог example-folder.
      2. В списке сервисов выберите Identity and Access Management.
      3. На панели слева выберите Сервисные аккаунты.
      4. В открывшемся списке выберите сервисный аккаунт queue-autoscale-sa.
      5. Скопируйте Идентификатор сервисного аккаунта.

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

      yc iam service-account get queue-autoscale-sa
      

      Результат:

      id: aje6brh817ro********
      folder_id: b0g12ga82bcv********
      created_at: "2021-10-04T16:19:10.153346507Z"
      name: queue-autoscale-sa
      

      Воспользуйтесь методом REST API list для ресурса ServiceAccount или вызовом gRPC API ServiceAccountService/List.

    • В поле folder_id укажите идентификатор каталога в Yandex Cloud.

      Как узнать идентификатор каталога
      Консоль управления
      CLI
      API

      На странице облака в списке Каталоги найдите каталог example-folder и скопируйте его Идентификатор.

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

      yc resource-manager folder get example-folder
      

      Результат:

      id: b1g9hv2loamq********
      cloud_id: b1g2y61sxwqx********
      created_at: "2021-10-04T13:21:32.788067492Z"
      name: example-folder
      status: ACTIVE
      

      Воспользуйтесь методом REST API list для ресурса Folder или вызовом gRPC API FolderService/List.

    • В поле subnet_id укажите идентификатор подсети queue-autoscale-subnet-d.

      Как узнать идентификатор подсети
      Консоль управления
      CLI
      API
      1. В консоли управления выберите каталог example-folder.
      2. В списке сервисов выберите Virtual Private Cloud.
      3. Перейдите на вкладку Подсети.
      4. В списке подсетей найдите queue-autoscale-subnet-d и скопируйте ее Идентификатор.

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

      yc vpc subnet get queue-autoscale-subnet-d
      

      Результат:

      id: e1lnabc23r1c********
      folder_id: b0g12ga82bcv********
      created_at: "2021-10-04T16:29:12.450858436Z"
      name: queue-autoscale-subnet-d
      network_id: enpabce123hd********
      zone_id: ru-central1-d
      v4_cidr_blocks:
      - 192.168.1.0/24
      

      Воспользуйтесь методом REST API list для ресурса Subnet или вызовом gRPC API SubnetService/List.

  5. Получите IAM-токен для работы сервисного аккаунта с Compute Cloud и сохраните его в файл key.json:

    CLI
    API
    yc iam key create \
      --service-account-name queue-autoscale-sa \
      --description "Compute Cloud" \
      --output key.json
    

    Где:

    • --service-account-name — имя сервисного аккаунта, созданного ранее: queue-autoscale-sa.
    • --description — описание ключа.
    • --output — путь к файлу, в который нужно сохранить ключ: key.json.

    Результат:

    id: ajevh3a0hrqf********
    service_account_id: aje6brh817ro********
    created_at: "2021-10-04T16:35:19.057777570Z"
    description: Compute Cloud
    key_algorithm: RSA_2048
    

    Воспользуйтесь методом REST API create для ресурса Key или вызовом gRPC API KeyService/Create.

  6. Выполните команду для создания образа:

    packer build server-packer.json
    

    Результат:

    ...
    Build 'builder' finished after 2 minutes 48 seconds.
    
    ==> Wait completed after 2 minutes 48 seconds
    
    ==> Builds finished. The artifacts of successful builds are:
    --> builder: A disk image was created: queue-autoscale-image-v1633354734 (id: fd8hlbuhjc4m********) with family name queue-autoscale-image
    

Создайте группу виртуальных машинСоздайте группу виртуальных машин

Консоль управления
CLI
API
  1. В консоли управления выберите каталог example-folder.

  2. В списке сервисов выберите Compute Cloud.

  3. На панели слева выберите Группы виртуальных машин.

  4. Нажмите кнопку Создать группу виртуальных машин.

  5. В блоке Базовые параметры:

    • В поле Имя укажите queue-autoscale-ig.
    • Выберите Сервисный аккаунт queue-autoscale-sa.
  6. В блоке Распределение в поле Зона доступности выберитеru-central1-d.

  7. В блоке Шаблон виртуальной машины нажмите Задать и в открывшемся окне:

    1. В блоке Образ загрузочного диска перейдите на вкладку Пользовательский и нажмите Выбрать.

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

      1. Перейдите на вкладку Образ.
      2. Выберите образ, имя которого начинается на queue-autoscale-image.
      3. Нажмите кнопку Применить.
    3. В блоке Сетевые настройки:

      • В поле Сеть выберите queue-autoscale-network.
      • В поле Публичный адрес выберите Автоматически, чтобы ВМ имели доступ в интернет и могли получать сообщения из очереди.
    4. В блоке Доступ:

      • В поле Сервисный аккаунт выберите queue-autoscale-sa.
      • Укажите логин и содержимое открытого ключа для подключения к ВМ.
    5. Нажмите кнопку Сохранить.

  8. В блоке В процессе создания и обновления разрешено укажите следующие значения:

    • Одновременно останавливать — 1.
    • Останавливать машины по стратегии — Ручная.
  9. В блоке Масштабирование укажите следующие значения:

    • Тип — Автоматический.
    • Тип автомасштабирования — Региональное.
    • Минимальное количество ВМ в зоне — 0.
    • Максимальный размер группы — 5.
    • Промежуток измерения нагрузки — 60 секунд.
    • Время на разогрев ВМ — 0 минут.
    • Период стабилизации — 5 минут.
    • Начальный размер группы — 1.
  10. В блоке Метрики укажите следующие значения:

    • Метрика — Yandex Monitoring.
    • Идентификатор каталога — message-queue.
    • Имя метрики — queue.messages.stored_count.
    • Метки — ключ queue, значение queue-autoscale-queue.
    • Тип метрики — GAUGE.
    • Тип правила — WORKLOAD.
    • Целевое значение — 5.
  11. Нажмите кнопку Создать.

  1. Получите идентификатор образа, созданного ранее:

    yc compute image get-latest-from-family queue-autoscale-image 
    

    Результат:

    id: fd8hlbuhjc4m********
    folder_id: b0g12ga82bcv********
    created_at: "2021-10-04T16:38:54.345168059Z"
    name: queue-autoscale-image-v1633354734
    description: Image for autoscaling an instance group based on the size of a queue
    family: queue-autoscale-image
    storage_size: "3858759680"
    min_disk_size: "5368709120"
    product_ids:
    - f2e6fnj3erf1********
    status: READY
    os:
      type: LINUX
    
  2. Измените файл со спецификацией группы ВМ spec.yaml:

    • В поле folder_id укажите идентификатор каталога в Yandex Cloud.

    • В поле image_id укажите идентификатор созданного образа.

    • В поле network_id укажите идентификатор сети queue-autoscale-network, а в поле subnet_ids — идентификатор подсети queue-autoscale-subnet-d.

      Как узнать идентификатор сети
      CLI
      Консоль управления
      API

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

      yc vpc network get queue-autoscale-network
      

      Результат:

      id: enpabce123hd********
      folder_id: b0g12ga82bcv********
      created_at: "2021-10-04T16:28:15.905337847Z"
      name: queue-autoscale-network
      
      1. В консоли управления выберите каталог example-folder.
      2. В списке сервисов выберите Virtual Private Cloud.
      3. В списке сетей найдите queue-autoscale-network и скопируйте ее Идентификатор.

      Воспользуйтесь методом REST API list для ресурса Network или вызовом gRPC API NetworkService/List.

    • В поле service_account_id укажите идентификатор сервисного аккаунта queue-autoscale-sa.

    Как получить идентификаторы ресурсов (кроме образа и сети), см. в шаге 3 раздела Создайте образ с приложением.

  3. Создайте группу ВМ queue-autoscale-ig по спецификации:

    yc compute instance-group create --file spec.yaml
    

    Где --file — путь к файлу со спецификацией группы ВМ: spec.yaml.

  1. Получите идентификатор образа из семейства queue-autoscale-image, созданного ранее, с помощью вызова gRPC API ImageService/GetLatestByFamily или метода REST API getLatestByFamily.

  2. Измените файл со спецификацией группы виртуальных spec.yaml:

    • В поле folder_id укажите идентификатор каталога в Yandex Cloud.

    • В поле image_id укажите идентификатор созданного образа.

    • В поле network_id укажите идентификатор сети queue-autoscale-network, а в поле subnet_ids — идентификатор подсети queue-autoscale-subnet-d.

      Как узнать идентификатор сети
      Консоль управления
      CLI
      API
      1. В консоли управления выберите каталог example-folder.
      2. В списке сервисов выберите Virtual Private Cloud.
      3. В списке сетей найдите queue-autoscale-network и скопируйте ее Идентификатор.

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

      yc vpc network get queue-autoscale-network
      

      Результат:

      id: enpabce123hd********
      folder_id: b0g12ga82bcv********
      created_at: "2021-10-04T16:28:15.905337847Z"
      name: queue-autoscale-network
      

      Воспользуйтесь методом REST API list для ресурса Network или вызовом gRPC API NetworkService/List.

    • В поле service_account_id укажите идентификатор сервисного аккаунта queue-autoscale-sa.

    Как получить идентификаторы ресурсов (кроме образа и сети), см. в шаге 3 раздела Создайте образ с приложением.

  3. Создайте группу ВМ queue-autoscale-ig по спецификации spec.yaml с помощью вызова gRPC API InstanceGroupService/CreateFromYaml или метода REST API createFromYaml.

Проверьте масштабирование группы виртуальных машинПроверьте масштабирование группы виртуальных машин

  1. Измените файл messages.sh: в параметре --queue-url укажите URL очереди из файла queue.

  2. Запустите файл messages.sh. Начнется поочередная отправка 100 сообщений в очередь queue-autoscale-queue.

  3. Откройте дашборды в Yandex Monitoring:

    Консоль управления
    1. Откройте дашборд с информацией о группе ВМ:

      1. В Monitoring выберите сервисный дашборд Compute — Instance Groups.
      2. В поле Instance Group ID выберите queue-autoscale-ig.
    2. Откройте дашборд с информацией об очереди:

      1. В Monitoring выберите сервисный дашборд Message Queue.
      2. В поле Queue ID выберите queue-autoscale-queue.
  4. По данным дашбордов убедитесь, что последовательно произошли следующие события:

    1. Очередь queue-autoscale-queue заполнилась 100 сообщениями (дашборд Message Queue, графики Sent messages, count и Messages in queue, count).
    2. ВМ из группы queue-autoscale-ig стали получать сообщения (график Received messages, count) и удалять их из очереди (графики Deleted messages, count и Messages in queue, count).
    3. По мере обработки сообщений группа ВМ увеличилась с одной до пяти машин, а по окончании обработки — стала пустой (дашборд Compute — Instance Groups, график Number of instances in zone B).

Удалите созданные ресурсыУдалите созданные ресурсы

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

  1. Удалите группу виртуальных машин queue-autoscale-ig.
  2. Удалите образ из семейства queue-autoscale-image.
  3. Удалите очередь queue-autoscale-queue.
  4. Удалите подсеть queue-autoscale-subnet-d.
  5. Удалите сеть queue-autoscale-network.
  6. Удалите сервисный аккаунт queue-autoscale-sa.

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

Предыдущая
Terraform
Следующая
Обновление группы ВМ под нагрузкой
Проект Яндекса
© 2025 ООО «Яндекс.Облако»