Gerir um Conjunto de Dimensionamento de Máquinas Virtuais com a CLI do Azure

Nota

Muitos dos passos listados neste documento aplicam-se a Conjuntos de Dimensionamento de Máquinas Virtuais através do modo Orquestração Uniforme. Recomendamos a utilização da Orquestração Flexível para novas cargas de trabalho. Para obter mais informações, veja Modos de orchesration para Conjuntos de Dimensionamento de Máquinas Virtuais no Azure.

Ao longo do ciclo de vida de um Conjunto de Dimensionamento de Máquinas Virtuais, poderá ter de executar uma ou mais tarefas de gestão. Além disso, pode querer criar scripts que automatizam várias tarefas do ciclo de vida. Este artigo detalha alguns dos comandos comuns da CLI do Azure que lhe permitem realizar estas tarefas.

Para concluir estas tarefas de gestão, precisa da CLI do Azure mais recente. Para obter informações, veja Instalar a CLI do Azure. Se precisar de criar um Conjunto de Dimensionamento de Máquinas Virtuais, pode criar um conjunto de dimensionamento com a CLI do Azure.

Ver informações sobre um conjunto de dimensionamento

Para ver as informações gerais sobre um conjunto de dimensionamento, utilize az vmss show. O exemplo seguinte obtém informações sobre o conjunto de dimensionamento denominado myScaleSet no grupo de recursos myResourceGroup . Introduza os seus próprios nomes da seguinte forma:

az vmss show --resource-group myResourceGroup --name myScaleSet

Ver VMs num conjunto de dimensionamento

Para ver uma lista de instâncias de VM num conjunto de dimensionamento, utilize az vmss list-instances. O exemplo seguinte lista todas as instâncias de VM no conjunto de dimensionamento denominado myScaleSet no grupo de recursos myResourceGroup . Forneça os seus próprios valores para estes nomes:

az vmss list-instances \
    --resource-group myResourceGroup \
    --name myScaleSet \
    --output table

Para ver informações adicionais sobre uma instância de VM específica, adicione o --instance-id parâmetro az vmss get-instance-view e especifique uma instância a ver. O exemplo seguinte visualiza informações sobre a instância da VM 0 no conjunto de dimensionamento com o nome myScaleSet e o grupo de recursos myResourceGroup . Introduza os seus próprios nomes da seguinte forma:

az vmss get-instance-view \
    --resource-group myResourceGroup \
    --name myScaleSet \
    --instance-id 0

Também pode obter informações detalhadas da instanceView para todas as instâncias numa chamada à API, o que pode ajudar a evitar a limitação da API para grandes instalações. Forneça os seus próprios valores para --resource-group, --subscriptione --name.

az vmss list-instances \
    --expand instanceView \
    --select instanceView \
    --resource-group <resourceGroupName> \
    --subscription <subID> \
    --name <vmssName>
GET "https://management.azure.com/subscriptions/<sub-id>/resourceGroups/<resourceGroupName>/providers/Microsoft.Compute/virtualMachineScaleSets/<VMSSName>/virtualMachines?api-version=2019-03-01&%24expand=instanceView"

Listar informações de ligação para VMs

Para ligar às VMs num conjunto de dimensionamento, utilize SSH ou RDP para um endereço IP público atribuído e número de porta. Por predefinição, as regras de tradução de endereços de rede (NAT) são adicionadas ao balanceador de carga do Azure que reencaminha o tráfego de ligação remota para cada VM. Para listar o endereço e as portas para ligar a instâncias de VM num conjunto de dimensionamento, utilize az vmss list-instance-connection-info. O exemplo seguinte lista as informações de ligação para instâncias de VM no conjunto de dimensionamento denominado myScaleSet e no grupo de recursos myResourceGroup . Forneça os seus próprios valores para estes nomes:

az vmss list-instance-connection-info \
    --resource-group myResourceGroup \
    --name myScaleSet

Alterar a capacidade de um conjunto de dimensionamento

Os comandos anteriores mostraram informações sobre o conjunto de dimensionamento e as instâncias da VM. Para aumentar ou diminuir o número de instâncias no conjunto de dimensionamento, pode alterar a capacidade. O conjunto de dimensionamento cria ou remove o número necessário de VMs e, em seguida, configura as VMs para receber o tráfego da aplicação.

Para ver o número de instâncias atualmente existentes num conjunto de dimensionamento, utilize az vmss show e consulte sku.capacity:

