Автомасштабирование с несколькими профилями
Масштабирование ресурсов для определенного дня недели или определенного даты и времени может снизить затраты, обеспечивая емкость, необходимую при необходимости.
Вы можете использовать несколько профилей в автомасштабировании для масштабирования по-разному. Если например, ваш бизнес не активен в выходные дни, создайте повторяющийся профиль для масштабирования ресурсов в субботу и воскресенье. Если черная пятница занята день, создайте профиль для автоматического масштабирования ресурсов в черной пятнице.
В этой статье описаны различные профили в автомасштабировании и их использовании.
В параметре автомасштабирования можно использовать один или несколько профилей.
Существует три типа профиля:
- Профиль по умолчанию. Профиль по умолчанию создается автоматически и не зависит от расписания. Профиль по умолчанию не может быть удален. Профиль по умолчанию используется, если нет других профилей, соответствующих текущей дате и времени.
- Повторяющиеся профили. Повторяющийся профиль действителен для определенного диапазона времени и повторяется в течение выбранных дней недели.
- Фиксированные профили даты и времени. Профиль, допустимый для диапазона времени в определенной дате.
При каждом запуске службы автомасштабирования профили оцениваются в следующем порядке:
- Профили фиксированной даты
- Повторяющиеся профили
- Профиль по умолчанию
Если параметры даты и времени профиля соответствуют текущему времени, автомасштабирование применяет правила и ограничения емкости этого профиля. Используется только первый применимый профиль.
В следующем примере показан параметр автомасштабирования с профилем по умолчанию и повторяющимся профилем.
В приведенном выше примере в понедельник после 3 утра повторяющийся профиль перестанет использоваться. Если число экземпляров меньше 3, автомасштабирование масштабируется до нового минимума трех. Автомасштабирование продолжает использовать этот профиль и масштабируется на основе ЦП% до понедельника в 8 вечера. В любое время масштабирование выполняется в соответствии с профилем по умолчанию на основе количества запросов. После 8:00 в понедельник автомасштабирование переключается на профиль по умолчанию. Например, число экземпляров в то время равно 12, автомасштабирование масштабируется до 10, что максимально допустимо для профиля по умолчанию.
Несколько смежных профилей
Автоматическое масштабирование переходов между профилями на основе времени начала. Время окончания заданного профиля определяется временем начала следующего профиля.
На портале поле времени окончания становится следующим временем начала для профиля по умолчанию. Нельзя указать одно и то же время для конца одного профиля и начала следующего. Портал заставляет время окончания быть за одну минуту до начала следующего профиля. В течение этой минуты профиль по умолчанию становится активным. Если вы не хотите, чтобы профиль по умолчанию стал активным между повторяющимися профилями, оставьте поле времени окончания пустым.
Совет
Чтобы настроить несколько смежных профилей с помощью портала, оставьте время окончания пустым. Текущий профиль перестанет использоваться, когда следующий профиль становится активным. Укажите только время окончания, если вы хотите вернуться к профилю по умолчанию. Создание повторяющегося профиля без времени окончания поддерживается только с помощью шаблонов портала и ARM.
Несколько профилей с помощью шаблонов, CLI и PowerShell
При создании нескольких профилей с помощью шаблонов, интерфейса командной строки и PowerShell следуйте приведенным ниже рекомендациям.
Полный справочник по шаблону см. в разделе "Автомасштабирование" определения ресурса шаблона ARM.
В шаблоне для окончания не указана спецификация. Профиль будет оставаться активным до момента начала следующего профиля.
Добавление повторяющегося профиля с помощью шаблонов ARM
В следующем примере показано, как создать два повторяющихся профиля. Один профиль для выходных с 00:01 в субботу утром и второй профиль дня недели, начиная с понедельников в 04:00. Это означает, что профиль выходных начинается в субботу утром в одну минуту прошло полночь и заканчивается в понедельник утром в 04:00. Профиль Weekday начнется в 4 утра в понедельник и заканчивается сразу после полуночи в субботу утром.
Чтобы развернуть шаблон, используйте следующую команду: az deployment group create --name VMSS1-Autoscale-607 --resource-group rg-vmss1 --template-file VMSS1-autoscale.json
где VMSS1-autoscale.json — это файл, содержащий следующий объект JSON.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [
{
"type": "Microsoft.Insights/autoscaleSettings",
"apiVersion": "2015-04-01",
"name": "VMSS1-Autoscale-607",
"location": "eastus",
"properties": {
"name": "VMSS1-Autoscale-607",
"enabled": true,
"targetResourceUri": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/rg-vmss1/providers/Microsoft.Compute/virtualMachineScaleSets/VMSS1",
"profiles": [
{
"name": "Weekday profile",
"capacity": {
"minimum": "3",
"maximum": "20",
"default": "3"
},
"rules": [
{
"scaleAction": {
"direction": "Increase",
"type": "ChangeCount",
"value": "1",
"cooldown": "PT5M"
},
"metricTrigger": {
"metricName": "Inbound Flows",
"metricNamespace": "microsoft.compute/virtualmachinescalesets",
"metricResourceUri": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/rg-vmss1/providers/Microsoft.Compute/virtualMachineScaleSets/VMSS1",
"operator": "GreaterThan",
"statistic": "Average",
"threshold": 100,
"timeAggregation": "Average",
"timeGrain": "PT1M",
"timeWindow": "PT10M",
"Dimensions": [],
"dividePerInstance": true
}
},
{
"scaleAction": {
"direction": "Decrease",
"type": "ChangeCount",
"value": "1",
"cooldown": "PT5M"
},
"metricTrigger": {
"metricName": "Inbound Flows",
"metricNamespace": "microsoft.compute/virtualmachinescalesets",
"metricResourceUri": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/rg-vmss1/providers/Microsoft.Compute/virtualMachineScaleSets/VMSS1",
"operator": "LessThan",
"statistic": "Average",
"threshold": 60,
"timeAggregation": "Average",
"timeGrain": "PT1M",
"timeWindow": "PT10M",
"Dimensions": [],
"dividePerInstance": true
}
}
],
"recurrence": {
"frequency": "Week",
"schedule": {
"timeZone": "E. Europe Standard Time",
"days": [
"Monday"
],
"hours": [
4
],
"minutes": [
0
]
}
}
},
{
"name": "Weekend profile",
"capacity": {
"minimum": "1",
"maximum": "3",
"default": "1"
},
"rules": [],
"recurrence": {
"frequency": "Week",
"schedule": {
"timeZone": "E. Europe Standard Time",
"days": [
"Saturday"
],
"hours": [
0
],
"minutes": [
1
]
}
}
}
],
"notifications": [],
"targetResourceLocation": "eastus"
}
}
]
}
Следующие шаги
- Справочник по интерфейсу командной строки автомасштабирования
- Определение ресурса шаблона ARM
- Модуль PowerShell Az PowerShell. Справочник по монитору
- Справочник по REST API. Параметры автомасштабирования.
- Руководство. Автоматическое масштабирование масштабируемого набора виртуальных машин с помощью шаблона Azure
- Руководство. Автоматическое масштабирование масштабируемого набора виртуальных машин с помощью Azure CLI
- Руководство. Автоматическое масштабирование масштабируемого набора виртуальных машин с помощью шаблона Azure