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

S’applique à : ✔️ Machines virtuelles Linux

Ce démarrage rapide explique comment utiliser Azure CLI pour déployer dans Azure une machine virtuelle Linux. L’interface Azure CLI permet de créer et gérer des ressources Azure par le biais de la ligne de commande ou de scripts.

Dans ce tutoriel, nous installons la dernière image Debian. Pour voir la machine virtuelle en action, vous allez vous y connecter à l’aide de SSH et installer 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. Vous pouvez également ouvrir Cloud Shell dans un onglet distinct du navigateur en accédant à https://shell.azure.com/bash. Sélectionnez Copier pour copier les blocs de code, collez-les dans Cloud Shell et sélectionnez Entrée pour les exécuter.

Si vous préférez installer et utiliser l’interface de ligne de commande en local, ce démarrage rapide nécessite au minimum la version 2.0.30 d’Azure CLI. Exécutez az --version pour trouver la version. Si vous devez installer ou mettre à niveau, voir Installer Azure CLI.

Définissez des variables d’environnement

Les variables d’environnement sont couramment utilisées dans Linux pour centraliser les données de configuration afin d’améliorer la cohérence et la maintenance du système. Créez les variables d’environnement suivantes pour spécifier les noms des ressources qui seront créées plus loin dans ce didacticiel :

export RESOURCE_GROUP_NAME=myResourceGroup
export LOCATION=eastus
export VM_NAME=myVM
export VM_IMAGE=debian
export ADMIN_USERNAME=azureuser

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.

az group create --name $RESOURCE_GROUP_NAME --location $LOCATION

Créer une machine virtuelle

Créez une machine virtuelle avec la commande az vm create.

L’exemple suivant crée une machine virtuelle et ajoute un compte d’utilisateur. Le paramètre --generate-ssh-keys permet de générer automatiquement une clé SSH et de la placer dans l’emplacement de clé par défaut ( ~/.ssh). Pour utiliser un ensemble spécifique de clés à la place, utilisez l’option --ssh-key-values.

az vm create \
  --resource-group $RESOURCE_GROUP_NAME \
  --name $VM_NAME \
  --image $VM_IMAGE \
  --admin-username $ADMIN_USERNAME \
  --generate-ssh-keys \
  --public-ip-sku Standard

La création de la machine virtuelle et des ressources de support ne nécessite que quelques minutes. L’exemple de sortie suivant illustre la réussite de l’opération de création d’une machine virtuelle.

{
  "fqdns": "",
  "id": "/subscriptions/<guid>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
  "location": "eastus",
  "macAddress": "00-0D-3A-23-9A-49",
  "powerState": "VM running",
  "privateIpAddress": "10.0.0.4",
  "publicIpAddress": "40.68.254.142",
  "resourceGroup": "myResourceGroup"
}

Notez publicIpAddress afin de pouvoir l’utiliser plus tard.

Vous pouvez récupérer et stocker l’adresse IP dans la variable IP_ADDRESS avec la commande suivante :

export IP_ADDRESS=$(az vm show --show-details --resource-group $RESOURCE_GROUP_NAME --name $VM_NAME --query publicIps --output tsv)

Les informations sur les coûts ne sont pas présentées lors du processus de création de machine virtuelle pour l’interface CLI, 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.

Installer le serveur web

Pour voir votre machine virtuelle en action, installez le serveur web NGINX. Mettez à jour vos sources de package, puis installez le dernier package NGINX. La commande suivante utilise run-command pour exécuter sudo apt-get update && sudo apt-get install -y nginx sur la machine virtuelle :

az vm run-command invoke \
   --resource-group $RESOURCE_GROUP_NAME \
   --name $VM_NAME \
   --command-id RunShellScript \
   --scripts "sudo apt-get update && sudo apt-get install -y nginx"

Ouvrez le port 80 pour le trafic web

Par défaut, seules les connexions SSH sont ouvertes lorsque vous créez une machine virtuelle Linux dans Azure. Utilisez la commande az vm open-port pour ouvrir le port TCP 80 afin de l’utiliser avec le serveur web NGINX :

az vm open-port --port 80 --resource-group $RESOURCE_GROUP_NAME --name $VM_NAME

Voir le serveur web en action

Utilisez le navigateur web de votre choix pour visualiser la page d’accueil NGINX par défaut. Utilisez l’adresse IP publique de votre machine virtuelle comme adresse web. L’exemple suivant montre le site web NGINX par défaut :

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

Vous pouvez également exécuter la commande suivante pour afficher la page d’accueil NGINX dans le terminal

 curl $IP_ADDRESS

L’exemple suivant montre le site web NGINX par défaut dans le terminal en tant que sortie réussie :

<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>
    body {
        width: 35em;
        margin: 0 auto;
        font-family: Tahoma, Verdana, Arial, sans-serif;
    }
</style>
</head>
<body>
<h1>Welcome to nginx!</h1>
<p>If you see this page, the nginx web server is successfully installed and
working. Further configuration is required.</p>

<p>For online documentation and support please refer to
<a href="http://nginx.org/">nginx.org</a>.<br/>
Commercial support is available at
<a href="http://nginx.com/">nginx.com</a>.</p>

<p><em>Thank you for using nginx.</em></p>
</body>
</html>

Nettoyer les ressources

Lorsque vous n’en avez plus besoin, vous pouvez utiliser la commande az group delete pour supprimer le groupe de ressources, la machine virtuelle et toutes les ressources associées.

az group delete --name $RESOURCE_GROUP_NAME --no-wait --yes --verbose

Étapes suivantes

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