Compartilhar via


Gerenciar um conjunto de dimensionamento de máquinas virtuais com a CLI do Azure

Observação

Muitas das etapas listadas neste documento se aplicam a Conjuntos de Dimensionamento de Máquinas Virtuais usando o modo Orquestração Uniforme. É recomendável usar a Orquestração Flexível para cargas de trabalho novas. Para saber mais, confira Modos de orquestração para conjuntos de dimensionamento de máquinas virtuais no Azure.

Durante o ciclo de vida de um conjunto de dimensionamento de máquinas virtuais, você poderá precisar executar uma ou mais tarefas de gerenciamento. Além disso, talvez você deseje criar scripts que automatizam várias tarefas do ciclo de vida. Este artigo fornece detalhes sobre alguns dos comandos comuns da CLI do Azure que permitem executar essas tarefas.

Para concluir essas tarefas de gerenciamento, é necessário ter a CLI do Azure mais recente. Para obter informações, confira Instalar a CLI do Azure. Caso precise criar um conjunto de dimensionamento de máquinas virtuais, crie um conjunto de dimensionamento com a CLI do Azure.

Exibir informações sobre um conjunto de dimensionamento

Para exibir as informações gerais sobre um conjunto de dimensionamento, use az vmss show. O exemplo a seguir obtém informações sobre o conjunto de dimensionamento chamado myScaleSet no grupo de recursos myResourceGroup. Insira seus próprios nomes da seguinte maneira:

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

Exibição de VMs em um conjunto de escala

Para exibir uma lista de instância de VM em um conjunto de dimensionamento, use az vmss list-instances. O exemplo a seguir 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 esses nomes:

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

Para exibir informações adicionais sobre uma instância específica de VM, adicione o parâmetro --instance-id a az vmss get-instance-view e especifique uma instância para exibição. O exemplo a seguir exibe informações sobre a instância de VM 0 no conjunto de dimensionamento chamado myScaleSet no grupo de recursos myResourceGroup. Insira seus próprios nomes da seguinte maneira:

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 à API, o que pode ajudar a evitar que a API aplique limitações para instalações grandes. Forneça seus próprios valores para --resource-group, --subscription e --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"

Informações de conexão de lista para VMs

Para se conectar às VMs em um conjunto de dimensionamento, use SSH ou RDP para um endereço IP público e número da porta atribuídos. Por padrão, as regras de NAT (conversão de endereços de rede) são adicionadas ao Azure Load Balancer, que encaminha o tráfego de conexão remota para cada VM. Para listar os endereços e as portas para se conectar a instâncias de VM em um conjunto de dimensionamento, 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 dimensionamento chamado myScaleSet e no grupo de recursos myResourceGroup. Forneça os seus próprios valores para esses nomes:

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

Alterar a capacidade de um conjunto de dimensionamento

Os comandos anteriores mostravam informações sobre o conjunto de escala e as instâncias de VM. Para aumentar ou diminuir o número de instâncias no conjunto de dimensionamento, você pode alterar a capacidade. O conjunto de dimensionamento cria ou remove o número necessário de VMs e depois configura as VMs para receber o tráfego do aplicativo.

Para ver o número de instâncias que você fez em um conjunto de escala, use az vmss show e consulte sku.capacity:

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

Manualmente, é possível aumentar ou diminuir o número de máquinas virtuais no conjunto de dimensionamento com az vmss scale. O seguinte exemplo aumenta o número de VMs no conjunto de dimensionamento para 5:

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

Demora alguns minutos para atualizar a capacidade do seu conjunto de dimensionamento. Se você diminuir a capacidade de um conjunto de dimensionamento, as máquinas virtuais com as IDs de instância mais alta são removidas primeiro.

Parar e iniciar VMs em um conjunto de dimensionamento

Para parar uma ou mais VMs em um conjunto de dimensionamento, use az vmss stop. O parâmetro --instance-ids permite que você especifique uma ou mais VMs a serem paradas. Se você não especificar uma 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 para a instância 0 no conjunto de dimensionamento chamado myScaleSet e o grupo de recursos myResourceGroup. Use seus próprios valores, da seguinte maneira:

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

VMs paradas permanecem alocadas e continuam a incorrer em encargos de computação. Se, em vez disso, você deseja que as VMs sejam desalocadas e incorram somente 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 desaloca a instância 0 no conjunto de dimensionamento chamado myScaleSet e o grupo de recursos myResourceGroup. Use seus próprios valores, da seguinte maneira:

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 dimensionamento, use az vmss start. O parâmetro --instance-ids permite que você especifique uma ou mais VMs a serem iniciadas. Se você não especificar uma 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 dimensionamento chamado myScaleSet e o grupo de recursos myResourceGroup. Use seus próprios valores, da seguinte maneira:

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

Reiniciar VMs em um conjunto de dimensionamento

Para reiniciar uma ou mais VMs em um conjunto de dimensionamento, use az vmss restart. O parâmetro --instance-ids permite que você especifique uma ou mais VMs para reiniciar. Se você não especificar uma 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 dimensionamento chamado myScaleSet e o grupo de recursos myResourceGroup. Use seus próprios valores, da seguinte maneira:

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

Remover VMs de um conjunto de dimensionamento

Para remover uma ou mais VMs em um conjunto de dimensionamento, use az vmss delete-instances. O parâmetro --instance-ids permite que você especifique uma ou mais VMs para remover. Se você especificar * para a ID de 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 a seguir remove a instância 0 no conjunto de dimensionamento chamado myScaleSet e o grupo de recursos myResourceGroup. Use seus próprios valores, da seguinte maneira:

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

Próximas etapas

Outras tarefas comuns dos 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.