Поделиться через


Планирование автомасштабирования для Шлюз приложений версии 2

Обзор

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

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

Цель состоит в том, чтобы использовать служба автоматизации Azure для создания расписания запуска модулей Runbook, которые настраивают минимальную емкость автомасштабирования Шлюз приложений для удовлетворения требований к трафику во время пиковых и не пиковых часов.

Настройка запланированного автомасштабирования

Для реализации запланированного автомасштабирования:

  1. Создайте ресурс учетной записи служба автоматизации Azure в том же клиенте, что и Шлюз приложений.
  2. Обратите внимание на управляемое удостоверение, назначенное системой, для учетной записи служба автоматизации Azure.
  3. Создайте модули Runbook PowerShell для увеличения и уменьшения емкости автомасштабирования для ресурса Шлюз приложений.
  4. Создайте расписания, в течение которых необходимо реализовать модули Runbook.
  5. Свяжите модули Runbook с соответствующими расписаниями.
  6. Свяжите управляемое удостоверение, назначенное системой, на шаге 2, с Шлюз приложений и ресурсом виртуальной сети Шлюз приложений.

Настройка автоматизации

Предположим, что требование состоит в том, чтобы увеличить минимальное число до 4 в рабочие часы и уменьшить минимальное число до 2 в нерабочие часы.

Создаются два модуля Runbook:

  • IncreaseMin — задает минимальное число конфигурации автомасштабирования значение 4.
  • DecreaseMin — задает минимальное число конфигурации автомасштабирования 2

Используйте следующий модуль Runbook PowerShell для настройки емкости:

# Get the context of the managed identity 
$context = (Connect-AzAccount -Identity).Context 
# Import the Az module 
Import-Module Az 
# Adjust the min count of your Application Gateway 
$gw = Get-AzApplicationGateway -Name “<AppGwName>” -ResourceGroupName “<ResourceGroupName>”
$gw = Set-AzApplicationGatewayAutoscaleConfiguration -ApplicationGateway $gw -MinCapacity <NumberOfRequiredInstances>
$gw = Set-AzApplicationGateway -ApplicationGateway $gw 

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

  • WeekdayMorning — Запуск runbook IncreaseMin из Mon-Fri в 5:00AM PST
  • WeekdayEvening — запуск модуля Runbook DecreaseMin из Mon-Fri в 9:00 ВЕЧЕРА PST

Вопросы и ответы

  • Что такое соглашение об уровне обслуживания для своевременного выполнения заданий?

    служба автоматизации Azure имеет соглашение об уровне обслуживания 99,9% для своевременного начала заданий.

  • Что происходит, если задания прерваны во время выполнения?

    • Если задание уже отправляет запрос в AppGW перед прерыванием, запрос проходит.
    • Если задание прерывается перед отправкой запроса в Шлюз приложений, это будет один из сценариев, описанных в следующем разделе.
  • Что происходит, если задачи задания не происходят?

    Отсутствующее задание Воздействие
    Увеличение мими Возвращается на собственный автомасштабирование. Следующий запуск "УменьшитьMin" должен быть no-op, так как количество не нужно настраивать.
    УменьшитьMin Дополнительные затраты для клиента (непреднамеренного) емкости, подготовленной в эти часы. Следующий запуск IncreaseMin должен быть no-op, так как количество не нужно настраивать.
  • Можно ли изменять конфигурации автомасштабирования несколько раз в день?

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

Примечание.

Отправьте сообщение электронной почты agschedule-autoscale@microsoft.com , если у вас есть вопросы или нужна помощь по настройке управляемого и запланированного автомасштабирования для развертываний. Если при настройке runbook возникла проблема, обратитесь к разделу "Устранение неполадок Runbook". Вы можете настроить связанные оповещения Runbook, следуя служба автоматизации Azure модулям Runbook мониторинга с оповещениями метрик.

Следующие шаги