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
  • История изменений
  • Обучающие курсы

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

  • Подготовьте облако к работе
  • Необходимые платные ресурсы
  • Подготовьте окружение
  • Создайте группу ВМ с Container Optimized Image
  • Подключите сетевой балансировщик нагрузки к созданной группе виртуальных машин
  • Создайте нагрузку на ВМ
  • Обновите группу ВМ под нагрузкой
  • Остановите нагрузку и получите результаты
  • Как удалить созданные ресурсы
  1. Практические руководства
  2. Обновление группы ВМ под нагрузкой

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

Статья создана
Yandex Cloud
Улучшена
mmerihsesh
Обновлена 4 апреля 2025 г.
  • Подготовьте облако к работе
    • Необходимые платные ресурсы
  • Подготовьте окружение
  • Создайте группу ВМ с Container Optimized Image
    • Подключите сетевой балансировщик нагрузки к созданной группе виртуальных машин
  • Создайте нагрузку на ВМ
  • Обновите группу ВМ под нагрузкой
  • Остановите нагрузку и получите результаты
  • Как удалить созданные ресурсы

С помощью этого пошагового руководства вы настроите группу ВМ и проверите ее работу при обновлении конфигурации. Для этого:

  1. Подготовьте облако к работе.
  2. Подготовьте окружение.
  3. Создайте группу ВМ с Container Optimized Image.
  4. Создайте нагрузку на ВМ.
  5. Обновите группу ВМ под нагрузкой.
  6. Остановите нагрузку и получите результаты.

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

Подготовьте облако к работеПодготовьте облако к работе

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

  2. Чтобы скрипты из пошагового руководства работали корректно, скачайте и установите утилиту jq.

  3. Чтобы проверить работу автоматического масштабирования, установите утилиту wrk для проведения нагрузочного тестирования.

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

В стоимость поддержки группы ВМ Yandex Cloud входит плата за:

  • Диски и постоянно запущенные ВМ – тарифы Yandex Compute Cloud.
  • Использование динамического или статического публичного IP-адреса – тарифы Yandex Virtual Private Cloud.

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

  1. Создайте сервисный аккаунт с именем for-load. Чтобы иметь возможность создавать, обновлять и удалять ВМ в группе, а также интегрировать группу с сетевым балансировщиком Network Load Balancer, назначьте сервисному аккаунту роли compute.editor и load-balancer.editor:

    Консоль управления
    CLI
    API
    1. В консоли управления выберите каталог, в котором вы хотите создать сервисный аккаунт.
    2. В списке сервисов выберите Identity and Access Management.
    3. Нажмите кнопку Создать сервисный аккаунт.
    4. В поле Имя укажите for-load.
    5. Нажмите значок Добавить роль. Чтобы иметь возможность создавать, обновлять и удалять ВМ в группе, а также интегрировать группу с сетевым балансировщиком Network Load Balancer, назначьте сервисному аккаунту роли compute.editor и load-balancer.editor.
    6. Нажмите кнопку Создать.
    1. Создайте сервисный аккаунт:

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

      yc iam service-account create --name for-load
      

      Результат выполнения команды:

      id: ajeab0cnib1p********
      folder_id: b0g12ga82bcv********
      created_at: "2021-02-09T17:31:32.561702Z"
      name: for-load
      
    2. Назначьте роль сервисному аккаунту роль compute.editor:

      yc resource-manager folder add-access-binding <идентификатор_каталога> \
        --role compute.editor \
        --subject serviceAccount:<идентификатор_сервисного_аккаунта>
      
    3. Назначьте роль сервисному аккаунту роль load-balancer.editor:

      yc resource-manager folder add-access-binding <идентификатор_каталога> \
        --role load-balancer.editor \
        --subject serviceAccount:<идентификатор_сервисного_аккаунта>
      
    1. Создайте сервисный аккаунт for-load:
      Воспользуйтесь методом REST API create для ресурса ServiceAccount или вызовом gRPC API ServiceAccountService/Create.
    2. Чтобы иметь возможность создавать, обновлять и удалять ВМ в группе, а также интегрировать группу с сетевым балансировщиком Network Load Balancer, назначьте сервисному аккаунту роли compute.editor и load-balancer.editor:
      Воспользуйтесь методом REST API setAccessBindings для ресурса Folder или вызовом gRPC API FolderService/SetAccessBindings.
  2. Создайте сеть с именем yc-auto-network и подсети в двух зонах доступности:

    Консоль управления
    CLI
    API
    1. В консоли управления выберите каталог, в котором вы хотите создать сеть.
    2. В списке сервисов выберите Virtual Private Cloud.
    3. Нажмите кнопку Создать сеть.
    4. В поле Имя укажите yc-auto-network.
    5. Выберите опцию Создать подсети.
    6. Нажмите кнопку Создать сеть.
    1. Создайте сеть:

      yc vpc network create --name yc-auto-network
      

      Результат выполнения команды:

      id: enpabce123hd********
      folder_id: b0g12ga82bcv********
      created_at: "2021-02-09T17:33:32.561702Z"
      name: yc-auto-network
      
    2. Создайте подсеть в зоне ru-central1-d:

      yc vpc subnet create --network-id enpabce123hd******** --range 192.168.1.0/24 --zone ru-central1-d
      

      Результат выполнения команды:

      id: e1lnabc23r1c********
      folder_id: b0g12ga82bcv********
      created_at: "2021-02-09T17:34:32.561702Z"
      network_id: enpabce123hd********
      zone_id: ru-central1-d
      v4_cidr_blocks:
      - 192.168.1.0/24
      
    3. Создайте подсеть в зоне ru-central1-b:

      yc vpc subnet create --network-id enpabce123hd******** --range 192.168.2.0/24 --zone ru-central1-b
      

      Результат выполнения команды:

      id: b1csa2b3clid********
      folder_id: b0g12ga82bcv********
      created_at: "2021-02-09T17:35:32.561702Z"
      network_id: enpabce123hd********
      zone_id: ru-central1-b
      v4_cidr_blocks:
      - 192.168.2.0/24
      
    1. Создайте сеть:
      Воспользуйтесь методом REST API create для ресурса Network или вызовом gRPC API NetworkService/Create.
    2. Создайте подсети в зонах ru-central1-d и ru-central1-b:
      Воспользуйтесь методом REST API create для ресурса Subnet или вызовом gRPC API SubnetService/Create.

