Didacticiel : Créer et gérer des machines virtuelles Windows avec Azure PowerShellTutorial: Create and Manage Windows VMs with Azure PowerShell

Les machines virtuelles fournissent un environnement informatique entièrement configurable et flexible.Azure virtual machines provide a fully configurable and flexible computing environment. Ce tutoriel traite de tâches de déploiement de machines virtuelles Azure, telles 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 (VM) deployment tasks like 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

Lancement d’Azure Cloud ShellLaunch Azure Cloud Shell

Azure Cloud Shell est un interpréteur de commandes interactif et gratuit que vous pouvez utiliser pour exécuter les étapes de cet article.The Azure Cloud Shell is a free interactive shell that you can use to run the steps in this article. Il contient des outils Azure courants préinstallés et configurés pour être utilisés avec votre compte.It has common Azure tools preinstalled and configured to use with your account.

Pour ouvrir Cloud Shell, sélectionnez simplement Essayer en haut à droite d’un bloc de code.To open the Cloud Shell, just select Try it from the upper right corner of a code block. Vous pouvez également lancer Cloud Shell dans un onglet distinct du navigateur en accédant à https://shell.azure.com/powershell.You can also launch Cloud Shell in a separate browser tab by going to https://shell.azure.com/powershell. Sélectionnez Copier pour copier les blocs de code, collez-les dans Cloud Shell, puis appuyez sur Entrée pour les exécuter.Select Copy to copy the blocks of code, paste it into the Cloud Shell, and press enter to run it.

Créer un groupe de ressourcesCreate resource group

Créez un groupe de ressources avec la commande New-AzResourceGroup.Create a resource group with the New-AzResourceGroup 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 l’exemple suivant, un groupe de ressources nommé myResourceGroupVM est créé dans la région EastUS :In the following example, a resource group named myResourceGroupVM is created in the EastUS region:

New-AzResourceGroup `
   -ResourceGroupName "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 a VM

Lorsque vous créez une machine virtuelle, plusieurs options sont disponibles, comme l’image du système d’exploitation, la configuration réseau et les informations d’identification d’administration.When creating a VM, several options are available like operating system image, network configuration, and administrative credentials. Cet exemple crée une machine virtuelle nommée myVM, qui exécute la version par défaut de Windows Server 2016 Datacenter.This example creates a VM named myVM, running the default version of Windows Server 2016 Datacenter.

Définissez le nom d’utilisateur et le mot de passe pour le compte Administrateur sur la machine virtuelle avec Get-Credential :Set the username and password needed for the administrator account on the VM with Get-Credential:

$cred = Get-Credential

Créez la machine virtuelle avec New-AzVM.Create the VM with New-AzVM.

New-AzVm `
    -ResourceGroupName "myResourceGroupVM" `
    -Name "myVM" `
    -Location "EastUS" `
    -VirtualNetworkName "myVnet" `
    -SubnetName "mySubnet" `
    -SecurityGroupName "myNetworkSecurityGroup" `
    -PublicIpAddressName "myPublicIpAddress" `
    -Credential $cred

Se connecter à une machine virtuelleConnect to VM

Une fois le déploiement terminé, créez une connexion Bureau à distance avec la machine virtuelle.After the deployment has completed, create a remote desktop connection with the VM.

Exécutez les commandes suivantes pour renvoyer l’adresse IP publique de la machine virtuelle.Run the following commands to return the public IP address of the VM. Prenez note de cette adresse IP, afin de pouvoir vous y connecter ultérieurement avec votre navigateur de manière à tester la connectivité web.Take note of this IP Address so you can connect to it with your browser to test web connectivity in a future step.

Get-AzPublicIpAddress `
   -ResourceGroupName "myResourceGroupVM"  | Select IpAddress

Exécutez la commande suivante sur votre machine locale pour créer une session Bureau à distance avec la machine virtuelle.Use the following command, on your local machine, to create a remote desktop session with the VM. Remplacez l’adresse IP par l’adresse publicIPAddress de votre machine virtuelle.Replace the IP address with the publicIPAddress of your VM. À l'invite, saisissez les informations d’identification que vous avez utilisées lors de la création de la machine virtuelle.When prompted, enter the credentials used when creating the VM.

mstsc /v:<publicIpAddress>

Dans la fenêtre Sécurité Windows, sélectionnez Plus de choix, puis Utiliser un autre compte.In the Windows Security window, select More choices and then Use a different account. Entrez le nom d’utilisateur et le mot de passe créés pour la machine virtuelle, puis cliquez sur OK.Type the username and password you created for the VM and then click OK.

Comprendre les images de la Place de marchéUnderstand marketplace images

La Place de marché Azure comprend de nombreuses images qui permettent de créer une nouvelle machine virtuelle.The Azure marketplace includes many images that can be used to create a new VM. Dans les étapes précédentes, une machine virtuelle a été créée à l’aide de l’image Windows Server 2016 Datacenter.In the previous steps, a VM was created using the Windows Server 2016 Datacenter image. Dans cette étape, le module PowerShell est utilisé pour rechercher d’autres images Windows dans la place de marché, qui peuvent également servir de base pour les nouvelles machines virtuelles.In this step, the PowerShell module is used to search the marketplace for other Windows images, which can also be used as a base for new VMs. Ce processus consiste à trouver le serveur de publication, l’offre, la référence SKU et éventuellement un numéro de version pour identifier l’image.This process consists of finding the publisher, offer, SKU, and optionally a version number to identify the image.

