Guia de início rápido: criar um conjunto de escala de máquina virtual com a CLI do Azure

Aplica-se a: ✔️ Linux VMs Windows VMs ✔️ ✔️ Conjuntos de escala uniforme

Nota

O artigo a seguir é para conjuntos de escala de máquina virtual uniforme. Recomendamos o uso de Conjuntos de Dimensionamento de Máquina Virtual Flexível para novas cargas de trabalho. Saiba mais sobre esse novo modo de orquestração em nossa visão geral dos Conjuntos de Escala de Máquina Virtual Flexível.

Um Conjunto de Dimensionamento de Máquina Virtual permite implantar e gerenciar um conjunto de máquinas virtuais de dimensionamento automático. Pode dimensionar o número de VMs no conjunto de dimensionamento manualmente ou definir regras para dimensionar automaticamente com base na utilização de recursos como CPU, exigência de memória ou tráfego de rede. Em seguida, um balanceador de carga do Azure distribui o tráfego pelas instâncias de VM no conjunto de dimensionamento. Neste início rápido, você cria um Conjunto de Escala de Máquina Virtual e implanta um aplicativo de exemplo com a CLI do Azure.

Se não tiver uma subscrição 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, consulte Guia de início rápido para Bash no Azure Cloud Shell.

  • Se preferir executar comandos de referência da CLI localmente, instale a CLI do Azure. Se estiver a utilizar o Windows ou macOS, considere executar a CLI do Azure num contentor Docker. Para obter mais informações, consulte Como executar a CLI do Azure em um contêiner do Docker.

    • Se estiver a utilizar uma instalação local, inicie sessão no CLI do Azure ao utilizar o comando az login. Para concluir o processo de autenticação, siga os passos apresentados no seu terminal. Para outras opções de entrada, consulte Entrar com a CLI do Azure.

    • Quando solicitado, instale a extensão da CLI do Azure na primeira utilização. Para obter mais informações sobre as extensões, veja Utilizar extensões com o CLI do Azure.

    • Execute o comando az version para localizar a versão e as bibliotecas dependentes instaladas. Para atualizar para a versão mais recente, execute o comando az upgrade.

  • Este artigo requer a versão 2.0.29 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 dimensionamento

Importante

A partir de novembro de 2023, os conjuntos de dimensionamento de VM criados usando o PowerShell e a CLI do Azure assumirão como padrão 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 tomar, vá para Breaking Change for VMSS PowerShell/CLI Customers - Microsoft Community Hub

Para poder criar um conjunto de dimensionamento, crie primeiro um grupo de recursos com az group create. O exemplo seguinte cria um grupo de recursos com o nome myResourceGroup na localização eastus:

az group create --name myResourceGroup --location eastus

Agora crie um conjunto de escala de máquina virtual com az vmss create. O exemplo seguinte cria um conjunto de dimensionamento com o nome myScaleSet, que está definido para atualizar automaticamente à medida que as alterações são aplicadas, e gera chaves SSH, caso não existam em ~/.ssh/id_rsa. Estas chaves SSH são utilizadas se precisar de iniciar sessão nas instâncias de VM. Para utilizar um conjunto existente de chaves SSH, utilize o parâmetro --ssh-key-value e especifique a localização das suas chaves.

az vmss create \
  --resource-group myResourceGroup \
  --name myScaleSet \
  --image <SKU image> \
  --upgrade-policy-mode automatic \
  --admin-username azureuser \
  --generate-ssh-keys

A criação e configuração de todas as VMs e recursos do conjunto de dimensionamento demora alguns minutos.

Implementar aplicação de exemplo

Para testar o conjunto de dimensionamento, instale uma aplicação Web básica. A Extensão de Script Personalizado do Azure serve para transferir e executar um script que instala uma aplicação nas instâncias de VM. Esta extensão é útil para a configuração pós-implementação, instalação de software ou qualquer outra tarefa de gestão/configuração. Para obter mais informações, veja a Descrição geral da Extensão de Script Personalizado.

Utilize a Extensão de Script Personalizado para instalar um servidor Web de NGINX básico. Aplique a Extensão de Script Personalizado que instala o NGINX com az vmss extension set, da seguinte forma:

az vmss extension set \
  --publisher Microsoft.Azure.Extensions \
  --version 2.0 \
  --name CustomScript \
  --resource-group myResourceGroup \
  --vmss-name myScaleSet \
  --settings '{"fileUris":["https://raw.githubusercontent.com/Azure-Samples/compute-automation-configurations/master/automate_nginx.sh"],"commandToExecute":"./automate_nginx.sh"}'

Permitir o tráfego para a aplicação

Quando o conjunto de dimensionamento foi criado, um balanceador de carga do Azure foi automaticamente implementado. O balanceador de carga distribui o tráfego pelas instâncias de VM no conjunto de dimensionamento. Para permitir que o tráfego alcance a aplicação Web de exemplo, crie uma regra de balanceador de carga com az network lb rule create. O exemplo seguinte cria uma regra com o nome myLoadBalancerRuleWeb:

az network lb rule create \
  --resource-group myResourceGroup \
  --name myLoadBalancerRuleWeb \
  --lb-name myScaleSetLB \
  --backend-pool-name myScaleSetLBBEPool \
  --backend-port 80 \
  --frontend-ip-name loadBalancerFrontEnd \
  --frontend-port 80 \
  --protocol tcp

Testar o seu conjunto de dimensionamento

Para ver o conjunto de dimensionamento em ação, aceda à aplicação Web de exemplo num browser. Pode obter o endereço IP público do balanceador de carga com az network public-ip show. O exemplo seguinte obtém o endereço IP para myScaleSetLBPublicIP criada como parte do conjunto de dimensionamento:

az network public-ip show \
  --resource-group myResourceGroup \
  --name myScaleSetLBPublicIP \
  --query '[ipAddress]' \
  --output tsv

Introduza o endereço IP público do balanceador de carga num browser. O balanceador de carga distribui o tráfego para uma das suas instâncias de VM, conforme mostra o exemplo seguinte:

Default web page in NGINX

Clean up resources (Limpar recursos)

Quando já não for necessário, pode utilizar az group delete para remover o grupo de recursos, o conjunto de dimensionamento e todos os recursos relacionados da seguinte forma. O parâmetro --no-wait devolve o controlo à linha de comandos, sem aguardar a conclusão da operação. O parâmetro --yes confirma que pretende eliminar os recursos sem uma linha de comandos adicional para fazê-lo.

az group delete --name myResourceGroup --yes --no-wait

Próximos passos

Neste início rápido, criou um conjunto de dimensionamento básico e utilizou a Extensão de Script Personalizado para instalar um servidor Web de NGINX básico nas instâncias de VM. Para saber mais, continue no tutorial sobre como criar e gerenciar Conjuntos de Escala de Máquina Virtual do Azure.