Yandex.Cloud
  • Сервисы
  • Почему Yandex.Cloud
  • Сообщество
  • Тарифы
  • Документация
  • Связаться с нами
Подключиться
Yandex Compute Cloud
  • Начало работы
    • Обзор
    • Создание виртуальной машины Linux
    • Создание виртуальной машины Windows
    • Создание группы виртуальных машин
  • Пошаговые инструкции
    • Все инструкции
    • Создание виртуальной машины
      • Создать ВМ Linux
      • Создать ВМ Windows
      • Создать ВМ из набора дисков
      • Создать ВМ с дисками из снимков
      • Создать ВМ из пользовательского образа
      • Создать прерываемую ВМ
      • Создать ВМ c GPU
    • DSVM
      • Обзор
      • Создать ВМ из публичного образа DSVM
    • Группы размещения
      • Создать группу размещения
      • Удалить группу размещения
      • Создать ВМ в группе размещения
      • Добавить ВМ в группу размещения
      • Исключить ВМ из группы размещения
    • Образы с предустановленным ПО
      • Создать ВМ из публичного образа
      • Настроить ПО
      • Работа с ВМ на базе публичного образа
      • Получить список публичных образов
    • Получение информации о виртуальной машине
      • Получить информацию о ВМ
      • Получить вывод последовательного порта
    • Управление виртуальной машиной
      • Остановить и запустить ВМ
      • Подключить диск к ВМ
      • Отключить диск от ВМ
      • Перенести ВМ в другую зону доступности
      • Сделать публичный IP-адрес ВМ статическим
      • Изменить ВМ
      • Изменить вычислительные ресурсы ВМ
      • Удалить ВМ
    • Работа на виртуальной машине
      • Подключиться к ВМ по SSH
      • Подключиться к ВМ по RDP
      • Работа с Yandex.Cloud изнутри ВМ
      • Установить NVIDIA-драйверы
    • Создание нового диска
      • Создать пустой диcк
    • Управление диском
      • Создать снимок диска
      • Изменить диск
      • Удалить диcк
      • Удалить снимок диска
    • Создание нового образа
      • Загрузить свой образ
    • Управление образом
      • Удалить образ
    • Управление серийной консолью
      • Начало работы
      • Подключиться к серийной консоли по SSH
      • Подключиться к серийной консоли с помощью CLI
      • Запустить командную оболочку в Windows SAC
      • Отключить доступ к серийной консоли
    • Создание группы виртуальных машин
      • Создать группу ВМ фиксированного размера
      • Создать группу ВМ фиксированного размера с балансировщиком
      • Создать автоматически масштабируемую группу ВМ
      • Создать группу ВМ с Container Optimized Image
    • Получение информации о группе виртуальных машин
      • Получить список групп ВМ
      • Получить информацию о группе ВМ
      • Получить список ВМ в группе
    • Управление группой виртуальных машин
      • Изменить группу ВМ
      • Настроить проверку состояния приложения на ВМ
      • Обновить группу
        • Постепенное обновление
        • Обновление без простоя
      • Остановить группу ВМ
      • Запустить группу ВМ
      • Удалить группу ВМ
    • Выделенные хосты
      • Создать ВМ в группе выделенных хостов
      • Создать ВМ на выделенном хосте
  • Yandex Container Solution
  • Сценарии использования
    • Настройка синхронизации времени NTP
    • Работа с группой ВМ с автоматическим масштабированием
  • Концепции
    • Взаимосвязь ресурсов
    • Виртуальные машины
      • Обзор
      • Платформы
      • Уровни производительности vCPU
      • Графические ускорители (GPU)
      • Прерываемые виртуальные машины
      • Сеть на виртуальной машине
      • Динамическая миграция
      • Группы размещения
      • Статусы
      • Метаданные
    • Диски
      • Обзор
      • Снимки дисков
    • Образы
    • Группы виртуальных машин
      • Обзор
      • Доступ
      • Шаблон виртуальной машины
      • Переменные в шаблоне виртуальной машины
      • Политики
        • Обзор
        • Политика распределения
        • Политика развертывания
        • Политика масштабирования
      • Типы масштабирования
      • Автоматическое восстановление
      • Обновление
        • Обзор
        • Распределение виртуальных машин по зонам
        • Алгоритм развертывания
        • Правила обновления виртуальных машин
      • Статусы
    • Выделенный хост
    • Резервное копирование
    • Квоты и лимиты
  • Управление доступом
  • Правила тарификации
    • Действующие правила
    • Архив
      • До 1 января 2019 года
      • С 1 января до 1 марта 2019 года
      • С 1 марта до 1 мая 2019 года
  • Справочник API
    • Аутентификация в API
    • gRPC
      • Обзор
      • DiskService
      • DiskTypeService
      • HostGroupService
      • HostTypeService
      • ImageService
      • InstanceService
      • PlacementGroupService
      • SnapshotService
      • ZoneService
      • InstanceGroupService
      • OperationService
    • REST
      • Обзор
      • Disk
        • Обзор
        • create
        • delete
        • get
        • list
        • listOperations
        • update
      • DiskType
        • Обзор
        • get
        • list
      • HostGroup
        • Обзор
        • create
        • delete
        • get
        • list
        • listHosts
        • listInstances
        • listOperations
        • update
      • HostType
        • Обзор
        • get
        • list
      • Image
        • Обзор
        • create
        • delete
        • get
        • getLatestByFamily
        • list
        • listOperations
        • update
      • Instance
        • Обзор
        • attachDisk
        • create
        • delete
        • detachDisk
        • get
        • getSerialPortOutput
        • list
        • listOperations
        • restart
        • start
        • stop
        • update
        • updateMetadata
      • PlacementGroup
        • Обзор
        • create
        • delete
        • get
        • list
        • listInstances
        • listOperations
        • update
      • Snapshot
        • Обзор
        • create
        • delete
        • get
        • list
        • listOperations
        • update
      • Zone
        • Обзор
        • get
        • list
      • Operation
        • Обзор
        • get
      • InstanceGroup
        • Обзор
        • createFromYaml
        • update
        • list
        • get
        • delete
        • start
        • stop
        • create
        • updateFromYaml
        • listLogRecords
        • listInstances
        • listOperations
  • Вопросы и ответы
    • Общие вопросы
    • Виртуальные машины
    • Диски и снимки
    • Аварийное восстановление
    • Лицензирование
    • Все вопросы на одной странице
  1. Концепции
  2. Группы виртуальных машин
  3. Типы масштабирования

