Tutoriel : Créer et gérer des machines virtuelles Linux avec Azure CLITutorial: Create and Manage Linux VMs with the Azure CLI

Les machines virtuelles fournissent un environnement informatique entièrement configurable et flexible.Azure virtual machines provide a fully configurable and flexible computing environment. 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.This tutorial covers basic Azure virtual machine deployment items such as selecting a VM size, selecting a VM image, and deploying a VM. Vous allez apprendre à effectuer les actions suivantes :You learn how to:

  • Créer une machine virtuelle et vous y connecterCreate and connect to a VM
  • Sélectionner et utiliser des images de machine virtuelleSelect and use VM images
  • Afficher et utiliser des tailles de machine virtuelle spécifiquesView and use specific VM sizes
  • Redimensionner une machine virtuelleResize a VM
  • Consulter et comprendre l’état d’une machine virtuelleView and understand VM state

Ce tutoriel utilise l’interface CLI disponible dans Azure Cloud Shell, qui est constamment mise à jour vers la dernière version.This tutorial uses the CLI within the Azure Cloud Shell, which is constantly updated to the latest version. Pour ouvrir Cloud Shell, sélectionnez Essayer en haut d’un bloc de code.To open the Cloud Shell, select Try it from the top of any code block.

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.If you choose to install and use the CLI locally, this tutorial requires that you are running the Azure CLI version 2.0.30 or later. Exécutez az --version pour trouver la version.Run az --version to find the version. Si vous devez installer ou mettre à niveau, voir Installer Azure CLI.If you need to install or upgrade, see Install Azure CLI.

Créer un groupe de ressourcesCreate resource group

Créez un groupe de ressources avec la commande az group create.Create a resource group with the az group create command.

Un groupe de ressources Azure est un conteneur logique dans lequel les ressources Azure sont déployées et gérées.An Azure resource group is a logical container into which Azure resources are deployed and managed. Un groupe de ressources doit être créé avant les machines virtuelles.A resource group must be created before a virtual machine. Dans cet exemple, un groupe de ressources nommé myResourceGroupVM est créé dans la région eastus.In this example, a resource group named myResourceGroupVM is created in the eastus region.

az group create --name myResourceGroupVM --location eastus

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.The resource group is specified when creating or modifying a VM, which can be seen throughout this tutorial.

Créer une machine virtuelleCreate virtual machine

Créez une machine virtuelle avec la commande az vm create.Create a virtual machine with the az vm create command.

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.When you create a virtual machine, several options are available such as operating system image, disk sizing, and administrative credentials. L’exemple suivant permet de créer une machine virtuelle nommée myVM qui s’exécute sur le serveur Ubuntu.The following example creates a VM named myVM that runs Ubuntu Server. 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) :A user account named azureuser is created on the VM, and SSH keys are generated if they do not exist in the default key location (~/.ssh):

az vm create \
    --resource-group myResourceGroupVM \
    --name myVM \
    --image UbuntuLTS \
    --admin-username azureuser \
    --generate-ssh-keys

La création de la machine virtuelle peut prendre plusieurs minutes.It may take a few minutes to create the VM. Une fois la machine virtuelle créée, l’interface Azure CLI fournit des informations concernant cette machine virtuelle.Once the VM has been created, the Azure CLI outputs information about the VM. Notez la valeur de publicIpAddress, car cette adresse peut être utilisée pour accéder à la machine virtuelle.Take note of the publicIpAddress, this address can be used to access the virtual machine..