Создайте группу ВМ с Container Optimized ImageСоздайте группу ВМ с Container Optimized Image

  1. Все ВМ группы создаются из образа Container Optimized Image. Каждая ВМ содержит Docker-контейнер с веб-сервером, который эмулирует нагрузку на сервис.

    Консоль управления
    CLI
    API
    1. В консоли управления выберите каталог, в котором вы хотите создать группу ВМ.
    2. В списке сервисов выберите Compute Cloud.
    3. На панели слева выберите Группы виртуальных машин.
    4. Нажмите кнопку Создать группу виртуальных машин.
    5. В блоке Базовые параметры:
      • В поле Имя укажите group-for-load.
      • Выберите Сервисный аккаунт for-load.
    6. В блоке Распределение в поле Зона доступности выберите ru-central1-d и ru-central1-b.
    7. В блоке Шаблон виртуальной машины нажмите Задать и в открывшемся окне:
      • В блоке Образ загрузочного диска выберите вкладку Container Solution.
      • Нажмите кнопку Настроить.
      • В окне Настройка Docker-контейнера:
        • В поле Имя укажите nginx.
        • В поле Docker-образ нажмите Укажите ссылку и введите cr.yandex/yc/demo/autoscaling-example-app:v1.
        • Нажмите кнопку Применить.
      • В блоке Диски и файловые хранилища:
        • Для загрузочного диска укажите Размер 30 ГБ.
      • В блоке Сетевые настройки:
        • В поле Сеть выберите for-load.
      • В блоке Доступ:
        • В поле Сервисный аккаунт выберите for-load.
        • В поле Логин укажите имя пользователя, который будет создан на ВМ.
        • В поле SSH-ключ вставьте содержимое файла открытого ключа.
      • Нажмите кнопку Сохранить.
    8. В блоке В процессе создания и обновления разрешено:
      • В поле Уменьшать относительно целевого значения введите 4.
    9. В блоке Масштабирование:
      • В поле Тип выберите Фиксированный.
      • Введите Размер 6.
    10. В блоке Интеграция с Network Load Balancer:
      • Включите опцию Создать целевую группу.
      • В поле Имя целевой группы укажите load-generator.
    11. Нажмите кнопку Создать.
    1. Узнайте идентификатор последней версии публичного образа Container Optimized Image.

      Образ Container Optimized Image в реестре Yandex Container Registry может обновляться и меняться в соответствии с релизами. При этом образ на ВМ не обновится автоматически до последней версии. Чтобы создать группу ВМ с последней версией Container Optimized Image, необходимо самостоятельно проверить ее наличие:

      yc compute image get-latest-from-family container-optimized-image --folder-id standard-images
      

      Результат выполнения команды:

      id: fd8iv792kira********
      folder_id: standard-images
      created_at: "2021-01-29T13:30:22Z"
      ...
      status: READY
      os:
        type: LINUX
      
    2. Сохраните спецификацию группы ВМ с сетевым балансировщиком нагрузки в файл specification.yaml:

      name: group-for-load # Имя группы ВМ, уникальное в рамках каталога.
      service_account_id: ajeab0cnib1p******** # Идентификатор сервисного аккаунта.
      allocation_policy: # Политика распределения ВМ в группе.
         zones:
           - zone_id: ru-central1-d
           - zone_id: ru-central1-b
      instance_template:
        service_account_id: ajeab0cnib1p******** # Идентификатор сервисного аккаунта для доступа к приватным Docker-образам.
        platform_id: standard-v1 # Идентификатор платформы.
        resources_spec:
          memory: 2G # Количество памяти (RAM).
          cores: 2 # Количество ядер процессора (vCPU).
        boot_disk_spec:
          mode: READ_WRITE # Режим доступа к диску: чтение и запись.
          disk_spec:
            image_id: <идентификатор_последней_версии_COI>
          type_id: network-ssd # Тип диска.
          size: 30G # Размер диска.
        network_interface_specs:
         - network_id: enplhg4nncc7******** # Идентификатор сети.
           subnet_ids:
             - e1lnabc23r1c******** # Идентификатор подсети.
             - b1csa2b3clid********
           primary_v4_address_spec: {
             one_to_one_nat_spec: {
               ip_version: IPV4 # Спецификация версии интернет-протокола IPv4 для публичного доступа к ВМ.
             }
           }         
        metadata: # Значения, которые будут переданы в метаданные ВМ.
          docker-container-declaration: |- # Ключ в метаданных ВМ, при котором используется Docker Container спецификация.
            spec:
              containers:
                - image: cr.yandex/yc/demo/autoscaling-example-app:v1
                  name: nginx
                  securityContext:
                    privileged: false
                  restartPolicy: Always
                  tty: false
                  stdin: false
          ssh-keys: | # Параметр для передачи SSH-ключа на ВМ.
            yc-user:ssh-ed25519 ABC...d01 user@desktop.ru # Имя пользователя для подключения к ВМ.
      deploy_policy: # Политика развертывания ВМ в группе.
        max_unavailable: 4
      scale_policy: # Политика масштабирования ВМ в группе.
        fixed_scale:
          size: 6
      load_balancer_spec: # Сетевой балансировщик нагрузки.
        target_group_spec:
          name: load-generator
      

      Примечание

      Передать SSH-ключ в метаданных ВМ можно с помощью параметра ssh-keys или в ключе с пользовательскими метаданными user-data. В этом руководстве используется первый вариант.

    3. Создайте группу ВМ с именем group-for-load с помощью спецификации specification.yaml:

      yc compute instance-group create --file=specification.yaml
      

      Результат выполнения команды:

      done (2m18s)
      id: cl0kabcquk1g********
      folder_id: b0g12ga82bcv********
      ...
      service_account_id: ajeab0cnib1p********
      status: ACTIVE
      application_load_balancer_state: {}
      
    1. Получите идентификатор последней версии образа container-optimized-image в семействе standard-images:
      Воспользуйтесь методом REST API getLatestByFamily для ресурса Image или вызовом gRPC API ImageService/GetLatestByFamily.

    2. Создайте группу ВМ по следующей спецификации:

      name: group-for-load # Имя группы ВМ, уникальное в рамках каталога.
      service_account_id: ajeab0cnib1p******** # Идентификатор сервисного аккаунта.
      allocation_policy: # Политика распределения ВМ в группе.
         zones:
           - zone_id: ru-central1-d
           - zone_id: ru-central1-b
      instance_template:
        service_account_id: ajeab0cnib1p******** # Идентификатор сервисного аккаунта для доступа к приватным Docker-образам.
        platform_id: standard-v1 # Идентификатор платформы.
        resources_spec:
          memory: 2G # Количество памяти (RAM).
          cores: 2 # Количество ядер процессора (vCPU).
        boot_disk_spec:
          mode: READ_WRITE # Режим доступа к диску: чтение и запись.
          disk_spec:
            image_id: <идентификатор_последней_версии_COI>
          type_id: network-ssd # Тип диска.
          size: 30G # Размер диска.
        network_interface_specs:
         - network_id: enplhg4nncc7******** # Идентификатор сети.
           subnet_ids:
             - e1lnabc23r1c******** # Идентификатор подсети.
             - b1csa2b3clid********
           primary_v4_address_spec: {
             one_to_one_nat_spec: {
               ip_version: IPV4 # Спецификация версии интернет-протокола IPv4 для публичного доступа к ВМ.
             }
           }         
        metadata: # Значения, которые будут переданы в метаданные ВМ.
          docker-container-declaration: |- # Ключ в метаданных ВМ, при котором используется Docker Container спецификация.
            spec:
              containers:
                - image: cr.yandex/yc/demo/autoscaling-example-app:v1
                  name: nginx
                  securityContext:
                    privileged: false
                  restartPolicy: Always
                  tty: false
                  stdin: false
          ssh-keys: | # Параметр для передачи SSH-ключа на ВМ.
            yc-user:ssh-ed25519 ABC...d01 user@desktop.ru # Имя пользователя для подключения к ВМ.
      deploy_policy: # Политика развертывания ВМ в группе.
        max_unavailable: 4
      scale_policy: # Политика масштабирования ВМ в группе.
        fixed_scale:
          size: 6
      load_balancer_spec: # Сетевой балансировщик нагрузки.
        target_group_spec:
          name: load-generator
      

      Воспользуйтесь методом REST API createFromYaml для ресурса InstanceGroup или вызовом gRPC API InstanceGroupService/CreateFromYaml.

  2. Убедитесь, что группа ВМ создана:

    Консоль управления
    CLI
    API
    1. В консоли управления выберите каталог, в котором вы создали группу ВМ.
    2. В списке сервисов выберите Compute Cloud.
    3. На панели слева выберите Группы виртуальных машин.
    4. Нажмите на имя группы ВМ group-for-load.
    yc compute instance-group list-instances group-for-load
    

    Результат выполнения команды:

    +----------------------+---------------------------+-----------------+-------------+----------------------+----------------+
    |     INSTANCE ID      |           NAME            |   EXTERNAL IP   | INTERNAL IP |        STATUS        | STATUS MESSAGE |
    +----------------------+---------------------------+-----------------+-------------+----------------------+----------------+
    ...
    | fhmab0cfsfd1******** | cl0kabcquk1g********-oxig | 178.154.226.108 | 10.130.0.8  | RUNNING_ACTUAL [49m] |                |
    | epdabchpdef0******** | cl0kabcquk1g********-aqyg | 130.193.40.55   | 10.129.0.20 | RUNNING_ACTUAL [43m] |                |
    +----------------------+---------------------------+-----------------+-------------+----------------------+----------------+
    

    Чтобы посмотреть список созданных групп ВМ, воспользуйтесь методом REST API list для ресурса InstanceGroup или вызовом gRPC API InstanceGroupService/List.

