Exercício – Dimensionar as VMs corretamente
As máquinas virtuais precisam ser dimensionadas adequadamente para o trabalho esperado. Uma VM sem a quantidade correta de memória ou de CPU falhará quando a carga aumentar ou ficará muito lenta a ponto de prejudicar sua eficiência.
Observação
Este exercício é opcional. Se você quiser concluir este exercício, precisará criar uma assinatura do Azure antes de começar. Se você não tiver uma conta do Azure ou não quiser criar uma no momento, leia as instruções para entender as informações que estão sendo apresentadas.
Observação
Nesta unidade, você usa o Azure Cloud Shell como um terminal. Você pode acessar o Cloud Shell por meio do portal do Azure ou da entrada do Cloud Shell. Você não precisa instalar nada em seu PC ou laptop para usá-lo.
Observação
Ao longo deste exercício, substitua myResourceGroupName nos exemplos pelo nome de um grupo de recursos existente ou pelo nome do grupo de recursos que você criou para este exercício.
Tamanhos de VM predefinidos
Ao criar uma máquina virtual, você pode fornecer um valor de tamanho de VM que determina a quantidade de recursos de computação dedicados à VM, incluindo CPU, GPU e memória disponibilizadas para a máquina virtual do Azure.
O Azure define um conjunto predefinido de tamanhos de VM para Linux e Windows para que você escolha com base no uso esperado.
| Tipo | Tamanhos | Descrição |
|---|---|---|
| Uso geral | Dsv3, Dv3, DSv2, Dv2, DS, D, Av2, A0-7 | Equilíbrio entre CPU e memória. Ideal para Desenvolvimento/Teste e para soluções de dados e aplicativos de pequeno a médio porte. |
| Computação otimizada | Fs, F | Relação alta entre CPU e memória. Bom para aplicativos de tráfego médio, dispositivos de rede e processos em lote. |
| Otimizado para memória | Esv3, Ev3, M, GS, G, DSv2, DS, Dv2, D | Relação de memória/núcleo alta. Ótimo para bancos de dados relacionais, caches médios a grandes e análises na memória. |
| Otimizada para armazenamento | Ls | Alta taxa de transferência de disco e E/S. Ideal para Big Data, SQL e bancos de dados NoSQL. |
| Otimizado para GPU | NV, NC | VMs especializadas, destinadas para renderização gráfica e edição de vídeo pesadas. |
| Alto desempenho | H, A8-11 | Nossas VMs de CPU mais potentes com RDMA (adaptadores de rede de alta taxa de transferência) opcionais. |
Os tamanhos disponíveis variam de acordo com a região em que você está criando a VM. Você pode obter uma lista dos tamanhos disponíveis usando o comando vm list-sizes. Tente digitar o seguinte comando no Azure Cloud Shell:
az vm list-sizes --location eastus --output table
Aqui está uma resposta abreviada para eastus:
MaxDataDiskCount MemoryInMb Name NumberOfCores OsDiskSizeInMb ResourceDiskSizeInMb
------------------ ------------ ---------------------- --------------- ---------------- ----------------------
2 2048 Standard_B1ms 1 1047552 4096
2 1024 Standard_B1s 1 1047552 2048
4 8192 Standard_B2ms 2 1047552 16384
4 4096 Standard_B2s 2 1047552 8192
8 16384 Standard_B4ms 4 1047552 32768
16 32768 Standard_B8ms 8 1047552 65536
4 3584 Standard_DS1_v2 1 1047552 7168
8 7168 Standard_DS2_v2 2 1047552 14336
16 14336 Standard_DS3_v2 4 1047552 28672
32 28672 Standard_DS4_v2 8 1047552 57344
64 57344 Standard_DS5_v2 16 1047552 114688
....
64 3891200 Standard_M128-32ms 128 1047552 4096000
64 3891200 Standard_M128-64ms 128 1047552 4096000
64 3891200 Standard_M128ms 128 1047552 4096000
64 2048000 Standard_M128s 128 1047552 4096000
64 1024000 Standard_M64 64 1047552 8192000
64 1792000 Standard_M64m 64 1047552 8192000
64 2048000 Standard_M128 128 1047552 16384000
64 3891200 Standard_M128m 128 1047552 16384000
Especificar um tamanho durante a criação da VM
Não especificamos um tamanho quando criamos nossa VM. Portanto, o Azure selecionou para nós um tamanho padrão de uso geral. No entanto, podemos especificar o tamanho como parte do comando vm create usando o parâmetro --size. Por exemplo, você pode usar o seguinte comando para criar uma máquina virtual de dois núcleos:
az vm create \
--resource-group "myResourceGroupName" \
--name SampleVM2 \
--image Ubuntu2204 \
--admin-username azureuser \
--generate-ssh-keys \
--verbose \
--size "Standard_DS2_v2"
Aviso
Sua camada de assinatura impõe limites sobre quantos recursos você pode criar, bem como o tamanho total desses recursos. Os limites de cota dependem do tipo de assinatura e da região. A CLI do Azure informa quando esse limite é excedido com o erro Cota excedida. Se você encontrar esse erro na sua assinatura paga, pode solicitar o aumento dos limites computacionais relacionados à sua assinatura (até 10.000 vCPUs) por meio de uma solicitação online gratuita.
Redimensionar uma VM existente
Também podemos redimensionar uma VM existente se ela foi dimensionada incorretamente no momento da criação ou se a carga de trabalho é alterada. Vamos usar a primeira VM que criamos, SampleVM. Antes de solicitar um redimensionamento, devemos verificar se o tamanho desejado está disponível no cluster do qual nossa VM faz parte. Podemos usar o comando vm list-vm-resize-options:
az vm list-vm-resize-options \
--resource-group "myResourceGroupName" \
--name SampleVM \
--output table
Esse comando retorna uma lista de todas as configurações de tamanho possíveis disponíveis no grupo de recursos. Se o tamanho desejado não estiver disponível em nosso cluster, mas estiver disponível na região, poderemos desalocar a VM. Esse comando interrompe a VM em execução e a remove do cluster atual sem perda de nenhum recurso. Nós podemos então redimensioná-lo, o que recria a VM em um novo cluster onde a configuração de tamanho está disponível.
Para redimensionar uma VM, usaremos o comando vm resize. Por exemplo, talvez a VM não tenha potência suficiente para a tarefa que precisa executar. Poderíamos aumentar para um D2s_v3, em que ela tem 2 vCores e 8 GB de memória. Digite este comando no Cloud Shell:
az vm resize \
--resource-group "myResourceGroupName" \
--name SampleVM \
--size Standard_D2s_v3
Este comando leva alguns minutos para reduzir os recursos da VM e, ao terminar, ele retorna uma nova configuração JSON.