Рекомендации по автомасштабированию

Автомасштабирование Azure Monitor применяется только к Azure Масштабируемые наборы виртуальных машин, Azure Облачные службы, функции веб-приложения Служба приложений Azure и Azure. Управление API.

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

  • Ресурс может иметь только один параметр автомасштабирования.
  • Параметр автомасштабирования может иметь один или несколько профилей, а каждый профиль может иметь одно или несколько правил автомасштабирования.
  • Параметр автомасштабирования обеспечивает горизонтальное масштабирование экземпляров, то есть развертывает их, увеличивая количество экземпляров, или свертывает, уменьшая их количество.
  • Параметр автомасштабирования определяет максимальное, минимальное и используемое по умолчанию число экземпляров.
  • Задание автомасштабирования всегда считывает связанную метрику для масштабирования по ней, проверяя, превышено ли пороговое значение для развертывания или свертывания. Список метрик для автомасштабирования можно просмотреть в статье, посвященной общим метрикам автомасштабирования Azure Monitor.
  • Все пороговые значения вычисляются на уровне экземпляров. Пример: "Горизонтальное масштабирование на один экземпляр, если среднее значение ЦП > 80 % при количестве экземпляров равно 2". Это означает горизонтальное масштабирование, когда средний объем ЦП во всех экземплярах превышает 80 %.
  • Все сбои автомасштабирования регистрируются в журнале действий. Затем можно настроить оповещение журнала действий , чтобы получать уведомления по электронной почте, SMS или веб-перехватчикам при сбое автомасштабирования.
  • Аналогичным образом все успешные действия масштабирования записываются в журнал действий. Затем можно настроить оповещение журнала действий, чтобы в случае успешного автомасштабирования получать уведомления при помощи электронной почты, SMS, или веб-перехватчиков. Также можно настроить уведомления по электронной почте или через веб-перехватчики, чтобы узнавать об успешных действиях масштабирования посредством вкладки уведомлений в настройках автомасштабирования.

Рекомендации по автомасштабированию

Используйте следующие рекомендации для автомасштабирования.

Обязательно используйте разные минимальное и максимальное значения с соответствующим интервалом между ними

Если у вас есть параметр minimum=2, maximum=2, а текущее число экземпляров равно 2, то действие масштабирования выполняться не может. Обеспечьте достаточный интервал между минимальным и максимальным количеством экземпляров, включая их предельное количество. Служба автомасштабирования всегда масштабирует экземпляры в этих границах.

Ручное масштабирование сбрасывается по минимальному и максимальному значениям автомасштабирования

Если вы вручную обновляете количество экземпляров и устанавливаете значение, которое превышает или не превышает максимальное, параметр автомасштабирования автоматически масштабирует значение до минимального (если оно было меньше) или до максимального (если оно было больше). Например, вы задаете диапазон от 3 до 6. При наличии одного запущенного экземпляра при следующем запуске параметр автомасштабирования развернет количество экземпляров до трех. Аналогичным образом, если вручную задать масштабирование до восьми экземпляров, при следующем запуске будет выполнено обратное автомасштабирование до шести экземпляров. Масштабирование вручную является временным, если вы также не сбросили правила автомасштабирования.

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

Если вы используете только одну часть комбинации, автомасштабирование выполняет действия только в одном направлении (горизонтальное увеличение масштаба или в), пока не достигнет максимального или минимального количества экземпляров, как определено в профиле. Эта ситуация не является оптимальной. В идеале вы хотите, чтобы ресурс масштабируется в периоды высокой загрузки, чтобы обеспечить доступность. Аналогичным образом, при низком использовании требуется масштабировать ресурс, чтобы обеспечить экономию средств.

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

  • Если ЦП > 90 %, горизонтальное увеличение масштаба на 1
  • Если объем памяти > 90 %, горизонтальное увеличение масштаба на 1
  • Если ЦП < 45 %, масштабирование на 1

В этом примере может быть ситуация, когда использование памяти превышает 90 %, но загрузка ЦП составляет менее 45 %. Этот сценарий может привести к колебаниям до тех пор, пока выполняются оба условия.

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

Для диагностика метрик можно выбрать среднее, минимальное, максимальное и итоговое в качестве метрики для масштабирования. Наиболее распространенные статистический показатель — Средний.

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

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

Давайте проиллюстрируем это на примере, чтобы вы лучше понимали поведение:

  • Увеличьте число экземпляров на 1, если количество >сообщений очереди хранилища = 50
  • Уменьшите число экземпляров на 1, если количество <сообщений очереди хранилища = 10