Подключите сетевой балансировщик нагрузки к созданной группе виртуальных машинПодключите сетевой балансировщик нагрузки к созданной группе виртуальных машин

  1. Создайте сетевой балансировщик нагрузки с именем load-generator и подключите его к созданной группе ВМ:

    Консоль управления
    CLI
    API
    1. В консоли управления выберите каталог, в котором хотите создать балансировщик.
    2. В списке сервисов выберите Network Load Balancer.
    3. Нажмите кнопку Создать сетевой балансировщик.
    4. В поле Имя укажите load-generator.
    5. В поле Публичный адрес выберите Автоматически.
    6. В блоке Обработчики нажмите Добавить обработчик.
    7. В открывшемся окне:
      • В поле Имя укажите http.
      • В поле Порт укажите 80 — на нем балансировщик будет принимать входящий трафик.
      • В поле Целевой порт укажите 80 — на него балансировщик будет направлять трафик.
      • Нажмите кнопку Добавить.
    8. В блоке Целевые группы нажмите Добавить целевую группу.
    9. В списке Целевая группа выберите load-generator.
    10. В блоке Проверка состояния нажмите Настроить:
      • В открывшемся окне укажите Путь /hello — по этому пути балансировщик будет отправлять запросы для проверки состояния ВМ из целевой группы.
      • Нажмите кнопку Применить.
    11. Нажмите кнопку Создать.
    1. Получите идентификатор целевой группы load-generator:

      yc load-balancer target-group get load-generator | grep "^id"
      

      Результат выполнения команды:

      id: enpsa475ej51********
      
    2. Создайте балансировщик:

      yc load-balancer network-load-balancer create \
        --name load-generator \
        --listener external-ip-version=ipv4,name=http,port=80,protocol=tcp,target-port=80 \
        --target-group healthcheck-http-port=80,healthcheck-http-path=/hello,target-group-id=<идентификатор_целевой_группы>
      

      Результат выполнения команды:

      done (14s)
      id: b0ruab1ccvpd********
      folder_id: b1csa2b3clid********
      ...
          healthy_threshold: "2"
          http_options:
            port: "80"
            path: /hello
      
    1. Создайте балансировщик нагрузки с помощью метода REST API create для ресурса NetworkLoadBalancer или вызова gRPC API NetworkLoadBalancerService/Create.
    2. Добавьте обработчик к балансировщику с помощью метода REST API addListener для ресурса NetworkLoadBalancer или вызова gRPC API NetworkLoadBalancerService/AddListener.
    3. Подключите целевую группу к балансировщику с помощью метода REST API attachTargetGroup для ресурса NetworkLoadBalancer или вызова gRPC API NetworkLoadBalancerService/AttachTargetGroup.
    4. Подключите балансировщик к группе ВМ с помощью метода REST API addTargets для ресурса TargetGroup или вызова gRPC API TargetGroupService/AddTargets.
  2. Убедитесь, что сетевой балансировщик load-generator создан и привязан к группе ВМ:

    Консоль управления
    CLI
    API
    1. В консоли управления выберите каталог, в котором вы создали сетевой балансировщик.
    2. В списке сервисов выберите Network Load Balancer.
    3. Нажмите на имя сетевого балансировщика load-generator.
    yc load-balancer network-load-balancer list
    

    Результат выполнения команды:

    +----------------------+----------------+-----------------+----------+----------------+------------------------+--------+
    |          ID          |      NAME      |    REGION ID    |   TYPE   | LISTENER COUNT | ATTACHED TARGET GROUPS | STATUS |
    +----------------------+----------------+-----------------+----------+----------------+------------------------+--------+
    | b0ruab1ccvpd******** | load-generator | ru-central1     | EXTERNAL |              1 | b0r1tabcphde********   | ACTIVE |
    +----------------------+----------------+-----------------+----------+----------------+------------------------+--------+
    

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