az vmss show \
    --resource-group myResourceGroup \
    --name myScaleSet \
    --query [sku.capacity] \
    --output table

Em seguida, pode aumentar ou reduzir manualmente o número de máquinas virtuais existentes no conjunto de dimensionamento com az vmss scale. O exemplo seguinte define o número de VMs no conjunto de dimensionamento como 5:

az vmss scale \
    --resource-group myResourceGroup \
    --name myScaleSet \
    --new-capacity 5

São necessários alguns minutos para atualizar a capacidade do seu conjunto de dimensionamento. Se diminuir a capacidade de um conjunto de dimensionamento, as VMs com os IDs de instância mais elevados serão removidas primeiro.

Stop and start VMs in a scale set (Parar e iniciar VMs num conjunto de dimensionamento)

Para parar uma ou mais VMs num conjunto de dimensionamento, utilize az vmss stop. O parâmetro --instance-ids permite-lhe especificar uma ou mais VMs que deverão ser paradas. Se não especificar um ID de instância, todas as VMs no conjunto de dimensionamento são paradas. Para parar várias VMs, separe cada ID de instância com um espaço.

O exemplo seguinte para a instância 0 no conjunto de dimensionamento com o nome myScaleSet e o grupo de recursos myResourceGroup . Forneça os seus próprios valores da seguinte forma:

az vmss stop --resource-group myResourceGroup --name myScaleSet --instance-ids 0

As VMs paradas permanecem alocadas e continuam a incorrer em custos de computação. Se, em vez disso, pretender que as VMs sejam desalocadas e incorra apenas em custos de armazenamento, utilize az vmss desalocar. Para desalocar várias VMs, separe cada ID de instância com um espaço. O exemplo seguinte para e desaloca a instância 0 no conjunto de dimensionamento com o nome myScaleSet e o grupo de recursos myResourceGroup . Forneça os seus próprios valores da seguinte forma:

az vmss deallocate --resource-group myResourceGroup --name myScaleSet --instance-ids 0

Iniciar VMs num conjunto de dimensionamento

Para iniciar uma ou mais VMs num conjunto de dimensionamento, utilize az vmss start. O parâmetro --instance-ids permite-lhe especificar uma ou mais VMs que deverão ser iniciadas. Se não especificar um ID de instância, todas as VMs no conjunto de dimensionamento são iniciadas. Para iniciar várias VMs, separe cada ID de instância com um espaço.

O exemplo seguinte inicia a instância 0 no conjunto de dimensionamento com o nome myScaleSet e o grupo de recursos myResourceGroup . Forneça os seus próprios valores da seguinte forma:

az vmss start --resource-group myResourceGroup --name myScaleSet --instance-ids 0

Restart VMs in a scale set (Reiniciar VMs num conjunto de dimensionamento)

Para reiniciar uma ou mais VMs num conjunto de dimensionamento, utilize o reinício az vmss. O parâmetro --instance-ids permite-lhe especificar uma ou mais VMs que deverão ser reinciadas. Se não especificar um ID de instância, todas as VMs no conjunto de dimensionamento são reiniciadas. Para reiniciar várias VMs, separe cada ID de instância com um espaço.

O exemplo seguinte reinicia a instância 0 no conjunto de dimensionamento com o nome myScaleSet e o grupo de recursos myResourceGroup . Forneça os seus próprios valores da seguinte forma:

az vmss restart --resource-group myResourceGroup --name myScaleSet --instance-ids 0

Remover VMs de um conjunto de dimensionamento

Para remover uma ou mais VMs num conjunto de dimensionamento, utilize az vmss delete-instances. O --instance-ids parâmetro permite-lhe especificar uma ou mais VMs a remover. Se especificar * para o ID da instância, todas as VMs no conjunto de dimensionamento são removidas. Para remover várias VMs, separe cada ID de instância com um espaço.

O exemplo seguinte remove a instância 0 no conjunto de dimensionamento com o nome myScaleSet e o grupo de recursos myResourceGroup . Forneça os seus próprios valores da seguinte forma:

az vmss delete-instances --resource-group myResourceGroup --name myScaleSet --instance-ids 0

Passos seguintes

Outras tarefas comuns para conjuntos de dimensionamento incluem como implementar uma aplicação e atualizar instâncias de VM. Também pode utilizar a CLI do Azure para configurar regras de dimensionamento automático.