Типы масштабирования

  • Группы с ручным масштабированием
  • Группы с автоматическим масштабированием
    • Общие настройки
    • Метрики для автоматического масштабирования

Тип масштабирования группы виртуальных машин необходимо выбирать при создании каждой группы. Тип определяет каким образом будет изменяться число виртуальных машин в группе: автоматически или вручную.

Группы с ручным масштабированием

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

Группы с автоматическим масштабированием

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

  • Если среднее значение метрики поднимется выше целевого, Instance Groups создаст новые виртуальные машины в группе.

  • Если среднее значение опустится ниже настолько, что при сокращении размера группы среднее значение останется ниже целевого, то Instance Groups удалит лишние виртуальные машины.

    Например, в зоне доступности 4 виртуальных машины, среднее значение метрики равно 70, а целевое — 80. Тогда Instance Groups не будет сокращать размер группы, так как при удалении виртуальной машины среднее значение станет выше целевого значения: 4 × 70 / 3 = 93,3. Когда среднее значение упадет до 60, Instance Groups удалит одну виртуальную машину, так как среднее значение не поднимется выше целевого: 4 × 60 / 3 = 80.

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

Общие настройки

Чтобы регулировка не была слишком чувствительной, Instance Groups позволяет задать:

  • период стабилизации — после увеличения количества машин в группе машины не удаляются до окончания периода стабилизации, даже если среднее значение метрики стало достаточно низким.

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

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

  • период усреднения — все значения метрик будут усредняться за этот период.

    Например, нагрузка CPU может в одну секунду подняться до 100%, а в другую упасть до 10%. Чтобы игнорировать такие скачки нагрузки, Instance Groups использует среднее значение за указанный период, например за 1 минуту.

