Exercice - Configurer une plateforme DSC et un état souhaité

Effectué

Dans cet exercice, vous allez créer un compte Azure Automation et charger une DSC PowerShell. Ensuite, vous allez intégrer une machine virtuelle existante dans Azure Automation. Enfin, vous allez vérifier si la machine virtuelle est manquante du IIS. Si c’est le cas, vous allez exécuter du code pour installer et configurer IIS sur la machine virtuelle.

Créer une machine virtuelle

Commencez par déployer une nouvelle machine virtuelle à partir d’une image Windows Server 2022.

  1. Dans le volet Azure Cloud Shell à droite, exécutez les commandes suivantes pour créer un nom d’utilisateur et générer un mot de passe aléatoire :

    USERNAME=azureuser
    PASSWORD=$(openssl rand -base64 32)
    
  2. Exécutez la commande suivante dans Cloud Shell pour créer une machine virtuelle :

    az vm create \
      --resource-group "<rgn>[Sandbox resource group name]</rgn>" \
      --name myVM \
      --image win2019datacenter \
      --admin-username $USERNAME \
      --admin-password $PASSWORD
    

    La création de la machine virtuelle et des ressources de support ne prend que quelques minutes. Si la machine virtuelle est créée avec succès, vous devez obtenir une sortie semblable à celle-ci :

    {
      "fqdns": "",
      "id": "/subscriptions/<guid>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
      "location": "eastus",
      "macAddress": "00-0D-3A-36-BA-28",
      "powerState": "virtual machine running",
      "privateIpAddress": "10.0.0.4",
      "publicIpAddress": "104.40.69.56",
      "resourceGroup": "myResourceGroup"
    }
    
  3. Copiez la publicIpAddress dans cette sortie et enregistrez-la. Plus loin dans l’exercice, vous utiliserez cette adresse pour accéder à la machine virtuelle.

  4. Exécutez la commande suivante dans Cloud Shell pour ouvrir le port 80 de votre machine virtuelle pour le trafic web :

    az vm open-port \
      --port 80 \
      --resource-group "<rgn>[Sandbox resource group name]</rgn>" \
      --name myVM
    
  5. Dans votre navigateur web, accédez à l’adresse IP publique de votre machine virtuelle http://[public-ip]. Bien que le port 80 soit ouvert, votre connexion doit expirer avec This site can't be reached. Cette erreur se produit car IIS n’est pas déployé sur votre machine virtuelle. Nous corrigerons ce problème plus loin dans cet exercice.

Créer un compte Azure Automation

  1. Connectez-vous au portail Azure en utilisant le compte que vous avez utilisé pour activer le bac à sable.

  2. Dans le menu de la ressource sur le portail Azure ou dans la page Accueil, sélectionnez Créer une ressource. Le volet Créer une ressource apparaît.

  3. Dans la zone de texte Rechercher dans les services et la Place de marché, entrez Automation, puis sélectionnez Entrée pour afficher les résultats de la recherche.

  4. Dans les résultats de la recherche Automation, sélectionnez le service Azure Automation publié par Microsoft.

  5. Sélectionnez Créer. Le volet Créer un compte Automation s’affiche.

  6. Entrez les valeurs suivantes pour chaque paramètre.

    Paramètre Valeur
    Abonnement Abonnement Concierge
    Groupe de ressources Sélectionnez le groupe de ressources existant dans la liste déroulante
    Nom Entrez un nom pour votre compte Automation. Nous vous suggérons d’utiliser [vos initiales]-automation-account. Utilisez ce nom partout où vous voyez [nom_de_votre_compte_automation] dans cet exercice.
    Région Accepter l’emplacement par défaut
  7. Sélectionnez Vérifier + créer, puis Créer. Attendez que le compte Automation soit déployé.

  8. Une fois le déploiement terminé, sélectionnez Accéder à la ressource. Le volet Compte Automation pour votre ressource s’affiche.

