Démarrage rapide : Créer une machine virtuelle Linux dans Azure avec PowerShell

S’applique à : ✔️ Machines virtuelles Linux

Le module Azure PowerShell est utilisé pour créer et gérer des ressources Azure à partir de la ligne de commande PowerShell ou dans des scripts. Ce guide de démarrage rapide explique comment utiliser le module Azure PowerShell pour déployer une machine virtuelle Linux dans Azure. Ce guide de démarrage rapide utilise l’image de la place de marché Debian la plus récente. Pour voir votre machine virtuelle en action, vous établirez également une connexion SSH à la machine virtuelle et installez le serveur web NGINX.

Si vous n’avez pas d’abonnement Azure, créez un compte gratuit avant de commencer.

Lancement d’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. Il contient des outils Azure courants préinstallés et configurés pour être utilisés avec votre compte.

Pour ouvrir Cloud Shell, sélectionnez simplement Essayer en haut à droite d’un bloc de code. Sélectionnez Copier pour copier les blocs de code, collez-les dans Cloud Shell, puis appuyez sur Entrée pour les exécuter.

Créer un groupe de ressources

Créez un groupe de ressources Azure avec New-AzResourceGroup. Un groupe de ressources est un conteneur logique dans lequel les ressources Azure sont déployées et gérées :

New-AzResourceGroup -Name 'myResourceGroup' -Location 'EastUS'

Création d'une machine virtuelle

Nous allons générer automatiquement une paire de clés SSH à utiliser pour se connecter à la machine virtuelle. La clé publique créée à l’aide de -GenerateSshKey sera stockée dans Azure en tant que ressource, en utilisant le nom que vous fournissez en tant que SshKeyName. La ressource de clé SSH peut être réutilisée pour la création de machines virtuelles supplémentaires. Les clés publique et privée seront également téléchargées pour vous. Lorsque vous créez votre paire de clés SSH en utilisant Cloud Shell, les clés sont stockées dans un compte de stockage créé automatiquement par Cloud Shell. Ne supprimez pas ce compte de stockage ni le partage de fichiers qu’il contient tant que vous n’avez pas récupéré vos clés, faute de quoi vous perdrez votre accès à la machine virtuelle.

Vous serez invité à entrer un nom d’utilisateur qui sera utilisé lors de la connexion à la machine virtuelle. Vous êtes également invité à entrer un mot de passe, que vous pouvez laisser vide. Lorsque vous utilisez une clé SSH, la connexion par mot de passe est désactivée pour la machine virtuelle.

Dans cet exemple, vous créez une machine virtuelle nommée myVM dans la région USA Est en utilisant la taille de machine virtuelle Standard_B2s.

New-AzVm `
    -ResourceGroupName 'myResourceGroup' `
    -Name 'myVM' `
    -Location 'East US' `
    -image Debian11 `
    -size Standard_B2s `
    -PublicIpAddressName myPubIP `
    -OpenPorts 80 `
    -GenerateSshKey `
    -SshKeyName mySSHKey

La sortie vous donnera l’emplacement de la copie locale de la clé SSH. Par exemple :

Private key is saved to /home/user/.ssh/1234567891
Public key is saved to /home/user/.ssh/1234567891.pub

Les informations sur les coûts ne sont pas présentées lors du processus de création de machine virtuelle pour PowerShell, contrairement au portail Azure. Si vous souhaitez en savoir plus sur le fonctionnement des coûts pour les machines virtuelles, consultez la page Vue d’ensemble de l’optimisation des coûts.

Quelques minutes sont nécessaires pour le déploiement de votre machine virtuelle. Lorsque le déploiement est terminé, passez à la section suivante.

Installer NGINX

Pour voir votre machine virtuelle en action, installez le serveur web NGINX.

Invoke-AzVMRunCommand `
   -ResourceGroupName 'myResourceGroup' `
   -Name 'myVM' `
   -CommandId 'RunShellScript' `
   -ScriptString 'sudo apt-get update && sudo apt-get install -y nginx'

Le paramètre -ScriptString nécessite la version 4.27.0 ou une version ultérieure du module Az.Compute.

Voir le serveur web en action

Obtenez l’adresse IP publique de votre machine virtuelle :

Get-AzPublicIpAddress -Name myPubIP -ResourceGroupName myResourceGroup | select "IpAddress" 

Utilisez le navigateur web de votre choix pour visualiser la page d’accueil NGINX par défaut. Entrez l’adresse IP publique de la machine virtuelle comme adresse web.

Screenshot showing the N G I N X default web page.

Nettoyer les ressources

Lorsque vous n’en avez plus besoin, vous pouvez utiliser la cmdlet Remove-AzResourceGroup pour supprimer le groupe de ressources, la machine virtuelle et toutes les ressources associées :

Remove-AzResourceGroup -Name 'myResourceGroup'

Étapes suivantes

Avec ce guide de démarrage rapide, vous avez déployé une machine virtuelle simple, créé un groupe de sécurité réseau et une règle, et installé un serveur web de base. Pour en savoir plus sur les machines virtuelles Azure, suivez le didacticiel pour les machines virtuelles Linux.