Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Ao criar um conjunto de dimensionamento, pode definir o número de instâncias de VM que quer executar. À medida que a sua aplicação exige alterações, pode aumentar ou reduzir automaticamente o número de instâncias de VM. A capacidade de dimensionamento automático permite-lhe manter-se a par da exigência do cliente ou responder às alterações de desempenho durante todo o ciclo de vida da aplicação. Neste tutorial você aprenderá a:
- Utilizar o dimensionamento automático com um conjunto de dimensionamento
- Criar e utilizar regras de dimensionamento automático
- Simule a carga da CPU para acionar regras de dimensionamento automático
- Monitore as ações de dimensionamento automático à medida que a demanda muda
Se não tiver uma conta do Azure, crie uma conta gratuita antes de começar.
Pré-requisitos
Utilize o ambiente Bash no Azure Cloud Shell. Para mais informações, veja Get started with Azure Cloud Shell.
Se preferir executar comandos de referência da CLI localmente, instale o CLI do Azure. Se estiver a usar Windows ou macOS, considere executar o Azure CLI num contentor Docker. Para obter mais informações, consulte Como executar a CLI do Azure em um contêiner do Docker.
Se você estiver usando uma instalação local, entre na CLI do Azure usando o comando az login . Para concluir o processo de autenticação, siga os passos exibidos no seu terminal. Para outras opções de entrada, consulte Autenticar no Azure usando a CLI do Azure.
Quando solicitado, instale a extensão do Azure CLI na primeira utilização. Para obter mais informações sobre extensões, consulte Usar e gerenciar extensões com a CLI do Azure.
Execute az version para descobrir a versão e as bibliotecas dependentes que estão instaladas. Para atualizar para a versão mais recente, execute az upgrade.
- Este tutorial requer a versão 2.0.32 ou posterior da CLI do Azure. Se estiver usando o Azure Cloud Shell, a versão mais recente já está instalada.
Criar um conjunto de escalas
Crie um grupo de recursos com az group create.
export RANDOM_SUFFIX=$(openssl rand -hex 3)
export REGION="WestUS2"
export MY_RESOURCE_GROUP_NAME="myResourceGroup$RANDOM_SUFFIX"
az group create --name $MY_RESOURCE_GROUP_NAME --location $REGION
Agora crie um conjunto de escala de máquina virtual com az vmss create. O exemplo a seguir cria um conjunto de escala com uma contagem de instâncias de 2, gera chaves SSH se elas não existirem e usa uma imagem válida Ubuntu2204.
export MY_SCALE_SET_NAME="myScaleSet$RANDOM_SUFFIX"
az vmss create \
--resource-group $MY_RESOURCE_GROUP_NAME \
--name $MY_SCALE_SET_NAME \
--image Ubuntu2204 \
--orchestration-mode Flexible \
--instance-count 2 \
--admin-username azureuser \
--generate-ssh-keys
Definir um perfil de dimensionamento automático
Para ativar o dimensionamento automático num conjunto de dimensionamente, tem primeiro que definir um perfil de dimensionamento automático. Este perfil define a capacidade predefinida, máxima e mínima do conjunto de dimensionamento. Esses limites permitem controlar o custo não criando continuamente instâncias de VM e equilibrar o desempenho aceitável com um número mínimo de instâncias que permanecem em um evento de escala. Criar um perfil de dimensionamento automático com az monitor autoscale create. O exemplo a seguir define a capacidade padrão e mínima de 2 instâncias de VM e um máximo de 10:
az monitor autoscale create \
--resource-group $MY_RESOURCE_GROUP_NAME \
--resource $MY_SCALE_SET_NAME \
--resource-type Microsoft.Compute/virtualMachineScaleSets \
--name autoscale \
--min-count 2 \
--max-count 10 \
--count 2
Criar uma regra para dimensionamento automático para aumentar horizontalmente
Se a demanda da aplicação aumentar, a carga sobre as instâncias de máquinas virtuais no conjunto de dimensionamento também aumenta. Se esse aumento de carga for consistente, em vez de apenas uma breve demanda, você poderá configurar regras de dimensionamento automático para aumentar o número de instâncias de VM. Quando essas instâncias são criadas e seu aplicativo é implantado, o conjunto de dimensionamento começa a distribuir o tráfego para elas por meio do balanceador de carga. Você controla quais métricas monitorar, por quanto tempo a carga deve atender a um determinado limite e quantas instâncias de VM devem ser adicionadas.
Crie uma regra com az monitor autoscale rule create que aumente o número de instâncias de VM quando a carga média da CPU for superior a 70% durante um período de 5 minutos. Quando a regra for acionada, o número de instâncias de VM é aumentado em três.
az monitor autoscale rule create \
--resource-group $MY_RESOURCE_GROUP_NAME \
--autoscale-name autoscale \
--condition "Percentage CPU > 70 avg 5m" \
--scale out 3
Criar uma regra para dimensionamento automático, para reduzir horizontalmente
Quando a demanda de aplicativos diminui, a carga nas instâncias de VM cai. Se essa carga reduzida persistir por um período de tempo, você poderá configurar regras de dimensionamento automático para diminuir o número de instâncias de VM no conjunto de escala. Essa ação de escalonamento ajuda a reduzir custos, executando apenas o número necessário de instâncias necessárias para atender à demanda atual.
Crie outra regra com az monitor autoscale rule create que diminua o número de instâncias de VM quando a carga média da CPU cai abaixo de 30% durante um período de 5 minutos. O exemplo a seguir dimensiona o número de instâncias de VM em um.
az monitor autoscale rule create \
--resource-group $MY_RESOURCE_GROUP_NAME \
--autoscale-name autoscale \
--condition "Percentage CPU < 30 avg 5m" \
--scale in 1
Simule a carga da CPU no conjunto de escalonamento
Para testar as regras de dimensionamento automático, você precisa simular a carga sustentada da CPU nas instâncias de VM no conjunto de escala. Nesta abordagem minimalista, evitamos instalar pacotes adicionais usando o comando built-in yes para gerar carga de CPU. O comando a seguir inicia 3 processos em segundo plano que produzem dados continuamente para /dev/null durante 60 segundos e depois os encerra.
for i in {1..3}; do
yes > /dev/null &
done
sleep 60
pkill yes
Este comando simula a carga da CPU sem introduzir erros de instalação do pacote.
Monitorizar as regras de dimensionamento automático ativas
Para monitorar o número de instâncias de VM em seu conjunto de escala, use o watch comando. Pode levar até 5 minutos para que as regras de dimensionamento automático iniciem o processo de expansão em resposta à carga da CPU. No entanto, assim que isso acontecer, pode sair do modo de monitorização com as teclas CTRL + C.
Até lá, o conjunto de escala aumentará automaticamente o número de instâncias de VM para atender à demanda. O comando a seguir mostra a lista de instâncias de VM no conjunto de escala:
az vmss list-instances \
--resource-group $MY_RESOURCE_GROUP_NAME \
--name $MY_SCALE_SET_NAME \
--output table
Assim que tiver sido cumprido o limiar de CPU, as regras de dimensionamento automático aumentam o número de instâncias de VM no conjunto de dimensionamento. A saída mostrará a lista de instâncias de VM à medida que novas instâncias são criadas.
InstanceId LatestModelApplied Location Name ProvisioningState ResourceGroup VmId
------------ -------------------- ---------- --------------- ------------------- -------------------- ------------------------------------
1 True WestUS2 myScaleSet_1 Succeeded myResourceGroupxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
2 True WestUS2 myScaleSet_2 Succeeded myResourceGroupxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
4 True WestUS2 myScaleSet_4 Creating myResourceGroupxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
5 True WestUS2 myScaleSet_5 Creating myResourceGroupxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
6 True WestUS2 myScaleSet_6 Creating myResourceGroupxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Quando a carga da CPU diminui, a carga média da CPU volta ao normal. Após mais 5 minutos, as regras de dimensionamento automático reduzem horizontalmente o número de instâncias de VM. As ações de dimensionamento removem instâncias de VM com as IDs mais altas primeiro. Quando um conjunto de dimensionamento usa Conjuntos de Disponibilidade ou Zonas de Disponibilidade, as ações de dimensionamento são distribuídas uniformemente entre as instâncias de VM. A seguinte saída de exemplo mostra uma instância de máquina virtual a ser eliminada à medida que o conjunto de escalonamento ajusta automaticamente o seu tamanho.
6 True WestUS2 myScaleSet_6 Deleting myResourceGroupxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Limpeza de recursos
Para remover o conjunto de escalas e os recursos associados, exclua manualmente o grupo de recursos usando seu método preferido.
Próximos passos
Neste tutorial, aprendeu a aumentar e reduzir automaticamente um conjunto de dimensionamento com a CLI do Azure:
- Utilizar o dimensionamento automático com um conjunto de dimensionamento
- Criar e utilizar regras de dimensionamento automático
- Simule a carga da CPU para acionar regras de dimensionamento automático
- Monitore as ações de dimensionamento automático à medida que a demanda muda