Dimensionamento automático com vários perfis
Escalar seus recursos para um determinado dia da semana ou uma data e hora específicas pode reduzir seus custos enquanto ainda fornece a capacidade necessária quando você precisa.
Você pode usar vários perfis no dimensionamento automático para escalar de maneiras diferentes em momentos diferentes. Se, por exemplo, sua empresa não estiver ativa no fim de semana, crie um perfil recorrente para reduzir seus recursos horizontalmente aos sábados e domingos. Se a Black Friday for um dia agitado, crie um perfil para escalar seus recursos horizontalmente na Black Friday.
Este artigo explica os diferentes perfis no dimensionamento automático e como usá-los.
Você pode ter um ou mais perfis em sua configuração de dimensionamento automático.
Há três tipos de perfil:
- O perfil padrão. O perfil padrão é criado automaticamente e não depende de uma agenda. O perfil padrão não pode ser excluído. O perfil padrão é usado quando não há outros perfis que correspondam à data e hora atuais.
- Perfis recorrentes. Um perfil recorrente é válido para um intervalo de tempo específico e se repete para os dias selecionados da semana.
- Perfis de data e hora fixos. Um perfil válido para um intervalo de tempo em uma data específica.
Sempre que o serviço de dimensionamento automático é executado, os perfis são avaliados na seguinte ordem:
- Perfis de data fixa
- Perfis recorrentes
- Perfil padrão
Se as configurações de data e hora de um perfil corresponderem com a hora atual, a escala automática aplicará as regras e os limites de capacidade desse perfil. Somente o primeiro perfil aplicável é usado.
O exemplo a seguir mostra uma configuração de escala automática com um perfil padrão e um perfil recorrente.
No exemplo acima, na segunda-feira após as 3h, o perfil recorrente deixará de ser usado. Se a contagem de instâncias for menor que 3, o dimensionamento automático escalará para o novo mínimo de três. O dimensionamento automático continua a usar esse perfil e escala com base no % de CPU até segunda-feira às 20h. Em todos os outros momentos, a escala é feita de acordo com o perfil padrão, com base no número de solicitações. Depois das 20h de segunda-feira, o dimensionamento automático muda para o perfil padrão. Se, por exemplo, o número de instâncias no momento é 12, o dimensionamento automático reduz horizontalmente em 10, o máximo permitido para o perfil padrão.
Vários perfis contíguos
Transições de dimensionamento automático entre perfis com base nos horários de início. A hora de término de um perfil especificado é determinado pela hora de início do perfil a seguir.
No portal, o campo de hora de término passa a ser a próxima hora de início do perfil padrão. Não é possível especificar a mesma hora para o final de um perfil e o início do próximo. O portal força a hora de término a ser um minuto antes da hora de início do perfil seguinte. Durante esse minuto, o perfil padrão fica ativo. Caso não deseje que o perfil padrão se torne ativo entre os perfis recorrentes, mantenha o campo de hora de término vazio.
Dica
Para configurar vários perfis contíguos usando o portal, mantenha a hora de término vazia. O perfil atual deixará de ser usado quando o próximo perfil se tornar ativo. Especifique apenas uma hora de término quando quiser reverter para o perfil padrão. A criação de um perfil recorrente sem hora de término só tem suporte por meio do portal e dos modelos do ARM.
Vários perfis usando modelos, CLI e PowerShell
Ao criar vários perfis usando modelos, CLI e PowerShell, siga as diretrizes abaixo.
Consulte a seção de dimensionamento automático da definição de recurso de modelo do ARM para obter uma referência de modelo completa.
Não há especificações no modelo para a hora de término. Um perfil permanecerá ativo até a hora de início do próximo perfil.
Adicionar um perfil recorrente usando modelos do ARM
O exemplo a seguir mostra como criar dois perfis recorrentes. Um perfil para fins de semana a partir da 00:01 da manhã de sábado e um segundo perfil de dia da semana começando às segundas-feiras às 04:00. Isso significa que o perfil do fim de semana começa no sábado de manhã, um minuto após a meia-noite, e termina na segunda-feira de manhã às 04:00. O perfil de dia da semana começará às 4h da manhã de segunda-feira e acabará logo após a meia-noite de sábado.
Use o seguinte comando para implantar o modelo: az deployment group create --name VMSS1-Autoscale-607 --resource-group rg-vmss1 --template-file VMSS1-autoscale.json
em que VMSS1-autoscale.json é o arquivo que contém o seguinte objeto 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"
}
}
]
}
Próximas etapas
- Referência da CLI de dimensionamento automático
- Definição de recurso de modelo do ARM
- Referência do Monitor do módulo do Az PowerShell do PowerShell
- Referência da API REST. Configurações de dimensionamento automático.
- Tutorial: dimensionamento automático de um conjunto de dimensionamento de máquinas virtuais com um modelo do Azure
- Tutorial: dimensionar automaticamente um conjunto de dimensionamento de máquinas virtuais com a CLI do Azure
- Tutorial: dimensionamento automático de um conjunto de dimensionamento de máquinas virtuais com um modelo do Azure