Создайте нагрузку на ВМСоздайте нагрузку на ВМ

  1. Получите IP-адрес созданного балансировщика:

    Консоль управления
    CLI
    API
    1. В консоли управления выберите каталог, в котором находится балансировщик.
    2. В списке сервисов выберите Network Load Balancer.
    3. Скопируйте IP-адрес балансировщика load-generator.
    yc load-balancer network-load-balancer get load-generator | grep "address"
    

    Результат выполнения команды:

      address: 84.252.133.110
    

    Воспользуйтесь методом REST API get для ресурса NetworkLoadBalancer или вызовом gRPC API NetworkLoadBalancerService/Get.

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

    wrk -t20 -c20 -d20m --timeout 20s http://<IP-адрес_балансировщика>/sleep
    

    Команда запустит утилиту wrk, которая будет отправлять запросы в 20 потоков по 20 подключений к сетевому балансировщику в течение 20 минут. Таймаут запроса 20 секунд. Полученную нагрузку балансировщик распределит между ВМ из группы.

    После запуска wrk на экране появится сообщение о начале тестирования:

    Running 20m test @ http://84.252.133.110/sleep
      20 threads and 20 connections
    

    Переходите к следующему шагу, не дожидаясь окончания выполнения команды.

Обновите группу ВМ под нагрузкойОбновите группу ВМ под нагрузкой

