Exercice : Dimensionnement correct des machines virtuelles
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.
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, y compris le processeur, le GPU et la mémoire mis à la disposition de 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 | Description |
---|---|---|
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. |
Optimisé pour le stockage | 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. |
Hautes performances | 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 "<rgn>[sandbox resource group name]</rgn>" \
--name SampleVM2 \
--image Ubuntu2204 \
--admin-username azureuser \
--generate-ssh-keys \
--verbose \
--size "Standard_DS2_v2"
Avertissement
Votre niveau d’abonnement impose des limites sur le nombre de ressources que vous pouvez créer, ainsi que sur 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 informe quand vous dépassez la limite avec une erreur Quota dépassé. Si vous rencontrez cette erreur dans votre abonnement payant, vous pouvez demander gratuitement en ligne l’augmentation des limites associées (jusqu’à 10 000 processeurs virtuels).
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 "<rgn>[sandbox resource group name]</rgn>" \
--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 que nous voulons n’est pas disponible dans notre cluster, mais l’est 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.
Remarque
Le bac à sable Azure est limité à quelques tailles de machine virtuelle.
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 "<rgn>[sandbox resource group name]</rgn>" \
--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.