Utilisez la commande Get-AzVMImagePublisher pour retourner la liste des éditeurs d’images :Use the Get-AzVMImagePublisher command to return a list of image publishers:

Get-AzVMImagePublisher -Location "EastUS"

Utilisez la commande Get-AzVMImageOffer pour retourner la liste des offres d’images.Use the Get-AzVMImageOffer to return a list of image offers. Cette commande permet de filtrer la liste retournée en fonction de l’éditeur spécifié nommé MicrosoftWindowsServer :With this command, the returned list is filtered on the specified publisher named MicrosoftWindowsServer:

Get-AzVMImageOffer `
   -Location "EastUS" `
   -PublisherName "MicrosoftWindowsServer"

Le résultat doit ressembler à l’exemple suivant :The results will look something like this example:

Offer             PublisherName          Location
-----             -------------          --------
Windows-HUB       MicrosoftWindowsServer EastUS
WindowsServer     MicrosoftWindowsServer EastUS
WindowsServer-HUB MicrosoftWindowsServer EastUS

La commande Get-AzVMImageSku filtre ensuite les résultats en fonction du nom de l’éditeur et de l’offre pour retourner la liste des noms d’images.The Get-AzVMImageSku command will then filter on the publisher and offer name to return a list of image names.

Get-AzVMImageSku `
   -Location "EastUS" `
   -PublisherName "MicrosoftWindowsServer" `
   -Offer "WindowsServer"

Le résultat doit ressembler à l’exemple suivant :The results will look something like this example:

Skus                                      Offer         PublisherName          Location
----                                      -----         -------------          --------
2008-R2-SP1                               WindowsServer MicrosoftWindowsServer EastUS  
2008-R2-SP1-smalldisk                     WindowsServer MicrosoftWindowsServer EastUS  
2012-Datacenter                           WindowsServer MicrosoftWindowsServer EastUS  
2012-Datacenter-smalldisk                 WindowsServer MicrosoftWindowsServer EastUS  
2012-R2-Datacenter                        WindowsServer MicrosoftWindowsServer EastUS  
2012-R2-Datacenter-smalldisk              WindowsServer MicrosoftWindowsServer EastUS  
2016-Datacenter                           WindowsServer MicrosoftWindowsServer EastUS  
2016-Datacenter-Server-Core               WindowsServer MicrosoftWindowsServer EastUS  
2016-Datacenter-Server-Core-smalldisk     WindowsServer MicrosoftWindowsServer EastUS
2016-Datacenter-smalldisk                 WindowsServer MicrosoftWindowsServer EastUS
2016-Datacenter-with-Containers           WindowsServer MicrosoftWindowsServer EastUS
2016-Datacenter-with-Containers-smalldisk WindowsServer MicrosoftWindowsServer EastUS
2016-Datacenter-with-RDSH                 WindowsServer MicrosoftWindowsServer EastUS
2016-Nano-Server                          WindowsServer MicrosoftWindowsServer EastUS

Ces informations peuvent être utilisées pour déployer une machine virtuelle avec une image spécifique.This information can be used to deploy a VM with a specific image. Dans cet exemple, une machine virtuelle est déployée à l’aide de la dernière version d’une image Windows Server 2016 avec conteneurs.This example deploys a VM using the latest version of a Windows Server 2016 with Containers image.

New-AzVm `
    -ResourceGroupName "myResourceGroupVM" `
    -Name "myVM2" `
    -Location "EastUS" `
    -VirtualNetworkName "myVnet" `
    -SubnetName "mySubnet" `
    -SecurityGroupName "myNetworkSecurityGroup" `
    -PublicIpAddressName "myPublicIpAddress2" `
    -ImageName "MicrosoftWindowsServer:WindowsServer:2016-Datacenter-with-Containers:latest" `
    -Credential $cred `
    -AsJob

Le paramètre -AsJob crée la machine virtuelle en tant que tâche en arrière-plan. Vous recevez donc les invites PowerShell.The -AsJob parameter creates the VM as a background task, so the PowerShell prompts return to you. Vous pouvez afficher les détails des travaux en arrière-plan à l’aide du cmdlet Get-Job.You can view details of background jobs with the Get-Job cmdlet.

Comprendre les tailles de machine virtuelleUnderstand VM sizes

La 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.The VM size determines the amount of compute resources like CPU, GPU, and memory that are made available to the VM. Les machines virtuelles doivent être créées avec une taille adaptée à la charge de travail.Virtual machines should be created using a VM size appropriate for the workload. Si une charge de travail augmente, une machine virtuelle existante peut également être redimensionnée.If a workload increases, an existing virtual machine can also 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 Fsv2, Fs, FFsv2, Fs, F 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, GS, G, DSv2, Dv2Esv3, Ev3, M, GS, G, 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 LsLs 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 machine virtuelle disponibles dans une région particulière, utilisez la commande Get-AzVMSize.To see a list of VM sizes available in a particular region, use the Get-AzVMSize command.

Get-AzVMSize -Location "EastUS"

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.

Avant de redimensionner une machine virtuelle, vérifiez si la taille souhaitée est disponible dans le cluster de machines virtuelles actuel.Before resizing a VM, check if the size you want is available on the current VM cluster. La commande Get-AzVMSize retourne la liste des tailles.The Get-AzVMSize command returns a list of sizes.

Get-AzVMSize -ResourceGroupName "myResourceGroupVM" -VMName "myVM"

Si la taille 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 size is available, the VM can be resized from a powered-on state, however it is rebooted during the operation.

$vm = Get-AzVM `
   -ResourceGroupName "myResourceGroupVM"  `
   -VMName "myVM"
$vm.HardwareProfile.VmSize = "Standard_DS3_v2"
Update-AzVM `
   -VM $vm `
   -ResourceGroupName "myResourceGroupVM"

Si la taille souhaitée n’est pas disponible dans le cluster actuel, la machine virtuelle doit être libérée avant de procéder au redimensionnement.If the size you want isn't available on the current cluster, the VM needs to be deallocated before the resize operation can occur. La libération d’une machine virtuelle supprime toutes les données du disque temporaire, et l’adresse IP publique est modifiée, sauf si une adresse IP statique est utilisée.Deallocating a VM will remove any data on the temp disk, and the public IP address will change unless a static IP address is being used.

Stop-AzVM `
   -ResourceGroupName "myResourceGroupVM" `
   -Name "myVM" -Force
$vm = Get-AzVM `
   -ResourceGroupName "myResourceGroupVM"  `
   -VMName "myVM"
$vm.HardwareProfile.VmSize = "Standard_E2s_v3"
Update-AzVM -VM $vm `
   -ResourceGroupName "myResourceGroupVM"
