Criar e implementar máquinas virtuais num conjunto de disponibilidade com a CLI do Azure

Aplica-se a: ✔️ VMs do Linux

Neste tutorial, irá aprender a aumentar a disponibilidade e a fiabilidade das suas soluções de Máquina Virtual no Azure através de uma função chamada Conjuntos de Disponibilidade. Os conjuntos de disponibilidade garantem que as VMs que implementa no Azure são distribuídas por vários clusters de hardware isolados. Fazer isto garante que, se ocorrer uma falha de hardware ou software no Azure, apenas um subconjunto das suas VMs é afetado e que a solução global permanece disponível e operacional.

Neste tutorial, ficará a saber como:

  • Criar um conjunto de disponibilidade
  • Criar uma VM num conjunto de disponibilidade
  • Verificar os tamanhos de VM disponíveis

Este tutorial utiliza a CLI na Cloud Shell do Azure, que é constantemente atualizada para a versão mais recente. Para abrir a Cloud Shell, selecione Experimentar na parte superior de qualquer bloco de código.

Se optar por instalar e utilizar a CLI localmente, este tutorial requer que execute uma versão da CLI do Azure que seja a 2.0.30 ou posterior. Executar az --version para localizar a versão. Se precisar de instalar ou atualizar, veja Install Azure CLI (Instalar o Azure CLI).

Criar um conjunto de disponibilidade

Pode criar um conjunto de disponibilidade com az vm availability-set create. Neste exemplo, o número de domínios de atualização e com falha é definido como 2 para o conjunto de disponibilidade designado myAvailabilitySet no grupo de recursos myResourceGroupAvailability.

Em primeiro lugar, crie um grupo de recursos com az group create e, em seguida, crie o conjunto de disponibilidade:

az group create --name myResourceGroupAvailability --location eastus

az vm availability-set create \
    --resource-group myResourceGroupAvailability \
    --name myAvailabilitySet \
    --platform-fault-domain-count 2 \
    --platform-update-domain-count 2

Os Conjuntos de Disponibilidade permitem isolar os recursos em domínios com falha e domínios de atualização. Um domínio com falha representa uma coleção isolada do servidor + rede + recursos de armazenamento. No exemplo anterior, o conjunto de disponibilidade é distribuído por, pelo menos, dois domínios com falha quando as VMs forem implementadas. O conjunto de disponibilidade é também distribuído por dois domínios de atualização. Dois domínios de atualização garantem que, quando o Azure executa as atualizações de software, os recursos da VM ficam isolados, impedindo assim que todo o software em execução na VM seja atualizado ao mesmo tempo.

Criar VMs num conjunto de disponibilidade

As VMs têm de ser criadas no conjunto de disponibilidade para garantir que são distribuídas corretamente pelo hardware. Não é possível adicionar uma VM existente a um conjunto de disponibilidade depois de ter sido criado.

Quando uma VM for criada com az vm create, utilize o parâmetro --availability-set para especificar o nome do conjunto de disponibilidade.

for i in `seq 1 2`; do
   az vm create \
     --resource-group myResourceGroupAvailability \
     --name myVM$i \
     --availability-set myAvailabilitySet \
     --size Standard_DS1_v2  \
     --vnet-name myVnet \
     --subnet mySubnet \
     --image UbuntuLTS \
     --admin-username azureuser \
     --generate-ssh-keys
done

Existem agora duas máquinas virtuais no conjunto de disponibilidade. Dado que se encontram no mesmo conjunto de disponibilidade, o Azure garante que as VMs e todos os respetivos recursos (incluindo os discos de dados) são distribuídos por hardware físico isolado. Esta distribuição ajuda a garantir uma disponibilidade muito mais elevada da solução global de VM.

A distribuição do conjunto de disponibilidade pode ser visualizada no portal ao aceder a Grupos > de Recursos myResourceGroupAvailability > myAvailabilitySet. As VMs estão distribuídas pelos dois domínios de atualização e com falha, conforme apresentado no seguinte exemplo:

Conjunto de disponibilidade no portal

Verificar os tamanhos de VM disponíveis

É possível adicionar posteriormente VMs adicionais ao conjunto de disponibilidade, quando os tamanhos da VM estiverem disponíveis no hardware. Utilize az vm availability-set list-sizes para listar todos os tamanhos disponíveis no cluster de hardware para o conjunto de disponibilidade:

az vm availability-set list-sizes \
     --resource-group myResourceGroupAvailability \
     --name myAvailabilitySet \
	 --output table

Passos seguintes

Neste tutorial, ficou a saber como:

  • Criar um conjunto de disponibilidade
  • Criar uma VM num conjunto de disponibilidade
  • Verificar os tamanhos de VM disponíveis

Avance para o tutorial seguinte para saber mais sobre os conjuntos de dimensionamento de máquinas virtuais.