Exercice - Déployer un groupe identique dans le portail Azure

Effectué

Dans ce scénario, vous avez décidé d’utiliser un groupe identique pour exécuter l’application web de l’entreprise de transport. L’utilisation d’un groupe identique permet à l’entreprise de transport de conserver des temps de réponse courts pour les utilisateurs à mesure que la charge de travail varie.

La première tâche consiste à créer un groupe identique. Vous le configurez pour exécuter un serveur Web, dans ce cas nginx. Après avoir correctement configuré le groupe identique, vous déployez votre application web. Vous configurez ensuite une sonde d’intégrité utilisée par Azure pour vérifier la disponibilité de chaque machine virtuelle dans le groupe identique. Enfin, vous testez le groupe identique en envoyant des demandes à partir d’un navigateur web.

Notes

Cet exercice est facultatif. Si vous n’avez pas de compte Azure, vous pouvez lire les instructions afin de comprendre comment utiliser l’API REST pour récupérer des métriques.

Si vous voulez effectuer cet exercice, mais que vous ne disposez pas d’un abonnement Azure, ou si vous préférez ne pas utiliser votre propre compte, créez un compte gratuit avant de commencer.

Déployer un groupe de machines virtuelles identiques

  1. Connectez-vous au portail Azure et ouvrez Azure Cloud Shell.

  2. Dans Cloud Shell, démarrez l’éditeur de code et créez un fichier nommé cloud-init.yaml.

    code cloud-init.yaml
    
  3. Ajoutez le texte suivant au fichier :

    #cloud-config
    package_upgrade: true
    packages:
      - nginx
    write_files:
      - owner: www-data:www-data
      - path: /var/www/html/index.html
        content: |
            Hello world from Virtual Machine Scale Set !
    runcmd:
      - service nginx restart
    

    Ce fichier contient les informations de configuration pour installer nginx sur les machines virtuelles du groupe identique.

  4. Appuyez sur Ctrl+S pour enregistrer le fichier, puis sur Ctrl+Q pour fermer l’éditeur de code.

  5. Utilisez la commande suivante afin de créer un groupe de ressources nommé scalesetrg pour votre groupe identique :

    az group create --location eastus --name myResourceGroup
    
  6. Exécutez la commande suivante pour créer le groupe de machines virtuelles identiques :

    az vmss create \
      --resource-group myResourceGroup \
      --name webServerScaleSet \
      --image Ubuntu2204 \
      --upgrade-policy-mode automatic \
      --custom-data cloud-init.yaml \
      --admin-username azureuser \
      --generate-ssh-keys
    

    Par défaut, le nouveau groupe de machines virtuelles identiques a deux instances et un équilibreur de charge.

    Notes

    L’indicateur custom-data spécifie que la configuration de la machine virtuelle doit utiliser les paramètres du fichier cloud-init.yaml après la création de la machine virtuelle. Vous pouvez utiliser un fichier cloud-init pour installer des packages supplémentaires, configurer la sécurité et écrire dans des fichiers lors de l’installation initiale de la machine.

    Pour plus d’informations, consultez Prise en charge de cloud-init pour les machines virtuelles dans Azure.

Configurer le groupe de machines virtuelles identiques

  1. Exécutez la commande suivante pour ajouter une sonde d’intégrité à l’équilibreur de charge :

    az network lb probe create \
      --lb-name webServerScaleSetLB \
      --resource-group myResourceGroup \
      --name webServerHealth \
      --port 80 \
      --protocol Http \
      --path /
    

    La sonde d’intégrité effectue un test ping à la racine du site web via le port 80. Si le site web ne répond pas, le serveur est considéré comme indisponible. L’équilibreur de charge ne route pas de trafic vers le serveur.

  2. Exécutez la commande suivante pour configurer l’équilibreur de charge de façon à router le trafic HTTP vers les instances du groupe identique :

    az network lb rule create \
      --resource-group myResourceGroup \
      --name webServerLoadBalancerRuleWeb \
      --lb-name webServerScaleSetLB \
      --probe-name webServerHealth \
      --backend-pool-name webServerScaleSetLBBEPool \
      --backend-port 80 \
      --frontend-ip-name loadBalancerFrontEnd \
      --frontend-port 80 \
      --protocol tcp
    

Tester le groupe de machines virtuelles identiques

  1. Dans le portail Azure, sur la gauche, sélectionnez Groupes de ressources>scalesetrg.

  2. Sélectionnez le groupe de machines virtuelles identiques webServerScaleSet.

  3. Dans la page Vue d’ensemble, notez l’adresse IP publique du groupe de machines virtuelles identiques.

    Capture d’écran du portail Azure montrant la page Vue d’ensemble du groupe de machines virtuelles identiques.

  4. Dans Paramètres, sélectionnez Instances. Vérifiez que le groupe de machines virtuelles identiques contient deux machines virtuelles en cours d’exécution.

    Capture d’écran du portail Azure montrant les instances du groupe de machines virtuelles identiques.

  5. Sélectionnez une instance, puis accédez à l’onglet Propriétés. Vérifiez que les machines virtuelles exécutent Ubuntu Linux.

    Capture d’écran du portail Azure montrant le système d’exploitation du groupe de machines virtuelles identiques.

  6. Dans votre navigateur web, accédez à l’adresse IP publique du groupe de machines virtuelles identiques. Vérifiez que le message Hello World from Virtual Machine Scale Set ! apparaît.

    Capture d’écran de l’application web s’exécutant dans un navigateur web avec le message souhaité.