Yandex Cloud
Поиск
Связаться с намиПодключиться
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
    • Популярные
    • Инфраструктура и сеть
    • Платформа данных
    • Контейнеры
    • Инструменты разработчика
    • Бессерверные вычисления
    • Безопасность
    • Мониторинг и управление ресурсами
    • Машинное обучение
    • Бизнес-инструменты
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Облако для интеграторов
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Контент-программа
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Истории успеха
    • Тарифы Yandex Cloud
    • Промоакции и free tier
    • Правила тарификации
  • Документация
  • Блог
Проект Яндекса
© 2025 ООО «Яндекс.Облако»
Yandex Compute Cloud
  • Yandex Container Solution
    • Взаимосвязь ресурсов
    • Графические ускорители GPU
    • Образы
      • Обзор
      • Доступ
      • YAML-спецификация
      • Шаблон виртуальной машины
      • Переменные в шаблоне виртуальной машины
      • Типы масштабирования
      • Проверки и автовосстановление ВМ
      • Интеграция с сетевыми и L7-балансировщиками
      • Работа со Stateful-нагрузкой
      • Остановка группы и приостановка процессов
      • Поочередные перезагрузка и пересоздание ВМ в группе
      • Статусы
    • Выделенный хост
    • Шифрование
    • Резервное копирование
    • Квоты и лимиты
  • Управление доступом
  • Правила тарификации
  • Справочник Terraform
  • Метрики Monitoring
  • Аудитные логи Audit Trails
  • История изменений
  • Обучающие курсы

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

  • Группы с ручным масштабированием
  • Примеры использования
  • Группы с автоматическим масштабированием
  • Тип автоматического масштабирования
  • Общие настройки
  • Метрики для автоматического масштабирования
  • Расчет среднего значения метрики
  • Примеры использования
  1. Концепции
  2. Группы виртуальных машин
  3. Типы масштабирования

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

Статья создана
Yandex Cloud
Обновлена 31 марта 2025 г.
  • Группы с ручным масштабированием
    • Примеры использования
  • Группы с автоматическим масштабированием
    • Тип автоматического масштабирования
    • Общие настройки
    • Метрики для автоматического масштабирования
    • Расчет среднего значения метрики
    • Примеры использования

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

Примечание

Если для группы ВМ приостановлены процессы (статус PAUSED), она не масштабируется.

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

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

Примеры использованияПримеры использования

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

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

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

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

Цель такой регулировки — чтобы среднее значение метрики внутри одной зоны доступности или внутри всей группы (в зависимости от типа автоматического масштабирования) не сильно отклонялось от целевого.

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

Если в настройках указано несколько метрик, то в качестве размера группы ВМ используется наибольший из вычисленных по метрикам.

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

Тип автоматического масштабированияТип автоматического масштабирования

Сервис может регулировать количество ВМ отдельно в каждой зоне доступности, указанной в настройках группы, или во всей группе ВМ:

  • При зональном масштабировании для каждой зоны доступности независимо рассчитывается свое среднее значение метрики для масштабирования и нужное количество ВМ. По умолчанию автоматическое масштабирование — зональное.
  • При региональном масштабировании метрика и количество ВМ рассчитываются для всей группы. Чтобы переключить группу на региональное автоматическое масштабирование, передайте политику масштабирования auto_scale с ключом auto_scale_type: REGIONAL.

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

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

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

  • Время на разогрев ВМ — в течение этого времени после запуска ВМ не будут использоваться:

    • нагрузка CPU;
    • значения метрик мониторинга, применяемых по правилу UTILIZATION.

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

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

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

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

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

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

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

  • Нагрузка CPU.
  • Любые метрики из сервиса Yandex Monitoring.

Нагрузка CPUНагрузка 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 начинает рассчитывать среднюю нагрузку заново.

Метрики мониторингаМетрики мониторинга

Вы можете использовать до трех любых метрик из сервиса Monitoring для автоматического масштабирования в Instance Groups. Для чтения метрик у сервисного аккаунта, привязанного к группе ВМ, должна быть роль monitoring.viewer или выше.

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

  • Имя метрики, которое вы задали в Monitoring.
  • Метки, которые вы задали в Monitoring:
  • (опционально) folder_id — идентификатор каталога. По умолчанию — ID каталога, в котором находится группа.
  • (опционально) service — идентификатор сервиса. По умолчанию — custom. Метку можно использовать для указания метрик сервисов, например service со значением compute для Compute Cloud.

