Exercício – dimensionar VMs corretamente

Concluído

As máquinas virtuais têm de ser dimensionadas de forma adequada para o trabalho esperado. Uma VM sem a quantidade correta de memória ou de CPU falhará quando em carga ou será executada muito lentamente para ser eficiente.

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 disponibilizada para a máquina virtual do Azure.

O Azure define um conjunto de tamanhos de VM predefinidos para Linux e Windows dos quais escolher com base no uso esperado.

Tipo Tamanhos Description
Fins gerais Dsv3, Dv3, DSv2, Dv2, DS, D, Av2, A0-7 CPU-para-memória equilibrada. Ideal para desenvolvimento/teste e aplicações e soluções de dados pequenas a médias.
Com otimização de computação Fs, F CPU-para-memória elevada. Adequada para aplicações de tráfego médio, aplicações de rede e processos em lote.
Com otimização de memória Esv3, Ev3, M, GS, G, DSv2, DS, Dv2, D Memória-para-núcleo elevada. É ideal para bases de dados relacionais, caches médias a grandes e análise dentro da memória.
Com otimização de armazenamento Ls Débito e E/S de disco elevados. Ideal para bases de dados de macrodados, SQL e NoSQL.
Otimizada para GPU NV, NC VMs especializadas destinadas a composição gráfica e edição de vídeo exigentes.
Elevado desempenho H, A8-11 As nossas mais avançadas VMs com CPU, com interfaces de rede de alto débito (RDMA) opcionais.

Os tamanhos disponíveis mudam com base na região na qual você está criando a VM. Pode obter uma lista dos tamanhos disponíveis com o comando vm list-sizes. Tente digitar o seguinte comando no Azure Cloud Shell:

az vm list-sizes --location eastus --output table

Esta é 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, então o Azure selecionou um tamanho padrão de uso geral para nós. No entanto, podemos especificar o tamanho como parte do comando vm create com 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 <rgn>[sandbox resource group name]</rgn> \
    --name SampleVM2 \
    --image Ubuntu2204 \
    --admin-username azureuser \
    --generate-ssh-keys \
    --verbose \
    --size "Standard_DS2_v2"

Aviso

O seu escalão de subscrição impõe limites ao número de recursos que pode criar, bem como ao tamanho total desses recursos. Os limites de cota dependem do seu tipo de assinatura e região. A CLI do Azure permite que você saiba quando você excede esse limite com um erro de Cota Excedida . Se acertar este erro na sua própria subscrição paga, pode pedir para aumentar os limites associados à sua subscrição paga (até 10.000 vCPUs) através de um pedido online gratuito.

Redimensionar uma VM existente

Também podemos redimensionar uma VM existente se a carga de trabalho for alterada ou se ela tiver sido dimensionada incorretamente na criação. 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 vm list-vm-resize-options comando:

az vm list-vm-resize-options \
    --resource-group <rgn>[sandbox resource group name]</rgn> \
    --name SampleVM \
    --output table

Este 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, podemos desalocar a VM. Este comando interrompe a VM em execução e a remove do cluster atual sem perder recursos. Em seguida, podemos redimensioná-lo, o que recria a VM em um novo cluster onde a configuração de tamanho está disponível.

Nota

O sandbox do Microsoft Learn está limitado a poucos tamanhos de VM.

Para redimensionar uma VM, usaremos o vm resize comando. Por exemplo, talvez achemos que a nossa VM é fraca para a tarefa que queremos realizar. Poderíamos esbarrar em um D2s_v3, onde ele tem 2 vCores e 8 GB de memória. Escreva este comando no Cloud Shell:

az vm resize \
    --resource-group <rgn>[sandbox resource group name]</rgn> \
    --name SampleVM \
    --size Standard_D2s_v3

Esse comando leva alguns minutos para reduzir os recursos da VM e, uma vez concluído, retorna uma nova configuração JSON.