Вы также можете установить ограничения на количество виртуальных машин в группе:

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

Метрики для автоматического масштабирования

Для автоматического масштабирования вы можете использовать метрики:

  • Нагрузка CPU.
  • Пользовательские метрики из сервиса Yandex Monitoring.

Нагрузка CPU

Instance Groups может управлять размером группы так, чтобы поддерживать среднюю нагрузку CPU на целевом уровне. Средняя нагрузка CPU рассчитывается для виртуальных машин из одной группы и из одной зоны доступности.

Рассмотрим алгоритм действий сервиса вне периода стабилизации:

  1. Рассчитать среднюю нагрузку CPU на каждой виртуальной машине, кроме тех, для которых не закончился период прогрева. На каждой ВМ нагрузка замеряется несколько раз в минуту. Полученные значения усредняются для каждой машины по периоду усреднения, который вы задаете при создании группы.

  2. Рассчитав среднюю нагрузку по каждой машине, дополнительно усреднить ее по зонам доступности.

    Например, группа из 4 машин находится целиком в одной зоне. Одна из них запускается, а для остальных нагрузка 90%, 75% и 85%. Средняя нагрузка по зоне: (90+75+85) / 3 = 83.4%

  3. Получить общую нагрузку: умножить полученную среднюю нагрузку на общее количество машин. В примере — 83.4 × 4 = 333.6%

  4. Разделить общую нагрузку на целевой уровень нагрузки по зоне, чтобы получить требуемое количество машин (результат округлить в большую сторону). Например, целевой уровень — 75%. Значит, нужное количество машин 333.6 / 75 = 4.48 ~ 5 ВМ.

По результатам расчета нужно создать еще одну виртуальную машину. Instance Groups запускает этот процесс, и начинает рассчитывать среднюю нагрузку заново.

Пользовательские метрики

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

В Yandex Monitoring при записи метрики укажите дополнительные метки:

  • instance_group_id — идентификатор группы виртуальных машин.
  • zone_id — идентификатор зоны доступности, если значение метрики рассчитывается для всех виртуальных машин в одной зоне.
  • instance_id — идентификатор виртуальной машины, если значение метрики рассчитывается для каждой виртуальной машины отдельно.

В Instance Groups при использовании этой метрики необходимо указать:

  • Имя метрики, которое вы указали в Yandex Monitoring.
  • Целевое значение метрики, которое должен поддерживать Instance Groups.
  • Тип метрики, который влияет на то, как Instance Groups будет рассчитывать среднее значение метрики:
    • GAUGE — используется для метрик, отображающих значение метрики в определенный момент времени, например количество запросов в секунду к серверу на виртуальной машине. Instance Groups вычисляет среднее значение метрики за указанный период усреднения.
    • COUNTER — используется для метрик, которые монотонно растут со временем, например для общего количества запросов к серверу на виртуальной машине. Instance Groups вычисляет средний прирост метрики за указанный период усреднения.
  • Тип правил применения метрики:
    • UTILIZATION — означает, что метрика применяется к одной виртуальной машине. Сначала Instance Groups вычисляет среднее значение метрики для каждой виртуальной машины, а затем усредняет значения для машин в одной зоне доступности. Этот тип метрики должен иметь метку instance_id.
    • WORKLOAD — означает, что метрика применяется к виртуальным машинам из одной зоны доступности. Этот тип метрики должен иметь метку zone_id.

См. также

  • Политика масштабирования.
  • Создать группу виртуальных машин фиксированного размера.
  • Создать автоматически масштабируемую группу виртуальных машин.
В этой статье:
  • Группы с ручным масштабированием
  • Группы с автоматическим масштабированием
  • Общие настройки
  • Метрики для автоматического масштабирования
Language
Вакансии
Политика конфиденциальности
Условия использования
© 2021 ООО «Яндекс.Облако»