Start-AzVM `
   -ResourceGroupName "myResourceGroupVM"  `
   -Name $vm.name

É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.

État d’alimentationPower State DescriptionDescription
Démarrage en coursStarting La machine virtuelle est en cours de démarrage.The virtual machine is being started.
ExécutionRunning La machine virtuelle est en cours d’exécution.The virtual machine is running.
En cours d’arrêtStopping La machine virtuelle est en cours d’arrêt.The virtual machine is being stopped.
ArrêtéStopped La machine virtuelle est arrêtée.The VM 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 La machine virtuelle est libérée.The VM 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 VM is removed from the hypervisor but is still available in the control plane. Les machines virtuelles à l’état Deallocated n’entraînent pas de frais de calcul.Virtual machines in the Deallocated state do not incur compute charges.
- L’état d’alimentation de la machine virtuelle est inconnu.The power state of the VM is unknown.

Pour obtenir l’état d’une machine virtuelle spécifique, utilisez la commande Get-AzVM.To get the state of a particular VM, use the Get-AzVM command. Veillez à spécifier un nom valide de machine virtuelle et de groupe de ressources.Be sure to specify a valid name for a VM and resource group.

Get-AzVM `
    -ResourceGroupName "myResourceGroupVM" `
    -Name "myVM" `
    -Status | Select @{n="Status"; e={$_.Statuses[1].Code}}

Vous obtenez un résultat semblable à l’exemple suivant :The output will look something like this example:

Status
------
PowerState/running

Tâches de gestionManagement tasks

Pendant le cycle de vie d’une machine virtuelle, vous aurez peut-être besoin d’exécuter des tâches de gestion comme le démarrage, l’arrêt ou la suppression d’une machine virtuelle.During the lifecycle of a VM, you may want to run management tasks like starting, stopping, or deleting a VM. 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 d’Azure PowerShell, de nombreuses tâches courantes de gestion peuvent être exécutées à partir de la ligne de commande ou dans des scripts.Using Azure PowerShell, many common management tasks can be run from the command line or in scripts.

Arrêter une machine virtuelleStop a VM

Arrêtez et libérez une machine virtuelle avec Stop-AzVM :Stop and deallocate a VM with Stop-AzVM:

Stop-AzVM `
   -ResourceGroupName "myResourceGroupVM" `
   -Name "myVM" -Force

Si vous souhaitez conserver la machine virtuelle dans un état approvisionné, utilisez le paramètre -StayProvisioned.If you want to keep the VM in a provisioned state, use the -StayProvisioned parameter.

Démarrer une machine virtuelleStart a VM

Start-AzVM `
   -ResourceGroupName "myResourceGroupVM" `
   -Name "myVM"

Supprimer un groupe de ressourcesDelete resource group

Tout ce que contient un groupe de ressources est supprimé lorsque vous supprimez le groupe de ressources.Everything inside of a resource group is deleted when you delete the resource group.

Remove-AzResourceGroup `
   -Name "myResourceGroupVM" `
   -Force

É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.