Partager via


Démarrage rapide : Créer une machine virtuelle de serveur Linux à l’aide d’Azure CLI dans Azure Stack Hub

Vous pouvez créer une machine virtuelle Ubuntu Server 20.04 LTS à l’aide d’Azure CLI. Dans cet article, vous allez créer et utiliser une machine virtuelle. Cet article vous montre également comment :

  • Se connecter à la machine virtuelle avec un client distant.
  • Installer le serveur web NGINX et afficher la page d’accueil par défaut.
  • Nettoyer les ressources inutiles.

Prérequis

Avant de commencer, vérifiez que vous disposez des conditions préalables suivantes :

  • Une image Linux de la Place de marché Azure Stack Hub

    La Place de marché Azure Stack Hub ne contient pas d’image Linux par défaut. Disposez de l’opérateur Azure Stack Hub pour fournir l’image Ubuntu Server 20.04 LTS dont vous avez besoin. L’opérateur peut utiliser les instructions fournies dans Télécharger des éléments de la Place de marché à partir d’Azure dans Azure Stack Hub.

  • Azure Stack Hub nécessite une version spécifique d’Azure CLI pour créer et gérer ses ressources. Si vous n’avez pas configuré Azure CLI pour Azure Stack Hub, connectez-vous à un client externe Windows si vous êtes connecté par le biais d’un VPN, puis suivez les instructions pour installer et configurer Azure CLI.

  • Une clé SSH publique nommée id_rsa.pub enregistrée dans le répertoire .ssh de votre profil utilisateur Windows. Pour plus d’informations sur la création de clés SSH, consultez Utiliser une paire de clés SSH avec Azure Stack Hub.

Créer un groupe de ressources

Un groupe de ressources est un conteneur logique dans lequel vous pouvez déployer et gérer des ressources Azure Stack Hub. À partir de votre système intégré Azure Stack Hub, exécutez la commande az group create pour créer un groupe de ressources.

Remarque

Nous avons attribué des valeurs pour toutes les variables dans les exemples de code suivants. Toutefois, vous pouvez leur attribuer vos propres valeurs.

L’exemple suivant crée un groupe de ressources nommé myResourceGroup avec un suffixe aléatoire à l’emplacement local :

export RANDOM_SUFFIX=$(openssl rand -hex 3)
export RESOURCE_GROUP="myResourceGroup$RANDOM_SUFFIX"
export LOCATION="eastus2"
az group create --name $RESOURCE_GROUP --location $LOCATION

Résultats :

{
  "id": "/subscriptions/xxxxx/resourceGroups/myResourceGroupxxx",
  "location": "local",
  "managedBy": null,
  "name": "myResourceGroupxxx",
  "properties": {
    "provisioningState": "Succeeded"
  },
  "tags": null,
  "type": "Microsoft.Resources/resourceGroups"
}

Création d'une machine virtuelle

Création d’une machine virtuelle en utilisant la commande az vm create. L’exemple suivant permet de créer une machine virtuelle nommée myVM. L’exemple utilise Demouser comme nom d’utilisateur administrateur. Remplacez ces valeurs par des valeurs convenant à votre environnement.

export VM_NAME="myVM$RANDOM_SUFFIX"
az vm create \
  --resource-group $RESOURCE_GROUP \
  --name $VM_NAME \
  --image "Ubuntu2204" \
  --admin-username "azureuser" \
  --assign-identity \
  --generate-ssh-keys \
  --public-ip-sku Standard \
  --location $LOCATION

Résultats :

{
  "fqdns": "",
  "id": "/subscriptions/xxxxx/resourceGroups/myResourceGroupxxx/providers/Microsoft.Compute/virtualMachines/myVMxxx",
  "location": "local",
  "name": "myVMxxx",
  "osProfile": {
    "computerName": "myVMxxx",
    "adminUsername": "Demouser"
  },
  "publicIpAddress": "x.x.x.x",
  "powerState": "VM running",
  "provisioningState": "Succeeded"
}

L’adresse IP publique est retournée dans le PublicIpAddress paramètre. Notez l’adresse, car nous l’utiliserons plus tard sur la machine virtuelle.

Ouvrez le port 80 pour le trafic web

Étant donné que cette machine virtuelle exécute le serveur web IIS, vous devez ouvrir le port 80 vers le trafic Internet. Pour ouvrir le port, utilisez la commande az vm open-port :

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

Résultats :

{
  "endPort": 80,
  "name": "openPort80",
  "port": 80,
  "protocol": "Tcp",
  "provisioningState": "Succeeded",
  "resourceGroup": "myResourceGroupxxx",
  "startPort": 80
}

Utiliser SSH pour se connecter à la machine virtuelle

À partir d’un ordinateur client disposant de SSH, connectez-vous à la machine virtuelle. Si vous travaillez sur un client Windows, utilisez PuTTY pour créer la connexion. Pour vous connecter à la machine virtuelle, vous pouvez utiliser la ssh commande.

Installer le serveur web NGINX

Pour mettre à jour les ressources du package et installer le dernier package NGINX, exécutez le script suivant :

output=$(az vm run-command invoke --resource-group $RESOURCE_GROUP --name $VM_NAME --command-id RunShellScript --scripts 'apt-get -y install nginx')
value=$(echo "$output" | jq -r '.value[0].message')
extracted=$(echo "$value" | awk '/[stdout]/,/[stderr]/' | sed '/[stdout]/d' | sed '/[stderr]/d')
echo "$extracted"

Afficher la page d’accueil NGINX

Avec le serveur web NGINX installé et le port 80 ouvert sur votre machine virtuelle, vous pouvez accéder au serveur web à l’aide de l’adresse IP publique de la machine virtuelle. Pour cela, ouvrez un navigateur et accédez à http://<public IP address>. Vous pouvez également utiliser la commande curl pour afficher la page d’accueil NGINX :

export PUBLIC_IP=$(az vm show -d -g $RESOURCE_GROUP -n $VM_NAME --query publicIps -o tsv)

output=$(az vm run-command invoke --resource-group $RESOURCE_GROUP --name $VM_NAME --command-id RunShellScript --scripts 'curl -v http://localhost')
value=$(echo "$output" | jq -r '.value[0].message')
extracted=$(echo "$value" | awk '/[stdout]/,/[stderr]/' | sed '/[stdout]/d' | sed '/[stderr]/d')
echo "$extracted"

Résultats :

<!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>

Page d’accueil du serveur web NGINX

Étapes suivantes

Dans ce guide de démarrage rapide, vous avez déployé une machine virtuelle serveur de base sous Linux avec un serveur web. Pour en savoir plus sur les machines virtuelles Azure Stack Hub, consultez Considérations relatives aux machines virtuelles dans Azure Stack Hub.