{
  "fqdns": "",
  "id": "/subscriptions/d5b9d4b7-6fc1-0000-0000-000000000000/resourceGroups/myResourceGroupVM/providers/Microsoft.Compute/virtualMachines/myVM",
  "location": "eastus",
  "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 virtuelleConnect to VM

Vous pouvez maintenant vous connecter à la machine virtuelle avec SSH dans Azure Cloud Shell ou à partir de votre ordinateur local.You can now connect to the VM with SSH in the Azure Cloud Shell or from your local computer. Remplacez l’exemple d’adresse IP par la valeur de publicIpAddress notée à l’étape précédente.Replace the example IP address with the publicIpAddress noted in the previous step.

ssh azureuser@52.174.34.95

Une fois connecté à la machine virtuelle, vous pouvez installer et configurer des applications.Once logged in to the VM, you can install and configure applications. Quand vous avez terminé, vous fermez la session SSH normalement :When you are finished, you close the SSH session as normal:

exit

Comprendre les images de machine virtuelleUnderstand VM images

La Place de marché Azure comprend de nombreuses images qui permettent de créer des machines virtuelles.The Azure marketplace includes many images that can be used to create VMs. Dans les étapes précédentes, une machine virtuelle a été créée à l’aide d’une image Ubuntu.In the previous steps, a virtual machine was created using an Ubuntu image. Dans cette étape, vous allez utiliser l’interface Azure CLI pour rechercher dans la Place de marché une image CentOS, qui servira ensuite à déployer une deuxième machine virtuelle.In this step, the Azure CLI is used to search the marketplace for a CentOS image, which is then used to deploy a second virtual machine.

Pour afficher une liste des images les plus couramment utilisées, utilisez la commande az vm image list.To see a list of the most commonly used images, use the az vm image list command.

az vm image list --output table

La commande renvoie les images de machine virtuelle les plus populaires sur Azure.The command output returns the most popular VM images on Azure.

Offer          Publisher               Sku                 Urn                                                             UrnAlias             Version
-------------  ----------------------  ------------------  --------------------------------------------------------------  -------------------  ---------
WindowsServer  MicrosoftWindowsServer  2016-Datacenter     MicrosoftWindowsServer:WindowsServer:2016-Datacenter:latest     Win2016Datacenter    latest
WindowsServer  MicrosoftWindowsServer  2012-R2-Datacenter  MicrosoftWindowsServer:WindowsServer:2012-R2-Datacenter:latest  Win2012R2Datacenter  latest
WindowsServer  MicrosoftWindowsServer  2008-R2-SP1         MicrosoftWindowsServer:WindowsServer:2008-R2-SP1:latest         Win2008R2SP1         latest
WindowsServer  MicrosoftWindowsServer  2012-Datacenter     MicrosoftWindowsServer:WindowsServer:2012-Datacenter:latest     Win2012Datacenter    latest
UbuntuServer   Canonical               16.04-LTS           Canonical:UbuntuServer:16.04-LTS:latest                         UbuntuLTS            latest
CentOS         OpenLogic               7.3                 OpenLogic:CentOS:7.3:latest                                     CentOS               latest
openSUSE-Leap  SUSE                    42.2                SUSE:openSUSE-Leap:42.2:latest                                  openSUSE-Leap        latest
RHEL           RedHat                  7.3                 RedHat:RHEL:7.3:latest                                          RHEL                 latest
SLES           SUSE                    12-SP2              SUSE:SLES:12-SP2:latest                                         SLES                 latest
Debian         credativ                8                   credativ:Debian:8:latest                                        Debian               latest
CoreOS         CoreOS                  Stable              CoreOS:CoreOS:Stable:latest                                     CoreOS               latest

Vous pouvez obtenir une liste complète en ajoutant l’argument --all.A full list can be seen by adding the --all argument. Vous pouvez également utiliser --publisher ou –-offer pour filtrer la liste d’images.The image list can also be filtered by --publisher or –-offer. Dans cet exemple, la liste est filtrée pour toutes les images dont l’offre correspond à CentOS.In this example, the list is filtered for all images with an offer that matches CentOS.

az vm image list --offer CentOS --all --output table

Résultat partiel :Partial output:

Offer             Publisher         Sku   Urn                                     Version
----------------  ----------------  ----  --------------------------------------  -----------
CentOS            OpenLogic         6.5   OpenLogic:CentOS:6.5:6.5.201501         6.5.201501
CentOS            OpenLogic         6.5   OpenLogic:CentOS:6.5:6.5.201503         6.5.201503
CentOS            OpenLogic         6.5   OpenLogic:CentOS:6.5:6.5.201506         6.5.201506
CentOS            OpenLogic         6.5   OpenLogic:CentOS:6.5:6.5.20150904       6.5.20150904
CentOS            OpenLogic         6.5   OpenLogic:CentOS:6.5:6.5.20160309       6.5.20160309
CentOS            OpenLogic         6.5   OpenLogic:CentOS:6.5:6.5.20170207       6.5.20170207

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.To deploy a VM using a specific image, take note of the value in the Urn column, which consists of the publisher, offer, SKU, and optionally a version number to identify the 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.When specifying the image, the image version number can be replaced with “latest”, which selects the latest version of the distribution. Dans cet exemple, l’argument --image est utilisé pour spécifier la version la plus récente d’une image CentOS 6.5.In this example, the --image argument is used to specify the latest version of a CentOS 6.5 image.

az vm create --resource-group myResourceGroupVM --name myVM2 --image OpenLogic:CentOS:6.5:latest --generate-ssh-keys

Comprendre les tailles de machine virtuelleUnderstand VM sizes

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.A virtual machine size determines the amount of compute resources such as CPU, GPU, and memory that are made available to the virtual machine. Les machines virtuelles doivent être correctement dimensionnés en fonction de la charge de travail attendue.Virtual machines need to be sized appropriately for the expected work load. Si la charge de travail augmente, une machine virtuelle existante peut être redimensionnée.If workload increases, an existing virtual machine can be resized.

Tailles de machine virtuelleVM Sizes

Le tableau suivant classe les tailles en fonction des cas d’utilisation.The following table categorizes sizes into use cases.

TypeType Tailles courantesCommon sizes DescriptionDescription
Usage généralGeneral purpose B, Dsv3, Dv3, DSv2, Dv2, Av2, DCB, Dsv3, Dv3, DSv2, Dv2, Av2, DC Ratio processeur/mémoire équilibré.Balanced CPU-to-memory. Idéale pour le développement/test et pour les petites et moyennes applications et solutions de données.Ideal for dev / test and small to medium applications and data solutions.
Optimisé pour le calculCompute optimized Fsv2Fsv2 Ratio processeur/mémoire élevé.High CPU-to-memory. Convient pour les applications au trafic moyen, les appliances réseau et les processus de traitement par lots.Good for medium traffic applications, network appliances, and batch processes.
Mémoire optimiséeMemory optimized Esv3, Ev3, M, DSv2, Dv2Esv3, Ev3, M, DSv2, Dv2 Ratio mémoire/cœur élevé.High memory-to-core. Idéale pour les bases de données relationnelles, les caches moyens à grands et l’analytique en mémoire.Great for relational databases, medium to large caches, and in-memory analytics.
Optimisé pour le stockageStorage optimized Lsv2, LsLsv2, Ls Débit de disque et E/S élevés.High disk throughput and IO. Idéale pour les bases de données NoSQL, SQL et Big Data.Ideal for Big Data, SQL, and NoSQL databases.
GPUGPU NV, NVv2, NC, NCv2, NCv3, NDNV, NVv2, NC, NCv2, NCv3, ND Machines virtuelles spécialisées conçues pour les opérations graphiques lourdes et la retouche vidéo.Specialized VMs targeted for heavy graphic rendering and video editing.
Hautes performancesHigh performance HH Nos machines virtuelles dotées des processeurs les plus puissants avec interfaces réseau haut débit en option (RDMA).Our most powerful CPU VMs with optional high-throughput network interfaces (RDMA).

Rechercher les tailles de machines virtuelles disponiblesFind available VM sizes

Pour afficher la liste des tailles de machines virtuelles disponibles dans une région particulière, utilisez la commande az vm list-sizes.To see a list of VM sizes available in a particular region, use the az vm list-sizes command.

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

Résultat partiel :Partial output:

  MaxDataDiskCount    MemoryInMb  Name                      NumberOfCores    OsDiskSizeInMb    ResourceDiskSizeInMb
------------------  ------------  ----------------------  ---------------  ----------------  ----------------------
                 2          3584  Standard_DS1                          1           1047552                    7168
                 4          7168  Standard_DS2                          2           1047552                   14336
                 8         14336  Standard_DS3                          4           1047552                   28672
                16         28672  Standard_DS4                          8           1047552                   57344
                 4         14336  Standard_DS11                         2           1047552                   28672
                 8         28672  Standard_DS12                         4           1047552                   57344
                16         57344  Standard_DS13                         8           1047552                  114688
                32        114688  Standard_DS14                        16           1047552                  229376
                 1           768  Standard_A0                           1           1047552                   20480
                 2          1792  Standard_A1                           1           1047552                   71680
                 4          3584  Standard_A2                           2           1047552                  138240
                 8          7168  Standard_A3                           4           1047552                  291840
                 4         14336  Standard_A5                           2           1047552                  138240
                16         14336  Standard_A4                           8           1047552                  619520
                 8         28672  Standard_A6                           4           1047552                  291840
                16         57344  Standard_A7                           8           1047552                  619520

Créer une machine virtuelle d’une taille spécifiqueCreate VM with specific size

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.In the previous VM creation example, a size was not provided, which results in a default size. Vous pouvez sélectionner une taille de machine virtuelle au moment de la création à l’aide de la commande az vm create et de l’argument --size.A VM size can be selected at creation time using az vm create and the --size argument.

az vm create \
    --resource-group myResourceGroupVM \
    --name myVM3 \
    --image UbuntuLTS \
    --size Standard_F4s \
    --generate-ssh-keys

Redimensionner une machine virtuelleResize a VM

Après avoir déployé une machine virtuelle, vous pouvez la redimensionner pour augmenter ou diminuer l’allocation des ressources.After a VM has been deployed, it can be resized to increase or decrease resource allocation. Vous pouvez afficher la taille actuelle d’une machine virtuelle avec la commande az vm show :You can view the current of size of a VM with 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.Before resizing a VM, check if the desired size is available on the current Azure cluster. La commande az vm list-vm-resize-options commande renvoie la liste des tailles disponibles.The az vm list-vm-resize-options command returns the list of sizes.

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.If the desired size is available, the VM can be resized from a powered-on state, however it is rebooted during the operation. Utilisez la commande az vm resize commande pour effectuer le redimensionnement.Use the az vm resize command to perform the resize.

az vm resize --resource-group myResourceGroupVM --name myVM --size Standard_DS4_v2

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.If the desired size is not on the current cluster, the VM needs to be deallocated before the resize operation can occur. Utilisez la commande az vm deallocate pour arrêter la machine virtuelle et la libérer.Use the az vm deallocate command to stop and deallocate the VM. Notez que lorsque la machine virtuelle est remise sous tension, toutes les données contenues dans le disque temporaire peuvent être supprimées.Note, when the VM is powered back on, any data on the temp disk may be removed. L’adresse IP publique change également, sauf si une adresse IP statique est utilisée.The public IP address also changes unless a static IP address is being used.

az vm deallocate --resource-group myResourceGroupVM --name myVM

Après la libération, le redimensionnement peut être effectué.Once deallocated, the resize can occur.

az vm resize --resource-group myResourceGroupVM --name myVM --size Standard_GS1

Après le redimensionnement, la machine virtuelle peut être démarrée.After the resize, the VM can be started.

az vm start --resource-group myResourceGroupVM --name myVM

États d’alimentation de la machine virtuelleVM power states

Une machine virtuelle Azure peut présenter différents états d’alimentation.An Azure VM can have one of many power states. Cet état représente l’état actuel de la machine virtuelle du point de vue de l’hyperviseur.This state represents the current state of the VM from the standpoint of the hypervisor.

États d’alimentationPower states

État d’alimentationPower State DescriptionDescription
Démarrage en coursStarting Indique que la machine virtuelle est en cours de démarrage.Indicates the virtual machine is being started.
Exécution en coursRunning Indique que la machine virtuelle est en cours d’exécution.Indicates that the virtual machine is running.
En cours d’arrêtStopping Indique que la machine virtuelle est en cours d’arrêt.Indicates that the virtual machine is being stopped.
ArrêtéStopped Indique que la machine virtuelle est arrêtée.Indicates that the virtual machine is stopped. Les machines virtuelles à l’état arrêté entraînent toujours des frais de calcul.Virtual machines in the stopped state still incur compute charges.
LibérationDeallocating Indique que la machine virtuelle est en cours de libération.Indicates that the virtual machine is being deallocated.
LibéréDeallocated Indique que la machine virtuelle est supprimée de l’hyperviseur, mais reste disponible dans le plan de contrôle.Indicates that the virtual machine is removed from the hypervisor but still available in the control plane. Les machines virtuelles à l’état Libéré n’entraînent pas de frais de calcul.Virtual machines in the Deallocated state do not incur compute charges.
- Indique que l’état d’alimentation de la machine virtuelle est inconnu.Indicates that the power state of the virtual machine is unknown.

Rechercher l’état d’alimentationFind the power state

Pour récupérer l’état d’une machine virtuelle spécifique, utilisez la commande az vm get instance-view.To retrieve the state of a particular VM, use the az vm get-instance-view command. Veillez à spécifier le nom valide d’une machine virtuelle et d’un groupe de ressources.Be sure to specify a valid name for a virtual machine and resource group.

az vm get-instance-view \
    --name myVM \
    --resource-group myResourceGroupVM \
    --query instanceView.statuses[1] --output table

Sortie :Output:

ode                DisplayStatus    Level
------------------  ---------------  -------
PowerState/running  VM running       Info

Tâches de gestionManagement tasks

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.During the life-cycle of a virtual machine, you may want to run management tasks such as starting, stopping, or deleting a virtual machine. En outre, vous souhaiterez peut-être créer des scripts pour automatiser les tâches répétitives ou complexes.Additionally, you may want to create scripts to automate repetitive or complex tasks. À 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.Using the Azure CLI, many common management tasks can be run from the command line or in scripts.

Obtenir l’adresse IPGet IP address

Cette commande renvoie les adresses IP publiques et privées d’une machine virtuelle.This command returns the private and public IP addresses of a virtual machine.

az vm list-ip-addresses --resource-group myResourceGroupVM --name myVM --output table

Arrêt d’une machine virtuelleStop virtual machine

az vm stop --resource-group myResourceGroupVM --name myVM

Démarrage d’une machine virtuelleStart virtual machine

az vm start --resource-group myResourceGroupVM --name myVM

Supprimer un groupe de ressourcesDelete resource group

La suppression d’un groupe de ressources supprime également toutes les ressources qu’il contient, telles que la machine virtuelle, le réseau virtuel et le disque.Deleting a resource group also deletes all resources contained within, such as the VM, virtual network, and disk. Le paramètre --no-wait retourne le contrôle à l’invite de commandes sans attendre que l’opération se termine.The --no-wait parameter returns control to the prompt without waiting for the operation to complete. Le paramètre --yes confirme que vous souhaitez supprimer les ressources sans passer par une invite supplémentaire à cette fin.The --yes parameter confirms that you wish to delete the resources without an additional prompt to do so.

az group delete --name myResourceGroupVM --no-wait --yes

Étapes suivantesNext steps

Ce didacticiel vous a montré les tâches de base de création et de gestion de machines virtuelles, notamment :In this tutorial, you learned about basic VM creation and management such as how to:

  • Créer une machine virtuelle et vous y connecterCreate and connect to a VM
  • Sélectionner et utiliser des images de machine virtuelleSelect and use VM images
  • Afficher et utiliser des tailles de machine virtuelle spécifiquesView and use specific VM sizes
  • Redimensionner une machine virtuelleResize a VM
  • Consulter et comprendre l’état d’une machine virtuelleView and understand VM state

Passez au didacticiel suivant pour en savoir plus sur les disques de machine virtuelle.Advance to the next tutorial to learn about VM disks.