Обзор автомасштабирования в Azure
В этой статье описывается функция автомасштабирования в Azure Monitor и ее преимущества.
Автомасштабирование поддерживает множество типов ресурсов. Дополнительные сведения о поддерживаемых ресурсах см. в разделе "Автомасштабирование поддерживаемых ресурсов".
Примечание.
Группы доступности — это более старая функция масштабирования для виртуальных машин, для которой предлагается ограниченная поддержка. Мы рекомендуем выполнить миграцию в Azure Масштабируемые наборы виртуальных машин для более быстрой и надежной поддержки автомасштабирования.
Основные сведения об автомасштабировании
Автомасштабирование — это служба, которую можно использовать для автоматического добавления и удаления ресурсов в соответствии с нагрузкой на приложение.
Когда приложение испытывает более высокую нагрузку, автомасштабирование добавляет ресурсы для ее обработки. При низкой нагрузке автомасштабирование уменьшает количество ресурсов, что снижает затраты. Вы можете масштабировать приложение на основе таких метрик, как использование ЦП, длина очереди и доступная память. Вы также можете масштабировать на основе расписания. Метрики и расписания настраиваются в правилах. Правила включают минимальный уровень ресурсов, необходимых для запуска приложения, и максимальный уровень ресурсов, которые не будут превышены.
Например, вы можете горизонтальное увеличить масштаб приложения путем добавления виртуальных машин, когда средняя загрузка ЦП на каждую виртуальную машину превышает 70 %. Масштабируйте его обратно, удалив виртуальные машины при удалении использования ЦП до 40 %.
Когда заданные в правилах условия выполняются, активируется одно или несколько действий автомасштабирования, которые добавляют или удаляют виртуальные машины. Вы также можете выполнять другие действия, такие как отправка электронной почты, уведомлений или веб-перехватчиков для активации процессов в других системах.
Горизонтальное и вертикальное масштабирование
Автомасштабирование масштабируется в и горизонтальном режиме. Горизонтальное масштабирование — это увеличение или уменьшение числа экземпляров ресурсов. Например, для масштабируемого набора виртуальных машин горизонтальное увеличение масштаба означает добавление дополнительных виртуальных машин. Горизонтальное уменьшение масштаба означает удаление виртуальных машин. Горизонтальное масштабирование гибко в облачной ситуации, так как его можно использовать для выполнения большого количества виртуальных машин для обработки нагрузки.
Автомасштабирование не поддерживает вертикальное масштабирование. В отличие от этого, масштабирование вверх и вниз или вертикальное масштабирование сохраняет одинаковое количество экземпляров ресурсов, но дает им большую емкость с точки зрения памяти, скорости ЦП, места на диске и сети. Вертикальное масштабирование ограничено доступностью дополнительного оборудования и, соответственно, некоторым верхним пределом. Доступность оборудования той или иной мощности зависит от региона Azure. Вертикальное масштабирование также может потребовать перезагрузки виртуальной машины во время масштабирования.
Когда заданные в правилах условия выполняются, активируется одно или несколько действий автомасштабирования, которые добавляют или удаляют виртуальные машины. Вы также можете выполнять другие действия, такие как отправка электронной почты, уведомлений или веб-перехватчиков для активации процессов в других системах.
Прогнозное автомасштабирование
Прогнозное автомасштабирование использует машинное обучение для управления масштабируемыми наборами виртуальных машин и масштабирования с помощью шаблонов циклических рабочих нагрузок. Эта функция прогнозирует общую загрузку ЦП для вашего масштабируемого набора виртуальных машин на основе моделей использования ЦП за прошлые периоды. Затем масштабируемый набор можно масштабировать в нужные моменты для удовлетворения прогнозируемого спроса.
Настройка автомасштабирования
Автомасштабирование можно настроить с помощью следующих инструментов:
Метрики ресурса
Ресурсы создают метрики, используемые в правилах автомасштабирования для активации событий масштабирования. Масштабируемые наборы виртуальных машин используют для создания метрик данные телеметрии из агентов диагностики Azure. Телеметрия для функции веб-приложения службы приложение Azure и Azure Облачные службы поставляется непосредственно из инфраструктуры Azure. К часто используемым метрикам относятся загрузка ЦП, использование памяти, число потоков, длина очереди и использование диска. Список доступных метрик см. в разделе "Стандартные метрики автомасштабирования".
Пользовательские метрики
Вы можете использовать собственные метрики, создаваемые вашим приложением. Настройте приложение для отправки метрик в Application Insights , чтобы использовать эти метрики для выбора времени масштабирования.
Время
Вы можете настроить правила на основе расписания для активации событий масштабирования. Используйте правила на основе расписания при отображении шаблонов времени в нагрузке и хотите масштабироваться перед ожидаемым изменением нагрузки.
Правила
Правила определяют условия, необходимые для запуска события масштабирования, направление масштабирования и его объем. Объединение нескольких правил с помощью различных метрик, таких как использование ЦП и длина очереди. Определите до 10 правил на профиль.
Правила могут быть следующими:
- Метрика: триггер на основе значения метрики, например, если использование ЦП превышает 50 %.
- Время на основе времени: триггер на основе расписания, например каждую субботу в 8 утра.
Автомасштабирование масштабируется, если выполняются какие-либо из правил. Автомасштабирование масштабируется только в том случае, если выполняются все правила. С точки зрения операторов логики оператор OR используется для масштабирования с несколькими правилами. Оператор AND используется для масштабирования с несколькими правилами.
Действия и автоматизация
Правила могут вызвать одно или несколько действий. К действиям относятся:
- Масштабирование: масштабирование ресурсов в или вне.
- Электронная почта: отправка сообщения электронной почты администраторам подписки, соадминистраторам и другим адресам электронной почты.
- Веб-перехватчики: вызов веб-перехватчиков для активации нескольких сложных действий внутри или за пределами Azure. В Azure можно:
- запускать runbook службы автоматизации Azure;
- Вызов функции Azure.
- Активируйте приложение логики Azure.
параметры автоматического масштабирования;
Параметры автомасштабирования включают условия масштабирования, определяющие правила, ограничения и расписания и уведомления. Определите одно или несколько условий масштабирования в параметрах и одной настройке уведомлений.
Автомасштабирование имеет определенную структуру, для описания которой используется соответствующая терминология.
UI | JSON/CLI | Description |
---|---|---|
Условия масштабирования | профили | Коллекция правил, ограничений на экземпляры и расписаний на основе метрики или времени. Можно задать одно или несколько условий или профилей масштабирования. Определите до 20 профилей на параметр автомасштабирования. |
Правила | rules | Набор условий на основе времени или метрик, которые активируют действие масштабирования. Для действий горизонтального уменьшения и увеличения масштаба можно задать одно или несколько правил. Определите до 10 правил на профиль. |
Ограничения экземпляров | Емкость | Каждое условие масштабирования или профиль определяет стандартное, максимальное и минимальное количество экземпляров, которые могут выполняться в этом профиле. |
Расписание | повторение | Указывает, когда автомасштабирование помещает в силу это условие масштабирования или профиль. Вы можете создать несколько условий масштабирования, охватывающих как полностью различные, так и частично перекрывающиеся случаи. Например, вы можете иметь разные условия масштабирования для разных времен дня или дней недели. |
Notify | уведомление | Определяет уведомления, отправляемые при возникновении события автомасштабирования. Автомасштабирование может уведомлять один или несколько адресов электронной почты или вызывать с помощью одного или нескольких веб-перехватчиков. Вы можете настроить несколько веб-перехватчиков в JSON, но только один в пользовательском интерфейсе. |
Полный список настраиваемых полей и описаний см. в статье о REST API для функции автомасштабирования.
Примеры кода см. в следующих примерах:
- Руководство. Автоматическое масштабирование масштабируемого набора виртуальных машин с помощью Azure CLI
- Руководство. Автоматическое масштабирование масштабируемого набора виртуальных машин с помощью шаблона Azure
Службы, поддерживающие автомасштабирование
Автомасштабирование поддерживает следующие службы.
Service | Схема и документация |
---|---|
Масштабируемые наборы Виртуальные машины Azure | Обзор автомасштабирования с помощью масштабируемых наборов виртуальных машин Azure |
Веб-приложения службы приложений Azure | Scaling Web Apps (Масштабирование веб-приложения) |
Служба управления API Azure | Автоматическое масштабирование экземпляра службы управления API Azure |
Кластеры Azure Data Explorer | Управление кластерами Azure Data Explorer с учетом меняющихся потребностей |
Azure Stream Analytics | Единицы потоковой передачи автомасштабирования (предварительная версия) |
Служба Azure SignalR (уровень "Премиум") | Автоматическое масштабирование единиц службы Azure SignalR |
Рабочая область службы "Машинное обучение Azure" | Автомасштабирование сетевой конечной точки |
Azure Spring Apps | Настройка автомасштабирования для приложений |
Службы мультимедиа Azure | Автомасштабирование в Службах мультимедиа |
Служебная шина Azure | Автоматическое обновление единиц обмена сообщениями в пространстве имен Служебная шина Azure |
Следующие шаги
Дополнительные сведения об автомасштабировании см. в следующих статьях:
- Общие метрики автомасштабирования Azure Monitor
- Использование действий автомасштабирования для отправки электронной почты и уведомлений об оповещениях веб-перехватчика в Azure Insights
- Руководство. Автоматическое масштабирование масштабируемого набора виртуальных машин с помощью Azure CLI
- Руководство. Автоматическое масштабирование масштабируемого набора виртуальных машин с помощью Azure PowerShell
- Справочник по интерфейсу командной строки автомасштабирования
- Определение ресурса шаблона ARM
- Справочник по PowerShell Az.Monitor
- Справочник по REST API: параметры автомасштабирования