Рассмотрим следующую последовательность:

  1. Существует два экземпляра очереди хранилища.
  2. Сообщения продолжают поступать, и при проверке очереди хранилища общее число будет вычислено 50. Вы можете предположить, что служба автомасштабирования должна начать развертывание. Однако обратите внимание, что это по-прежнему 50/2 = 25 сообщений на экземпляр. Таким образом, горизонтальное увеличение масштаба не происходит. Чтобы выполнить первое действие горизонтального увеличения масштаба, общее количество сообщений в очереди хранилища должно быть 100.
  3. Далее предположим, что общее количество сообщений достигло 100.
  4. Третий экземпляр очереди хранилища добавляется из-за действия горизонтального увеличения масштаба. Следующее действие горизонтального увеличения масштаба не будет выполняться до тех пор, пока общее число сообщений в очереди не достигнет 150, так как 150/3 = 50.
  5. Теперь количество сообщений в очереди уменьшится. Первое свертывание для трех экземпляров происходит, когда общее количество сообщений во всех очередях достигает 30, так как 30/3 = 10 сообщений на экземпляр. А это и есть пороговое значение свертывания.

Рекомендации по масштабированию при настройке нескольких правил в профиле

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

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

Для иллюстрации предположим, что у вас есть четыре правила автомасштабирования:

  • Если ЦП < 30 %, масштабирование на 1
  • Если память < 50 %, масштабирование на 1
  • Если загрузка ЦП> 75 %, развернуть 1 экземпляр
  • Если объем используемой памяти > 75 %, развернуть 1 экземпляр

Затем выполняется следующее действие:

  • Если ресурсы ЦП загружены на 76 % и занято 50 % памяти, будет выполнено горизонтальное увеличение масштаба.
  • Если ресурсы ЦП загружены на 50 % и занято 76 % памяти, будет выполнено горизонтальное увеличение масштаба.

С другой стороны, если загрузка ЦП составляет 25 %, а объем памяти равен 51 %, автомасштабирование не масштабируется. Для масштабирования ЦП должен быть 29 %, а объем памяти — 49 %.

Всегда выбирайте безопасное число экземпляров по умолчанию

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

Настройка уведомлений об автомасштабировании

Автомасштабирование записей в журнал действий при возникновении любого из следующих условий:

  • Служба автомасштабирования инициирует операцию масштабирования.
  • Служба автомасштабирования успешно завершает действие масштабирования.
  • службе автомасштабирования не удается выполнить действие масштабирования.
  • Службе автомасштабирования не доступны метрики для принятия решения по масштабированию.
  • Метрики для принятия решения по масштабированию стали доступны (восстановились).
  • Служба автомасштабирования обнаруживает нестабильность и прерывает попытку масштабирования. В этой ситуации Flapping отображается тип журнала . Если вы видите этот тип журнала, подумайте, являются ли пороговые значения слишком узкими.
  • Служба автомасштабирования обнаруживает нестабильность, но все же может успешно выполнить масштабирование. В этой ситуации FlappingOccurred отображается тип журнала . Если вы видите этот тип журнала, подсистема автомасштабирования попыталась масштабироваться (например, с четырех экземпляров до двух), но определила, что это изменение приведет к сбою. Вместо этого подсистема автомасштабирования масштабируется до другого числа экземпляров (например, с использованием трех экземпляров вместо двух), что больше не вызывает колебания, поэтому оно масштабируется до этого числа экземпляров.

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

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

Безопасная отправка данных с помощью TLS 1.2

Чтобы обеспечить безопасность передаваемых в Azure Monitor данных, настоятельно рекомендуем настроить для агента использование протокола TLS как минимум версии 1.2. Более старые версии TLS/Secure Sockets Layer (SSL) оказались уязвимыми. Хотя в настоящее время они по-прежнему работают для обеспечения обратной совместимости, мы не рекомендуем их. Отрасль быстро переходит к отказу от поддержки этих старых протоколов.

Совет по стандартам безопасности PCI установил крайний срок — 30 июня 2018 г., чтобы отключить старые версии TLS/SSL и перейти на более безопасные протоколы. Если агенты не смогут обмениваться данными по протоколу TLS 1.2, вы не сможете отправлять данные в журналы Azure Monitor после удаления устаревшей поддержки.

Мы не рекомендуем явно задавать агенту только tls 1.2, если это не необходимо. Лучше всего предоставить агенту возможность автоматического обнаружения, согласования и использования перспективных стандартов безопасности. В противном случае вы можете пропустить дополнительную безопасность новых стандартов и столкнуться с проблемами, если TLS 1.2 когда-либо не рекомендуется использовать в пользу этих новых стандартов.

Дальнейшие действия