Gerenciar um conjunto de dimensionamento de máquina virtual com a CLI do Azure

Nota

Muitas das etapas listadas neste documento se aplicam a Conjuntos de Escala de Máquina Virtual usando o modo de Orquestração Uniforme. Recomendamos o uso da Orquestração Flexível para novas cargas de trabalho. Para obter mais informações, consulte Modos de ordenação para conjuntos de escala de máquina virtual no Azure.

Durante todo o ciclo de vida de um Conjunto de Dimensionamento de Máquina Virtual, talvez seja necessário executar uma ou mais tarefas de gerenciamento. 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 permitem executar essas tarefas.

Para concluir essas tarefas de gerenciamento, você precisa da CLI do Azure mais recente. Para obter informações, consulte Instalar a CLI do Azure. Se você precisar criar um Conjunto de Escala de Máquina Virtual, poderá criar um conjunto de dimensionamento com a CLI do Azure.

Ver informações sobre um conjunto de escalas

Para exibir as informações gerais sobre um conjunto de escalas, use az vmss show. O exemplo a seguir obtém informações sobre o conjunto de escala chamado 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 exibir uma lista de instâncias de VM em um conjunto de escala, use az vmss list-instances. O exemplo a seguir lista todas as instâncias de VM no conjunto de escala chamado 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 exibir informações adicionais sobre uma instância de VM específica, adicione o --instance-id parâmetro a az vmss get-instance-view e especifique uma instância para exibir. O exemplo a seguir exibe informações sobre a instância de VM 0 no conjunto de escala chamado 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

Você também pode obter informações detalhadas de instanceView para todas as instâncias em uma chamada de API, o que pode ajudar a evitar a limitação de API para instalações grandes. Forneça 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 conexão para VMs

Para se conectar às VMs em um conjunto de escala, SSH ou RDP para um endereço IP público atribuído e número de porta. Por padrão, as regras NAT (conversão de endereços de rede) são adicionadas ao balanceador de carga do Azure que encaminha o tráfego de conexão remota para cada VM. Para listar o endereço e as portas para se conectar a instâncias de VM em um conjunto de escala, use az vmss list-instance-connection-info. O exemplo a seguir lista informações de conexão para instâncias de VM no conjunto de escala chamado 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 seu conjunto de escala e as instâncias da VM. Para aumentar ou diminuir o número de instâncias no conjunto de escalas, você 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 tráfego de aplicativos.

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 a seguir define o número de VMs em sua escala definida 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 você diminuir a capacidade de um conjunto de escala, as VMs com os IDs de instância mais altos 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 em um conjunto de escala, use 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 a seguir interrompe a instância 0 no conjunto de escala chamado 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 interrompidas permanecem alocadas e continuam a incorrer em encargos de computação. Se, em vez disso, desejar que as VMs sejam desalocadas e incorram apenas em encargos de armazenamento, use az vmss deallocate. Para desalocar várias VMs, separe cada ID de instância com um espaço. O exemplo a seguir para e deslocaliza a instância 0 no conjunto de escala chamado 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 em um conjunto de dimensionamento

Para iniciar uma ou mais VMs em um conjunto de escala, use 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 a seguir inicia a instância 0 no conjunto de escala chamado myScaleSet e no 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 em um conjunto de escala, use az vmss restart. 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 a seguir reinicia a instância 0 no conjunto de escala chamado myScaleSet e no 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 escala

Para remover uma ou mais VMs em um conjunto de escala, use az vmss delete-instances. O --instance-ids parâmetro permite especificar uma ou mais VMs para remover. Se você especificar * para o ID da instância, todas as VMs no conjunto de escala serão removidas. Para remover várias VMs, separe cada ID de instância com um espaço.

O exemplo a seguir remove a instância 0 no conjunto de escala chamado 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

Próximos passos

Outras tarefas comuns para conjuntos de dimensionamento incluem como implantar um aplicativo e atualizar instâncias de VM. Você também pode usar a CLI do Azure para configurar regras de dimensionamento automático.