Консоль управления
CLI
API
  1. В консоли управления выберите каталог, в котором вы создали группу ВМ.
  2. Выберите сервис Compute Cloud.
  3. На панели слева выберите Группы виртуальных машин.
  4. Нажмите на имя группы ВМ group-for-load.
  5. Нажмите кнопку Редактировать.
  6. В блоке Шаблон виртуальной машины нажмите и выберите Редактировать.
    • В блоке Диски и файловые хранилища укажите новый размер диска — 35 ГБ.
    • Нажмите кнопку Сохранить.
  7. Нажмите кнопку Сохранить.
  8. В блоке Состояния виртуальных машин поэтапно отобразятся изменения размера диска для всех ВМ группы.
  1. В спецификации specification.yaml укажите новый размер диска — 35 ГБ — и сохраните файл:

    ...
    size: 35G
    ...
    
  2. Обновите группу ВМ:

    yc compute instance-group update --name=group-for-load --file=specification.yaml
    

    Результат выполнения команды:

    done (9m24s)
    id: cl10kktrjcn8********
    folder_id: b1g7gvsi89m3********
    ...
       name: load-generator
    service_account_id: ajehbk07uus3********
    status: ACTIVE
    
  1. В спецификации укажите новый размер диска — 35 ГБ:

    ...
    size: 35G
    ...
    
  2. Чтобы обновить группу ВМ load-generator по новой спецификации, воспользуйтесь методом REST API updateFromYaml для ресурса InstanceGroup или вызовом gRPC API InstanceGroupService/UpdateFromYaml.

