Tutoriel : Créer et gérer des machines virtuelles Linux avec l’interface Azure CLI
S’applique à : ✔️ Machines virtuelles Linux ✔️ Groupes identiques flexibles
Les machines virtuelles fournissent un environnement informatique entièrement configurable et flexible. Ce didacticiel traite d’aspects de base du déploiement de machines virtuelles Azure, tels que la sélection d’une taille de machine virtuelle, la sélection d’une image de machine virtuelle et le déploiement d’une machine virtuelle. Vous allez apprendre à effectuer les actions suivantes :
- Créer une machine virtuelle et vous y connecter
- Sélectionner et utiliser des images de machine virtuelle
- Afficher et utiliser des tailles de machine virtuelle spécifiques
- Redimensionner une machine virtuelle
- Consulter et comprendre l’état d’une machine virtuelle
Ce tutoriel utilise l’interface CLI disponible dans Azure Cloud Shell, qui est constamment mise à jour vers la dernière version.
Si vous choisissez d’installer et d’utiliser l’interface de ligne de commande localement, ce didacticiel nécessite que vous exécutiez Azure CLI version 2.0.30 ou ultérieure. Exécutez az --version
pour trouver la version. Si vous devez installer ou mettre à niveau, voir Installer Azure CLI.
Créer un groupe de ressources
Créez un groupe de ressources avec la commande az group create.
Un groupe de ressources Azure est un conteneur logique dans lequel les ressources Azure sont déployées et gérées. Un groupe de ressources doit être créé avant les machines virtuelles. Dans cet exemple, un groupe de ressources nommé myResourceGroupVM est créé dans la région eastus2.
az group create --name myResourceGroupVM --location eastus2
Le groupe de ressources est spécifié lors de la création ou de la modification d’une machine virtuelle, qui peut être vue dans ce didacticiel.
Créer une machine virtuelle
Créez une machine virtuelle avec la commande az vm create.
Lorsque vous créez une machine virtuelle, plusieurs options sont disponibles, comme l’image de système d’exploitation, le dimensionnement des disques et les informations d’identification d’administration. L’exemple suivant crée une machine virtuelle nommée myVM qui exécute SUSE Linux Enterprise Server (SLES). Un compte d’utilisateur nommé azureuser est créé sur la machine virtuelle, et les clés SSH sont générées si elles n’existent pas dans l’emplacement de la clé par défaut ( ~/.ssh) :
az vm create \
--resource-group myResourceGroupVM \
--name myVM \
--image SuseSles15SP3 \
--public-ip-sku Standard \
--admin-username azureuser \
--generate-ssh-keys
La création de la machine virtuelle peut prendre plusieurs minutes. Une fois la machine virtuelle créée, l’interface Azure CLI fournit des informations concernant cette machine virtuelle. Notez la valeur de publicIpAddress
, car cette adresse peut être utilisée pour accéder à la machine virtuelle.
{
"fqdns": "",
"id": "/subscriptions/d5b9d4b7-6fc1-0000-0000-000000000000/resourceGroups/myResourceGroupVM/providers/Microsoft.Compute/virtualMachines/myVM",
"location": "eastus2",
"macAddress": "00-0D-3A-23-9A-49",
"powerState": "VM running",
"privateIpAddress": "10.0.0.4",
"publicIpAddress": "52.174.34.95",
"resourceGroup": "myResourceGroupVM"
}
Se connecter à une machine virtuelle
Vous pouvez maintenant vous connecter à la machine virtuelle avec SSH dans Azure Cloud Shell ou à partir de votre ordinateur local. Remplacez l’exemple d’adresse IP par la valeur de publicIpAddress
notée à l’étape précédente.
ssh azureuser@52.174.34.95
Une fois connecté à la machine virtuelle, vous pouvez installer et configurer des applications. Quand vous avez terminé, vous fermez la session SSH normalement :
exit
Comprendre les images de machine virtuelle
La Place de marché Azure comprend de nombreuses images qui permettent de créer des machines virtuelles. Dans les étapes précédentes, une machine virtuelle a été créée à l’aide d’une image Ubuntu. Dans cette étape, vous allez utiliser l’interface Azure CLI pour rechercher dans la Place de marché une image Ubuntu, qui servira ensuite à déployer une deuxième machine virtuelle.
Pour afficher une liste des images les plus couramment utilisées, utilisez la commande az vm image list.
az vm image list --output table
La commande renvoie les images de machine virtuelle les plus populaires sur Azure.
Architecture Offer Publisher Sku Urn UrnAlias Version
-------------- ---------------------------- ---------------------- ---------------------------------- ------------------------------------------------------------------------------ ----------------------- ---------
x64 debian-10 Debian 10 Debian:debian-10:10:latest Debian latest
x64 flatcar-container-linux-free kinvolk stable kinvolk:flatcar-container-linux-free:stable:latest Flatcar latest
x64 opensuse-leap-15-3 SUSE gen2 SUSE:opensuse-leap-15-3:gen2:latest openSUSE-Leap latest
x64 RHEL RedHat 7-LVM RedHat:RHEL:7-LVM:latest RHEL latest
x64 sles-15-sp3 SUSE gen2 SUSE:sles-15-sp3:gen2:latest SLES latest
x64 0001-com-ubuntu-server-jammy Canonical 18.04-LTS Canonical:UbuntuServer:18.04-LTS:latest UbuntuLTS latest
x64 WindowsServer MicrosoftWindowsServer 2022-Datacenter MicrosoftWindowsServer:WindowsServer:2022-Datacenter:latest Win2022Datacenter latest
x64 WindowsServer MicrosoftWindowsServer 2022-datacenter-azure-edition-core MicrosoftWindowsServer:WindowsServer:2022-datacenter-azure-edition-core:latest Win2022AzureEditionCore latest
x64 WindowsServer MicrosoftWindowsServer 2019-Datacenter MicrosoftWindowsServer:WindowsServer:2019-Datacenter:latest Win2019Datacenter latest
x64 WindowsServer MicrosoftWindowsServer 2016-Datacenter MicrosoftWindowsServer:WindowsServer:2016-Datacenter:latest Win2016Datacenter latest
x64 WindowsServer MicrosoftWindowsServer 2012-R2-Datacenter MicrosoftWindowsServer:WindowsServer:2012-R2-Datacenter:latest Win2012R2Datacenter latest
x64 WindowsServer MicrosoftWindowsServer 2012-Datacenter MicrosoftWindowsServer:WindowsServer:2012-Datacenter:latest Win2012Datacenter latest
x64 WindowsServer MicrosoftWindowsServer 2008-R2-SP1 MicrosoftWindowsServer:WindowsServer:2008-R2-SP1:latest Win2008R2SP1 latest
Vous pouvez obtenir une liste complète en ajoutant le paramètre --all
. Vous pouvez également utiliser --publisher
ou –-offer
pour filtrer la liste d’images. Dans cet exemple, la liste est filtrée pour toutes les images, publiée par OpenLogic, dont l’offre correspond à 0001-com-ubuntu-server-jammy.
az vm image list --offer 0001-com-ubuntu-server-jammy --publisher Canonical --all --output table
Exemple de sortie partielle :
Architecture Offer Publisher Sku Urn Version
-------------- --------------------------------- ----------- --------------- ------------------------------------------------------------------------ ---------------
x64 0001-com-ubuntu-server-jammy Canonical 22_04-lts Canonical:0001-com-ubuntu-server-jammy:22_04-lts:22.04.202204200 22.04.202204200
x64 0001-com-ubuntu-server-jammy Canonical 22_04-lts Canonical:0001-com-ubuntu-server-jammy:22_04-lts:22.04.202205060 22.04.202205060
x64 0001-com-ubuntu-server-jammy Canonical 22_04-lts Canonical:0001-com-ubuntu-server-jammy:22_04-lts:22.04.202205280 22.04.202205280
x64 0001-com-ubuntu-server-jammy Canonical 22_04-lts Canonical:0001-com-ubuntu-server-jammy:22_04-lts:22.04.202206040 22.04.202206040
x64 0001-com-ubuntu-server-jammy Canonical 22_04-lts Canonical:0001-com-ubuntu-server-jammy:22_04-lts:22.04.202206090 22.04.202206090
x64 0001-com-ubuntu-server-jammy Canonical 22_04-lts Canonical:0001-com-ubuntu-server-jammy:22_04-lts:22.04.202206160 22.04.202206160
x64 0001-com-ubuntu-server-jammy Canonical 22_04-lts Canonical:0001-com-ubuntu-server-jammy:22_04-lts:22.04.202206220 22.04.202206220
x64 0001-com-ubuntu-server-jammy Canonical 22_04-lts Canonical:0001-com-ubuntu-server-jammy:22_04-lts:22.04.202207060 22.04.202207060
Notes
Canonical a modifié les noms d’offres qu’ils utilisent pour les versions les plus récentes. Avant Ubuntu 20.04, le nom de l’offre est UbuntuServer. Pour Ubuntu 20.04, le nom de l’offre est 0001-com-ubuntu-server-focal
et pour Ubuntu 22.04, il s’agit de 0001-com-ubuntu-server-jammy
.
Pour déployer une machine virtuelle à l’aide d’une image spécifique, prenez note de la valeur dans la colonne Urn, qui se compose de l’éditeur, de l’offre, de la référence SKU et éventuellement du numéro de version pour identifier l’image. Lorsque vous spécifiez l’image, le numéro de version de l’image peut être remplacé par la valeur latest
, qui sélectionne la dernière version de la distribution. Dans cet exemple, le paramètre --image
est utilisé pour spécifier la version la plus récente d’Ubuntu 22.04.
az vm create --resource-group myResourceGroupVM --name myVM2 --image Canonical:0001-com-ubnutu-server-jammy:22_04-lts:latest --generate-ssh-keys
Comprendre les tailles de machine virtuelle
Une taille de machine virtuelle détermine la quantité de ressources de calcul comme le processeur, le processeur graphique (GPU) et la mémoire qui sont mises à la disposition de la machine virtuelle. Les machines virtuelles doivent être correctement dimensionnés en fonction de la charge de travail attendue. Si la charge de travail augmente, une machine virtuelle existante peut être redimensionnée.
Tailles de machine virtuelle
Le tableau suivant classe les tailles en fonction des cas d’utilisation.
Type | Description |
---|---|
Usage général | Ratio processeur/mémoire équilibré. Idéale pour le développement/test et pour les petites et moyennes applications et solutions de données. |
Optimisé pour le calcul | Ratio processeur/mémoire élevé. Convient pour les applications au trafic moyen, les appliances réseau et les processus de traitement par lots. |
Mémoire optimisée | 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 | Débit de disque et E/S élevés. Idéale pour les bases de données NoSQL, SQL et Big Data. |
GPU | Machines virtuelles spécialisées conçues pour les opérations graphiques lourdes et la retouche vidéo. |
Hautes performances | Nos machines virtuelles dotées des processeurs les plus puissants avec interfaces réseau haut débit en option (RDMA). |
Rechercher les tailles de machines virtuelles disponibles
Pour afficher la liste des tailles de machines virtuelles disponibles dans une région particulière, utilisez la commande az vm list-sizes.
az vm list-sizes --location eastus2 --output table
Exemple de sortie partielle :
MaxDataDiskCount MemoryInMb Name NumberOfCores OsDiskSizeInMb ResourceDiskSizeInMb
------------------ ------------ ---------------------- --------------- ---------------- ----------------------
4 8192 Standard_D2ds_v4 2 1047552 76800
8 16384 Standard_D4ds_v4 4 1047552 153600
16 32768 Standard_D8ds_v4 8 1047552 307200
32 65536 Standard_D16ds_v4 16 1047552 614400
32 131072 Standard_D32ds_v4 32 1047552 1228800
32 196608 Standard_D48ds_v4 48 1047552 1843200
32 262144 Standard_D64ds_v4 64 1047552 2457600
4 8192 Standard_D2ds_v5 2 1047552 76800
8 16384 Standard_D4ds_v5 4 1047552 153600
16 32768 Standard_D8ds_v5 8 1047552 307200
32 65536 Standard_D16ds_v5 16 1047552 614400
32 131072 Standard_D32ds_v5 32 1047552 1228800
32 196608 Standard_D48ds_v5 48 1047552 1843200
32 262144 Standard_D64ds_v5 64 1047552 2457600
32 393216 Standard_D96ds_v5 96 1047552 3686400
Créer une machine virtuelle d’une taille spécifique
Dans le précédent exemple de création d’une machine virtuelle, aucune taille n’a été spécifiée ; la taille par défaut a donc été appliquée. Vous pouvez sélectionner une taille de machine virtuelle au moment de la création à l’aide de la commande az vm create et du paramètre --size
.
az vm create \
--resource-group myResourceGroupVM \
--name myVM3 \
--image SuseSles15SP3 \
--size Standard_D2ds_v4 \
--generate-ssh-keys
Redimensionner une machine virtuelle
Après avoir déployé une machine virtuelle, vous pouvez la redimensionner pour augmenter ou diminuer l’allocation des ressources. Vous pouvez afficher la taille actuelle d’une machine virtuelle avec la commande az vm show :
az vm show --resource-group myResourceGroupVM --name myVM --query hardwareProfile.vmSize
Avant de redimensionner une machine virtuelle, vérifiez si la taille souhaitée est disponible dans le cluster Azure actuel. La commande az vm list-vm-resize-options commande renvoie la liste des tailles disponibles.
az vm list-vm-resize-options --resource-group myResourceGroupVM --name myVM --query [].name
Si la taille souhaitée est disponible, la machine virtuelle peut être redimensionnée à partir d’un état sous tension, mais elle est redémarrée au cours de l’opération. Utilisez la commande az vm resize commande pour effectuer le redimensionnement.
az vm resize --resource-group myResourceGroupVM --name myVM --size Standard_D4s_v3
Si la taille souhaitée ne figure pas dans le cluster actuel, la machine virtuelle doit être libérée avant de procéder au redimensionnement. Utilisez la commande az vm deallocate pour arrêter la machine virtuelle et la libérer. Notez que lorsque la machine virtuelle est remise sous tension, toutes les données contenues dans le disque temporaire peuvent être supprimées. L’adresse IP publique change également, sauf si une adresse IP statique est utilisée.
az vm deallocate --resource-group myResourceGroupVM --name myVM
Après la libération, le redimensionnement peut être effectué.
az vm resize --resource-group myResourceGroupVM --name myVM --size Standard_GS1
Après le redimensionnement, la machine virtuelle peut être démarrée.
az vm start --resource-group myResourceGroupVM --name myVM
États d’alimentation de la machine virtuelle
Une machine virtuelle Azure peut présenter différents états d’alimentation. Cet état représente l’état actuel de la machine virtuelle du point de vue de l’hyperviseur.
États d’alimentation
État d’alimentation | Description |
---|---|
Démarrage en cours | Indique que la machine virtuelle est en cours de démarrage. |
Exécution en cours | Indique que la machine virtuelle est en cours d’exécution. |
En cours d’arrêt | Indique que la machine virtuelle est en cours d’arrêt. |
Arrêté | Indique que la machine virtuelle est arrêtée. Les machines virtuelles à l’état arrêté entraînent toujours des frais de calcul. |
Libération | Indique que la machine virtuelle est en cours de libération. |
Libéré | Indique que la machine virtuelle est supprimée de l’hyperviseur, mais reste disponible dans le plan de contrôle. Les machines virtuelles à l’état Libéré n’entraînent pas de frais de calcul. |
- | Indique que l’état d’alimentation de la machine virtuelle est inconnu. |
Rechercher l’état d’alimentation
Pour récupérer l’état d’une machine virtuelle spécifique, utilisez la commande az vm get instance-view. Veillez à spécifier le nom valide d’une machine virtuelle et d’un groupe de ressources.
az vm get-instance-view \
--name myVM \
--resource-group myResourceGroupVM \
--query instanceView.statuses[1] --output table
Sortie :
Code Level DisplayStatus
------------------ ------- ---------------
PowerState/running Info VM running
Pour récupérer l’état d’alimentation de toutes les machines virtuelles de votre abonnement, utilisez l’API Machines virtuelles - Répertorier tout avec le paramètre statusOnly défini sur true.
Tâches de gestion
Pendant le cycle de vie d’une machine virtuelle, vous souhaiterez exécuter des tâches de gestion telles que le démarrage, l’arrêt ou la suppression d’une machine virtuelle. En outre, vous souhaiterez peut-être créer des scripts pour automatiser les tâches répétitives ou complexes. À l’aide de l’interface Azure CLI, de nombreuses tâches courantes de gestion peuvent être exécutées à partir de la ligne de commande ou dans des scripts.
Obtenir l’adresse IP
Cette commande renvoie les adresses IP publiques et privées d’une machine virtuelle.
az vm list-ip-addresses --resource-group myResourceGroupVM --name myVM --output table
Arrêt d’une machine virtuelle
az vm stop --resource-group myResourceGroupVM --name myVM
Démarrage d’une machine virtuelle
az vm start --resource-group myResourceGroupVM --name myVM
Suppression des ressources de machine virtuelle
En fonction de la façon dont vous supprimez une machine virtuelle, cela peut supprimer uniquement la ressource de machine virtuelle, et pas les ressources réseau et de disque. Vous pouvez modifier le comportement par défaut pour supprimer d’autres ressources lorsque vous supprimez la machine virtuelle. Pour plus d’informations, consultez Supprimer une machine virtuelle et les ressources associées.
La suppression d’un groupe de ressources supprime également toutes les ressources dans le groupe de ressources, telles que la machine virtuelle, le réseau virtuel et le disque. Le paramètre --no-wait
retourne le contrôle à l’invite de commandes sans attendre que l’opération se termine. Le paramètre --yes
confirme que vous souhaitez supprimer les ressources sans passer par une invite supplémentaire à cette fin.
az group delete --name myResourceGroupVM --no-wait --yes
Étapes suivantes
Ce didacticiel vous a montré les tâches de base de création et de gestion de machines virtuelles, notamment :
- Créer une machine virtuelle et vous y connecter
- Sélectionner et utiliser des images de machine virtuelle
- Afficher et utiliser des tailles de machine virtuelle spécifiques
- Redimensionner une machine virtuelle
- Consulter et comprendre l’état d’une machine virtuelle
Passez au didacticiel suivant pour en savoir plus sur les disques de machine virtuelle.