Créer un script de configuration DSC

  1. Dans Cloud Shell, exécutez la commande suivante pour démarrer une session PowerShell :

    pwsh
    
  2. À l’invite PowerShell, exécutez la commande suivante pour ouvrir un nouveau fichier nommé MyDscConfiguration.ps1 dans l’éditeur de code.

    code $HOME/MyDscConfiguration.ps1
    
  3. Entrez le bloc de code suivant dans le fichier. Ce code crée une configuration pour installer IIS s’il n’est pas déjà installé. Le code exécute ensuite le script pour compiler la configuration.

    Configuration MyDscConfiguration {
      Node "localhost" {
        WindowsFeature MyFeatureInstance {
          Ensure = 'Present'
          Name = 'Web-Server'
        }
      }
    }
    
  4. Sélectionnez Ctrl+S pour enregistrer le fichier dans votre répertoire de base, puis Ctrl+Q pour fermer l’éditeur.

  5. Dans votre session PowerShell dans Azure Cloud Shell, entrez le code suivant, en remplaçant [your-automation-account-name] par le nom de votre ressource de compte Automation, pour charger le script DSC dans votre compte Azure Automation.

    Import-AzAutomationDscConfiguration `
        -Published `
        -ResourceGroupName <rgn>[Sandbox resource group name]</rgn> `
        -SourcePath $HOME/MyDscConfiguration.ps1 `
        -Force `
        -AutomationAccountName [your-automation-account-name]
    

    La commande doit produire une sortie similaire au texte suivant :

    ResourceGroupName     : <rgn>[Sandbox resource group name]</rgn>
    AutomationAccountName : [your-automation-account-name]
    Location              : eastus
    State                 : Published
    Name                  : MyDscConfiguration
    Tags                  : {}
    CreationTime          : 6/25/21 5:44:36 PM +00:00
    LastModifiedTime      : 6/25/21 5:44:36 PM +00:00
    Description           :
    Parameters            : {}
    LogVerbose            : False
    

Ajouter les modules requis (facultatif)

Avant de charger votre script de configuration DSC, importez les modules PowerShell dont le processus DSC a besoin. Notre configuration n’a pas besoin d’autres modules, nous pouvons donc ignorer cette étape. Si vous avez besoin d’importer ou d’ajouter des modules dans votre compte Automation, vous accédez à votre compte Automation dans le portail Azure. À partir de là, vous devez sélectionner modules dans le titre Ressources partagées sur la gauche, puis sélectionner Ajouter un module.

Compiler le script DSC

  1. Dans le portail Azure, le volet Vue d’ensemble de votre compte Azure Automation doit toujours être affiché.

  2. Dans le menu Compte Automation, sous Gestion de la configuration, sélectionnez Configuration d’état (DSC). Le volet Configuration d’état (DSC) de votre compte d’automatisation apparaît.

  3. Sélectionnez l’onglet Configurations. Vérifiez que la configuration MyDscConfiguration s’affiche, puis sélectionnez-la. Le volet de configuration MyDscConfiguration apparaît.

    Capture d’écran du Portail Azure, montrant les configurations d’état disponibles dans le volet Configuration d’état (DSC).

  4. Dans la barre de commandes, sélectionnez Compiler.

  5. Dans la boîte de dialogue Compiler la configuration DSC, sélectionnez Oui.

  6. Vérifiez vos notifications (l’icône Notifications se trouve dans les contrôles globaux dans l’en-tête de page). Attendez que le travail de compilation affiche 'état de terminé, ce qui peut prendre plusieurs minutes.

    Remarque

    Vous devrez peut-être actualiser pour voir la modification de l’état. Pour actualiser, dans la barre de navigation en haut à gauche du portail Azure, sélectionnez votre compte Automation. Le volet Configuration d’état (DSC) s’affiche. Dans la barre de menus supérieure, sélectionnez Actualiser. Ensuite, sélectionnez la configuration MyDscConfiguration dans la liste pour revenir au volet MyDscConfiguration. Sous l’onglet Travaux de compilation, le Statut doit maintenant être Terminé.

    Capture d’écran du Portail Azure montrant l’état du travail de compilation pour la configuration.

  7. Lorsque la compilation est terminée, fermez le volet MyDscConfiguration. Le volet Configuration d’état (DSC) s’affiche.

Inscrire la machine virtuelle auprès de votre compte Azure Automation

  1. Dans le volet Configuration de l’état (DSC) de nom-de-votre-compte-automation, sélectionnez l’onglet Nœuds, puis dans la barre de menus supérieure, sélectionnez Ajouter. Le volet Machines Virtuelles de votre compte Automation apparaît.

    Capture d’écran du Portail Azure, montrant le volet Nœuds.

  2. Sélectionnez la machine virtuelle que vous avez créée lors de la première tâche de cet exercice : myVM. La propagation de la configuration et de la machine virtuelle sur le réseau peut prendre jusqu’à 10 minutes. Si la machine virtuelle n’est pas répertoriée, attendez quelques minutes, puis sélectionnez Actualiser dans la barre de commandes de la page jusqu’à ce qu’elle apparaisse.

  3. Dans la barre de commandes, sélectionnez Se connecter. Le volet Inscription s’affiche.

    Capture d’écran du Portail Azure, montrant le volet Machines virtuelles.

  4. Entrez les valeurs suivantes pour chaque paramètre.

    Paramètre Valeur
    Nom de la configuration de nœuds Dans la liste déroulante, sélectionnez MyDscConfiguration.localhost.
    Fréquence d’actualisation 30
    Fréquence du mode de configuration 15
    Mode de configuration ApplyAndMonitor
    Autoriser le remplacement des modules Sélectionner une case à cocher
    Redémarrer le nœud si nécessaire Sélectionner une case à cocher
    Action après redémarrage ContinueConfiguration
  5. Sélectionnez OK.

  6. Attendez que la machine virtuelle soit connectée. Ce processus peut prendre quelques minutes. Lorsque votre myVM est connecté, dans le chemin de navigation en haut à gauche du portail, sélectionnez votre compte Automation pour fermer le d’inscription et volet Machines virtuelles . Le volet Configuration d’état (DSC) de votre compte d’automatisation apparaît.

  7. Dans la barre de commandes, sélectionnez Actualiser.

  8. Vérifiez que le nœud myVM apparaît dans la liste et que son état est Conforme.

    Capture d’écran du Portail Azure, montrant le volet Nœuds où myVM est inscrite.

Vérifier qu’IIS est installé sur la machine virtuelle

Dans votre navigateur web, accédez à http://[public-ip], où [public-ip] est l’adresse IP publique que vous avez enregistrée plus tôt dans cet exercice.

Vous devez voir la page web IIS par défaut. Capture d’écran du navigateur web, montrant le volet IIS par défaut.

Félicitations ! Vous avez déployé IIS avec succès. Azure Automation a utilisé le script PowerShell DSC que vous avez chargé sur votre compte Azure Automation.