Остановите нагрузку и получите результатыОстановите нагрузку и получите результаты

Остановите работу wrk, нажав сочетание клавиш Ctrl + C.

Результат выполнения команды:

  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency    10.00s     1.70ms  10.01s    68.21%
    Req/Sec     0.00      0.00     0.00    100.00%
  1148 requests in 17.47m, 211.89KB read
Requests/sec:      1.09
Transfer/sec:     206.94B

Если в результате нет строки об ошибках, например Socket errors, все запросы были обработаны.

Как удалить созданные ресурсыКак удалить созданные ресурсы

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

Консоль управления
CLI
API
  1. Удалите балансировщик нагрузки:
    1. В консоли управления выберите каталог, в котором вы создали балансировщик нагрузки.
    2. В списке сервисов выберите Network Load Balancer.
    3. Справа в строке балансировщика load-generator нажмите и выберите Удалить.
    4. В открывшемся окне нажмите Удалить.
  2. Удалите группу ВМ:
    1. В консоли управления выберите каталог, в котором вы создали группу ВМ.
    2. В списке сервисов выберите Compute Cloud.
    3. На панели слева выберите Группы виртуальных машин.
    4. Справа в строке группы load-generator нажмите и выберите Удалить.
    5. В открывшемся окне нажмите Удалить.
  3. Удалите сервисный аккаунт:
    1. В консоли управления выберите каталог, в котором вы создали сервисный аккаунт.
    2. В списке сервисов выберите Identity and Access Management.
    3. На панели слева выберите Сервисные аккаунты.
    4. В открывшемся списке в строке с сервисным аккаунтом yc-auto-sa нажмите и выберите Удалить.
    5. В открывшемся окне нажмите Удалить.
  4. Удалите сеть и подсети:
    1. В консоли управления выберите каталог, в котором вы создали сеть и подсети.
    2. В списке сервисов выберите Virtual Private Cloud.
    3. Выберите сеть yc-auto-network.
    4. В блоке Подсети:
      1. Справа в строке подсети yc-auto-subnet-1 нажмите и выберите Удалить.
      2. В открывшемся окне нажмите Удалить.
      3. Также удалите подсеть yc-auto-subnet-2.
    5. В правом верхнем углу нажмите Удалить.

Выполните последовательно команды:

yc load-balancer network-load-balancer delete load-generator
yc compute instance-group delete load-generator
yc iam service-account delete yc-auto-sa
yc vpc subnet delete yc-auto-subnet-1
yc vpc subnet delete yc-auto-subnet-2
yc vpc network delete yc-auto-network
  1. Удалите балансировщик load-generator: воспользуйтесь методом REST API delete для ресурса NetworkLoadBalancer или вызовом gRPC API NetworkLoadBalancerService/Delete.
  2. Удалите группу ВМ load-generator: воспользуйтесь методом REST API delete для ресурса InstanceGroup или вызовом gRPC API InstanceGroupService/Delete.
  3. Удалите сервисный аккаунт yc-auto-sa: воспользуйтесь методом REST API delete для ресурса ServiceAccount или вызовом gRPC API ServiceAccountService/Delete.
  4. Удалите подсети yc-auto-subnet-1 и yc-auto-subnet-2: воспользуйтесь методом REST API delete для ресурса Subnet или вызовом gRPC API SubnetService/Delete.
  5. Удалите сеть yc-auto-network: воспользуйтесь методом REST API delete для ресурса Network или вызовом gRPC API NetworkService/Delete.

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

Предыдущая
Автомасштабирование группы ВМ для обработки сообщений из очереди
Следующая
Развертывание Remote Desktop Gateway
Проект Яндекса
© 2025 ООО «Яндекс.Облако»