Tutorial: criar e gerenciar Conjunto de Dimensionamento de Máquinas Virtuais com a CLI do Azure
Um Conjunto de Dimensionamento de Máquinas Virtuais permite implantar e gerenciar um conjunto de máquinas virtuais. Durante todo o ciclo de vida de um Conjunto de Dimensionamento de Máquinas Virtuais, você poderá precisar executar uma ou mais tarefas de gerenciamento. Neste tutorial, você aprenderá a:
- Criar um grupo de recursos
- Crie um conjunto de dimensionamento de máquinas virtuais
- Escalar horizontalmente
- Parar, iniciar e reiniciar instâncias de VM
Caso você não tenha uma assinatura do Azure, crie uma conta gratuita do Azure antes de começar.
Pré-requisitos
Use o ambiente Bash no Azure Cloud Shell. Para obter mais informações, confira Início Rápido para Bash no Azure Cloud Shell.
Se preferir executar os comandos de referência da CLI localmente, instale a CLI do Azure. Para execuções no Windows ou no macOS, considere executar a CLI do Azure em um contêiner do Docker. Para obter mais informações, confira Como executar a CLI do Azure em um contêiner do Docker.
Se estiver usando uma instalação local, entre com a CLI do Azure usando o comando az login. Para concluir o processo de autenticação, siga as etapas exibidas no terminal. Para ver outras opções de entrada, confira Conectar-se com a CLI do Azure.
Quando solicitado, instale a extensão da CLI do Azure no primeiro uso. Para obter mais informações sobre extensões, confira Usar extensões com a CLI do Azure.
Execute az version para localizar a versão e as bibliotecas dependentes que estão instaladas. Para fazer a atualização para a versão mais recente, execute az upgrade.
Este artigo exige a versão 2.0.29 ou posterior da CLI do Azure. Se você está usando o Azure Cloud Shell, a versão mais recente já está instalada.
Criar um grupo de recursos
Um grupo de recursos do Azure é um contêiner lógico no qual os recursos do Azure são implantados e gerenciados. Você deve criar um grupo de recursos antes de criar um Conjunto de Dimensionamento de Máquinas Virtuais. Crie um grupo de recursos com o comando az group create. Neste exemplo, um grupo de recursos denominado myResourceGroup é criado na região eastus.
az group create --name myResourceGroup --location eastus
O nome do grupo de recursos é especificado quando você cria ou modifica um conjunto de dimensionamento ao longo deste tutorial.
Criar um conjunto de escala
Importante
A partir de novembro de 2023, os conjuntos de dimensionamento de VM criados usando o PowerShell e a CLI do Azure serão padrão para o Modo de Orquestração Flexível se nenhum modo de orquestração for especificado. Para obter mais informações sobre essa alteração e quais ações você deve executar, acesse Alteração Interruptiva para Clientes PowerShell/CLI de VMSS – Hub de Comunidade da Microsoft
Crie um Conjunto de Dimensionamento de Máquinas Virtuais com o comando az vmss create. O exemplo a seguir cria um conjunto de dimensionamento chamado myScaleSet e gera chaves SSH caso não existam:
az vmss create \
--resource-group myResourceGroup \
--name myScaleSet \
--orchestration-mode flexible \
--image <SKU image> \
--admin-username azureuser \
--generate-ssh-keys
Leva alguns minutos para criar e configurar todos os recursos e as instâncias de VM do conjunto de dimensionamento. Para distribuir o tráfego para as instâncias de VM individuais, um balanceador de carga também é criado.
Exibir informações sobre as instâncias de VM em seu conjunto de dimensionamento
Para exibir uma lista de instâncias de VM em um conjunto de dimensionamento, use az vm list da seguinte forma:
az vm list --resource-group myResourceGroup --output table
A saída de exemplo abaixo mostra duas instâncias de VM no conjunto de dimensionamento:
Name ResourceGroup Location Zones
------------------- --------------- ---------- -------
myScaleSet_instance1 myResourceGroup eastus
myScaleSet_instance2 myResourceGroup eastus
Para exibir informações adicionais sobre uma instância de VM específica, use az vm show e especifique o nome da VM.
az vm show --resource-group myResourceGroup --name myScaleSet_instance1
{
"hardwareProfile": {
"vmSize": "Standard_DS1_v2",
},
"id": "/subscriptions/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myScaleSet_instance1",
"location": "eastus",
"name": "myScaleSet_instance1",
"networkProfile": {
"networkInterfaces": [
{
"deleteOption": "Delete",
"id": "/subscriptions/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/mysca2215Nic-0396c71c",
"primary": true,
"resourceGroup": "myResourceGroup"
}
]
},
"osProfile": {
"adminUsername": "azureuser",
"allowExtensionOperations": true,
"computerName": "myScaleSN30BP1",
"linuxConfiguration": {
"disablePasswordAuthentication": true,
"enableVmAgentPlatformUpdates": false,
"patchSettings": {
"assessmentMode": "ImageDefault",
"patchMode": "ImageDefault"
},
"provisionVmAgent": true,
"ssh": {
"publicKeys": [
{
"keyData": "ssh-rsa",
"path": "/home/azureuser/.ssh/authorized_keys"
}
]
}
},
"requireGuestProvisionSignal": true,
"secrets": [],
},
"provisioningState": "Succeeded",
"resourceGroup": "myResourceGroup",
"storageProfile": {
"dataDisks": [],
"imageReference": {
"exactVersion": "XXXXX",
"offer": "myOffer",
"publisher": "myPublisher",
"sku": "mySKU",
"version": "latest"
},
"osDisk": {
"caching": "ReadWrite",
"createOption": "FromImage",
"deleteOption": "Delete",
"diskSizeGb": 30,
"managedDisk": {
"id": "/subscriptions/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myScaleSet_instance1_disk1",
"resourceGroup": "myResourceGroup",
"storageAccountType": "Premium_LRS"
},
"name": "myScaleSet_instance1_disk1",
"osType": "Linux",
}
},
"tags": {},
"timeCreated": "2022-11-16T20:32:15.024581+00:00",
"type": "Microsoft.Compute/virtualMachines",
"virtualMachineScaleSet": {
"id": "/subscriptions/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myScaleSet",
"resourceGroup": "myResourceGroup"
},
}
Criar um conjunto de dimensionamento com um tamanho de instância de VM específico
Quando você criou um conjunto de dimensionamento no início do tutorial, um SKU de VM padrão Standard_D1_v2 foi fornecido para as instâncias de VM. Você pode especificar um tamanho de instância de VM diferente com base na saída de az vm list-sizes. O exemplo a seguir cria um conjunto de dimensionamento com o parâmetro --vm-sku
para especificar um tamanho de instância de VM Standard_F1. Como demora alguns minutos para criar e configurar todos os recursos do conjunto de dimensionamento e as instâncias de VM, você não precisa implantar o seguinte conjunto de dimensionamento:
az vmss create \
--resource-group myResourceGroup \
--name myScaleSet \
--orchestration-mode flexible \
--image <SKU image> \
--vm-sku Standard_F1 \
--admin-user azureuser \
--generate-ssh-keys
Alterar a capacidade de um conjunto de dimensionamento
Quando você criou um conjunto de dimensionamento definido no início do tutorial, duas instâncias de VM foram implantadas por padrão. Você pode especificar o parâmetro --instance-count
com az vmss create para alterar o número de instâncias criadas com um conjunto de dimensionamento. Para aumentar ou diminuir o número de instâncias de VM no conjunto de dimensionamento existente, você pode alterar a capacidade manualmente. O conjunto de dimensionamento cria ou remove o número necessário de instâncias de VM e configura o balanceador de carga para distribuir o tráfego.
Para aumentar ou diminuir o número de instâncias de VM no conjunto de dimensionamento manualmente, use az vmss scale. O seguinte exemplo aumenta o número de instâncias de VM no conjunto de dimensionamento para 3:
az vmss scale \
--resource-group myResourceGroup \
--name myScaleSet \
--new-capacity 3
São necessários alguns minutos para atualizar a capacidade de seu conjunto de dimensionamento. Para exibir o número de instâncias presentes atualmente no conjunto de dimensionamento, use az vm list e consulte no grupo de recursos associado.
az vm list --resource-group myResourceGroup --output table
Name ResourceGroup Location Zones
------------------- --------------- ---------- -------
myScaleSet_instance1 myResourceGroup eastus
myScaleSet_instance2 myResourceGroup eastus
myScaleSet_instance3 myResourceGroup eastus
Parar e desalocar instâncias de VM em um conjunto de dimensionamento
Para parar todas as instâncias de VM em um conjunto de dimensionamento, use az vmss stop.
az vmss stop \
--resource-group myResourceGroup \
--name myScaleSet
Para interromper instâncias de VM individuais em um conjunto de dimensionamento, use az vm stop e especifique o nome da instância.
az vm stop \
--resource-group myResourceGroup \
--name myScaleSet_instance1
As instâncias de VM paradas permanecem alocadas e continuam a incorrer em encargos de computação. Se desejar que as instâncias de VM sejam desalocadas e gerem apenas encargos de armazenamento, use az vm deallocate e especifique os nomes das instância que você deseja desalocar.
az vm deallocate \
--resource-group myResourceGroup \
--name myScaleSet_instance1
Iniciar instâncias de VM em um conjunto de dimensionamento
Para iniciar todas as instâncias de VM em um conjunto de dimensionamento, use az vmss start.
az vmss start \
--resource-group myResourceGroup \
--name myScaleSet
Para iniciar instâncias de VM individuais em um conjunto de dimensionamento, use az vm start e especifique o nome da instância.
az vm start \
--resource-group myResourceGroup \
--name myScaleSet_instance1
Reiniciar instâncias de VM em um conjunto de dimensionamento
Para reiniciar todas as instâncias de VM em um conjunto de dimensionamento, use az vmss restart.
az vmss restart \
--resource-group myResourceGroup \
--name myScaleSet
Para reiniciar instâncias de VM individuais em um conjunto de dimensionamento, use az vm restart e especifique o nome da instância.
az vm restart \
--resource-group myResourceGroup \
--name myScaleSet_instance1
Limpar os recursos
Quando você excluir um grupo de recursos, todos os recursos contidos, como as instâncias de VM, as rede virtuais e os discos, também serão excluídos. O parâmetro --no-wait
retorna o controle ao prompt sem aguardar a conclusão da operação. O parâmetro --yes
confirma que você deseja excluir os recursos sem um prompt extra para fazer isso.
az group delete --name myResourceGroup --no-wait --yes
Próximas etapas
Neste tutorial, você aprendeu a executar algumas tarefas básicas de criação e gerenciamento de conjuntos de escala com a CLI do Azure:
- Criar um grupo de recursos
- Criar um conjunto de escala
- Exibir e usar tamanhos específicos de VM
- Dimensionar manualmente um conjunto de dimensionamento
- Executar tarefas comuns de gerenciamento de conjunto de dimensionamento, como parar, iniciar e reiniciar seu conjunto de dimensionamento
Acesse o próximo tutorial para saber como se conectar a suas instâncias de conjunto de dimensionamento.