Также укажите остальные метки, характеризующие метрику.

  • Тип метрики, который влияет, как Instance Groups будет рассчитывать среднее значение метрики:
    • GAUGE — используется для метрик, отображающих значение метрики в определенный момент времени, например, количество запросов в секунду к серверу на ВМ. Instance Groups вычисляет среднее значение метрики за указанный период усреднения.
    • COUNTER — используется для метрик, которые монотонно растут со временем, например для общего количества запросов к серверу на ВМ. Instance Groups вычисляет средний прирост метрики за указанный период усреднения.
  • Тип правил применения метрики:
    • UTILIZATION — означает, что метрика характеризует потребление ресурсов одной ВМ.

      Количество ВМ в зоне доступности или во всей группе (при зональном или региональном масштабировании соответственно) по UTILIZATION-метрике рассчитывается аналогично количеству по нагрузке CPU.

      При поставке в Monitoring UTILIZATION-метрика должна иметь метку instance_id — идентификатор ВМ.

    • WORKLOAD — означает, что метрика характеризует суммарную нагрузку на все ВМ в одной зоне доступности или во всей группе (при зональном или региональном масштабировании соответственно).

      Чтобы рассчитать количество ВМ в зоне доступности или во всей группе по WORKLOAD-метрике, среднее значение метрики делится на целевое, и результат округляется вверх.

      Например, в зоне доступности две ВМ. Метрика характеризует суммарное количество запросов ко всем ВМ в секунду (RPS). Если целевое значение метрики — 200, то при среднем значении 450 Instance Groups увеличит количество ВМ в зоне доступности до трех: 450 / 200 = 2,25 ~ 3 ВМ.

      Значение метрики рассчитывается и используется в том числе во время разогрева ВМ, указанное в общих настройках.

      Если для группы работает зональное масштабирование, при поставке в Monitoring WORKLOAD-метрика должна иметь метку zone_id — идентификатор зоны доступности.

  • Целевое значение метрики, по которому Instance Groups рассчитывает нужное количество ВМ. Для UTILIZATION-метрик целевое значение — это желаемый уровень потребления ресурсов каждой ВМ, для WORKLOAD-метрик — максимальная допустимая нагрузка на каждую ВМ.

Расчет среднего значения метрикиРасчет среднего значения метрики

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

Обычное среднее рассчитывается по формуле:

∫abf(x)dxb−a,\begin{array}{c} \frac{\int_a^b f(x)dx}{b - a} \end{array}{} , b−a∫ab​f(x)dx​​,

где f(x)f(x)f(x) — функция метрики на временном отрезке [a,b][ a, b ][a,b].

В значениях метрик могут быть резкие скачки, распределенные на всем временном отрезке [a,b][ a, b ][a,b]. При расчете обычного среднего не учитывается когда был скачок — ближе к началу временного отрезка или к концу. Это может привести к нерациональному масштабированию группы ВМ и лишним затратам на ресурсы.

Чтобы учесть момент возникновения скачка метрики, используется экспоненциально взвешенное скользящее среднее:

∫abf(x)w(x)dx∫abw(x)dx,\begin{array}{c} \frac{\int_a^b f(x)w(x)dx}{\int_a^b w(x)dx} \end{array}{} , ∫ab​w(x)dx∫ab​f(x)w(x)dx​​,

где w(x)w(x)w(x) — весовая функция w(x)=k−(x−a)w(x) = k^{-(x - a)}w(x)=k−(x−a), k∈(0,1)k \in (0, 1)k∈(0,1), позволяющая учитывать значения функции f(x)f(x)f(x) ближе к концу отрезка bbb, то есть ближе к текущему моменту времени, с большими весами.

Коэффициент kkk зависит от длительности измерения метрики и вычисляется по формуле:

k=1exp(10/t),\begin{array}{c} k=\frac{1}{exp(10/t)} \end{array}{} , k=exp(10/t)1​​,

где ttt — это длительность измерения метрики в секундах, t=b−at = b - at=b−a.

Примеры использованияПримеры использования

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

См. такжеСм. также

  • Политика масштабирования.
  • Создать группу виртуальных машин фиксированного размера.
  • Создать автоматически масштабируемую группу виртуальных машин.

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

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