Exercice : Dimensionnement correct des machines virtuelles

Effectué

Les machines virtuelles doivent être correctement dimensionnées en fonction de la charge de travail attendue. Une machine virtuelle qui ne dispose pas de la mémoire ou du processeur appropriés croulera sous la charge ou s’exécutera trop lentement pour être efficace.

Remarque

Cet exercice est facultatif. Si vous souhaitez effectuer cet exercice, vous devez créer un abonnement Azure avant de commencer. Si vous n’avez pas de compte Azure ou si vous ne souhaitez pas en créer un à ce stade, vous pouvez lire les instructions pour comprendre les informations qui sont présentées.

Remarque

Dans cette unité, vous utilisez Azure Cloud Shell comme terminal. Vous pouvez accéder à Cloud Shell via le portail Azure ou la connexion Cloud Shell. Vous n’avez pas besoin d’installer quoi que ce soit sur votre PC ou ordinateur portable pour l’utiliser.

Remarque

Tout au long de cet exercice, remplacez myResourceGroupName dans les exemples par le nom d’un groupe de ressources existant ou le nom du groupe de ressources que vous avez créé pour cet exercice.

Tailles de machine virtuelle prédéfinies

Lorsque vous créez une machine virtuelle, vous pouvez fournir une valeur de taille de machine virtuelle qui détermine la quantité de ressources de calcul consacrées à la machine virtuelle, notamment le processeur, le GPU et la mémoire disponibles pour la machine virtuelle à partir d’Azure.

Azure propose un ensemble de tailles de machine virtuelle prédéfinies pour Linux et Windows, parmi lesquelles vous pouvez choisir en fonction de l’usage prévu.

Type Tailles Descriptif
Usage général Dsv3, Dv3, DSv2, Dv2, DS, D, Av2, A0-7 Ratio processeur/mémoire équilibré. Convient parfaitement pour les tâches de développement et de test, ainsi que pour les applications et solutions de données de tailles petite à moyenne.
Optimisé pour le calcul Fs, F Ratio processeur/mémoire élevé. Convient pour des applications au trafic moyen, des appliances réseau et des processus de traitement par lots.
À mémoire optimisée Esv3, Ev3, M, GS, G, DSv2, DS, Dv2, D Ratio mémoire/cœur élevé. Idéale pour les bases de données relationnelles, les caches moyens à grands et l’analytique en mémoire.
À stockage optimisé Ls Débit de disque et E/S élevés. Convient parfaitement pour les bases de données NoSQL et SQL, ainsi que le Big Data.
Optimisé pour le GPU NV, NC Machines virtuelles spécialisées conçues pour les opérations graphiques lourdes et la retouche vidéo.
Haute performance H, A8-11 Nos machines virtuelles dotées des processeurs les plus puissants avec interfaces réseau haut débit en option (RDMA).

Les tailles disponibles varient en fonction de la région dans laquelle vous créez la machine virtuelle. Vous pouvez obtenir la liste des tailles disponibles en utilisant la commande vm list-sizes. Essayez de taper la commande qui suit dans Azure Cloud Shell :

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

Voici une réponse abrégée pour 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

Spécifier une taille au moment de la création de la machine virtuelle

Nous n’avons pas spécifié de taille quand nous avons créé notre machine virtuelle, donc Azure a sélectionné pour nous une taille universelle par défaut. Nous pouvons cependant spécifier la taille dans la commande vm create en utilisant le paramètre --size. Par exemple, vous pouvez utiliser la commande suivante pour créer une machine virtuelle à deux cœurs :

az vm create \
    --resource-group "myResourceGroupName" \
    --name SampleVM2 \
    --image Ubuntu2204 \
    --admin-username azureuser \
    --generate-ssh-keys \
    --verbose \
    --size "Standard_DS2_v2"

Avertissement

Votre niveau d’abonnement applique des limites sur le nombre de ressources que vous pouvez créer, ainsi que la taille totale de ces ressources. Les limites de quota dépendent de votre type d’abonnement et de votre région. Azure CLI vous permet de savoir quand vous dépassez cette limite avec une erreur de dépassement de quota . Si vous rencontrez cette erreur dans votre propre abonnement payant, vous pouvez demander de lever les limites associées à votre abonnement payant (jusqu’à 10 000 processeurs virtuels) via une demande en ligne gratuite.

Redimensionner une machine virtuelle existante

Nous pouvons également redimensionner une machine virtuelle existante si la charge de travail change, ou si elle n’a pas été correctement dimensionnée lors de la création. Nous allons utiliser la première machine virtuelle que nous avons créée, SampleVM. Avant de demander un redimensionnement, nous devons vérifier que la taille souhaitée est disponible dans le cluster dont notre machine virtuelle fait partie. Nous pouvons utiliser la commande vm list-vm-resize-options :

az vm list-vm-resize-options \
    --resource-group "myResourceGroupName" \
    --name SampleVM \
    --output table

Cette commande retourne la liste de toutes les configurations de taille possibles disponibles dans le groupe de ressources. Si la taille souhaitée n’est pas disponible dans notre cluster, mais disponible dans la région, nous pouvons libérer la machine virtuelle. Cette commande arrête la machine virtuelle en cours d’exécution et la supprime du cluster actuel sans occasionner de perte de ressources. Ensuite, nous pouvons redimensionner la machine virtuelle, ce qui a pour effet de la recréer dans un nouveau cluster où la configuration de taille est disponible.

Pour redimensionner une machine virtuelle, nous utilisons la commande vm resize. Par exemple, vous trouvez peut-être que notre machine virtuelle n’est pas assez puissante pour la tâche qu’elle a à effectuer. Nous pourrions passer à la taille D2s_v3, qui comprend 2 vCores et 8 Go de mémoire. Tapez cette commande dans Cloud Shell :

az vm resize \
    --resource-group "myResourceGroupName" \
    --name SampleVM \
    --size Standard_D2s_v3

L’exécution de cette commande pour réduire les ressources de la machine virtuelle prend quelques minutes, à l’issue desquelles elle retourne une nouvelle configuration JSON.