Ejercicio: Ajuste de tamaño de las máquinas virtuales correctamente

Completado

Las máquinas virtuales deben tener el tamaño adecuado para el trabajo que se espera. Una máquina virtual sin la cantidad correcta de memoria o de CPU generará un error en la carga o se ejecutará muy lentamente y no será eficaz.

Tamaños de máquina virtual predefinidos

Al crear una máquina virtual, puede proporcionar un valor de tamaño de máquina virtual que determine la cantidad de recursos de proceso dedicados a la máquina virtual, incluida la CPU, la GPU y la memoria disponibles para la máquina virtual de Azure.

Azure define un conjunto de tamaños de máquina virtual predefinidos para Linux y Windows de los cuales elegir según el uso previsto.

Tipo Tamaños Descripción
Uso general Dsv3, Dv3, DSv2, Dv2, DS, D, Av2, A0-7 Uso equilibrado de CPU y memoria. Ideal para desarrollo/pruebas, así como para soluciones de datos y aplicaciones de tamaño pequeño a mediano.
Proceso optimizado Fs, F Uso elevado de la CPU respecto a la memoria. Adecuado para aplicaciones, dispositivos de red y procesos por lotes con tráfico mediano.
Memoria optimizada Esv3, Ev3, M, GS, G, DSv2, DS, Dv2, D Uso elevado de memoria respecto al núcleo. Excelente para bases de datos relacionales, memorias caché de capacidad de mediana a grande y análisis en memoria.
Almacenamiento optimizado Ls Alto rendimiento de disco y E/S. Perfecto para macrodatos y bases de datos SQL y NoSQL.
GPU optimizada NV, NC Máquinas virtuales especializadas específicas para actividades intensas de representación de gráficos y edición de vídeo.
Alto rendimiento H, A8-11 Nuestras máquinas virtuales con CPU más eficaces e interfaces de red de alto rendimiento (RDMA) opcionales.

Los tamaños disponibles cambian en función de la región en la que se crea la máquina virtual. Puede obtener una lista de los tamaños disponibles con el comando vm list-sizes. Pruebe a escribir el siguiente comando en Azure Cloud Shell:

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

Esta es una respuesta 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

Especificación de un tamaño durante la creación de una máquina virtual

No se especificó un tamaño al crear la máquina virtual, por lo que Azure seleccionó un tamaño de uso general predeterminado de forma automática. Pero se puede especificar el tamaño como parte del comando vm create con el parámetro --size. Por ejemplo, puede usar el comando siguiente para crear una máquina virtual de dos 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"

Advertencia

Su nivel de suscripción aplica límites al número de recursos que puede crear, así como al tamaño total de esos recursos. Los límites de cuota dependen del tipo y la región de la suscripción. La CLI de Azure le informa de cuándo se excede este límite con un error de Cuota superada. Si se encuentra con este error en su propia arquitectura de pago, puede solicitar un aumento en el límite asociado a su suscripción de pago (hasta 10 000 vCPU) mediante una solicitud en línea gratuita.

Cambio del tamaño de una máquina virtual existente

También se puede cambiar el tamaño de una máquina virtual existente si la carga de trabajo cambia o si se especificó un tamaño incorrecto durante la creación. Vamos a usar la primera máquina virtual que creamos, SampleVM. Antes de solicitar un cambio de tamaño, hay que comprobar si el tamaño que se quiere está disponible en el clúster del que forma parte nuestra máquina virtual. Podemos usar el comando vm list-vm-resize-options:

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

Este comando devuelve una lista de todas las configuraciones de tamaño posibles disponibles en el grupo de recursos. Si el tamaño que se quiere no está disponible en el clúster, pero está disponible en la región, se puede desasignar la máquina virtual. Este comando detiene la máquina virtual en ejecución y la quita del clúster actual sin perder ningún recurso. Después, podemos cambiar el tamaño. Este proceso vuelve a crear la máquina virtual en un nuevo clúster donde la configuración de tamaño esté disponible.

Nota:

El espacio aislado de Microsoft Learn está limitado a unos pocos tamaños de máquina virtual.

Para cambiar el tamaño de una máquina virtual, usaremos el comando vm resize. Por ejemplo, puede que encontremos que nuestra máquina virtual es suficientemente eficaz para la tarea que deseamos que realizar. Podríamos mejorarla a D2s_v3, que tiene 2 núcleos virtuales y 8 GB de memoria. Escriba este comando en Cloud Shell:

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

Este comando tarda unos minutos en reducir los recursos de la máquina virtual y, cuando finaliza, devuelve una nueva configuración de JSON.