Übung: Einrichten von DSC und Konfigurieren eines gewünschten Zustands

Abgeschlossen

In dieser Übung erstellen Sie ein Azure Automation-Konto und laden eine PowerShell DSC-Instanz hoch. Dann führen Sie für eine vorhandene VM ein Onboarding in Azure Automation durch. Abschließend überprüfen Sie, ob IIS auf der VM nicht vorhanden ist. Wenn dies der Fall ist, führen Sie den Code zur Installation und Konfiguration von IIS auf der VM aus.

Erstellen eines virtuellen Computers (VM)

Beginnen Sie, indem Sie einen neuen virtuellen Computer aus einem Windows Server 2022-Image bereitstellen.

  1. Führen Sie im Azure Cloud Shell-Bereich auf der rechten Seite die folgenden Befehle aus, um einen Benutzernamen zu erstellen und ein zufälliges Kennwort zu generieren:

    USERNAME=azureuser
    PASSWORD=$(openssl rand -base64 32)
    
  2. Führen Sie den folgenden Befehl in Cloud Shell aus, um eine VM zu erstellen:

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

    Das Erstellen des virtuellen Computers und der unterstützenden Ressourcen dauert einige Minuten. Wenn der virtuelle Computer erfolgreich erstellt wurde, sollte folgende Ausgabe angezeigt werden:

    {
      "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. Kopieren Sie die publicIpAddress aus dieser Ausgabe, und speichern Sie sie. Später in der Übung verwenden Sie diese Adresse, um auf die VM zuzugreifen.

  4. Führen Sie den folgenden Befehl in Cloud Shell aus, um Port 80 auf der VM für Webdatenverkehr zu öffnen:

    az vm open-port \
      --port 80 \
      --resource-group "<rgn>[Sandbox resource group name]</rgn>" \
      --name myVM
    
  5. Navigieren Sie in Ihrem Webbrowser zur öffentlichen IP-Adresse des virtuellen Computers http://[public-ip]. Obwohl der Port 80 geöffnet ist, sollte für Ihre Verbindung ein Timeout mit dem Hinweis auftreten, dass diese Website nicht erreichbar ist (This site can't be reached). Dieser Fehler tritt auf, da IIS auf Ihrer VM nicht bereitgestellt wurde. Dieses Problem wird später in dieser Übung behoben.

Erstellen eines Azure Automation-Kontos

  1. Melden Sie sich im Azure-Portal mit demselben Konto an, das Sie zum Aktivieren der Sandbox verwendet haben.

  2. Klicken Sie im Ressourcenmenü des Azure-Portals oder auf der Startseite auf Ressource erstellen. Der Bereich Ressource erstellen wird angezeigt.

  3. Geben Sie im Textfeld Suchdienste und Marketplace die Zeichenfolge Automation ein, und wählen Sie dann die EINGABETASTE aus, um die Suchergebnisse anzuzeigen.

  4. Wählen Sie in den Suchergebnissen für Automation den von Microsoft veröffentlichten Azure-Dienst Automation aus.

  5. Klicken Sie auf Erstellen. Der Bereich Automation-Konto erstellen wird angezeigt.

  6. Füllen Sie die folgenden Werte für jede Einstellung aus.

    Einstellung Wert
    Subscription Concierge-Abonnement
    Ressourcengruppe Wählen Sie in der Dropdownliste die vorhandene Ressourcengruppe aus.
    Name Geben Sie einen Namen für Ihr Automation-Konto ein. Wir empfehlen, [Ihre Initialen]-automation-account als Namen zu verwenden. Verwenden Sie diesen Namen immer, wenn in dieser Übung [Name_Ihres_Automation-Kontos] angezeigt wird.
    Region Akzeptieren Sie den Standardort.
  7. Wählen Sie Überprüfen + erstellen und dann Erstellen aus. Warten Sie, bis das Automation-Konto bereitgestellt wurde.

  8. Klicken Sie nach Abschluss der Bereitstellung auf Zu Ressource wechseln. Der Bereich Automation-Konto für Ihre Ressource wird angezeigt.

Erstellen eines DSC-Konfigurationsskripts

  1. Führen Sie in Cloud Shell den folgenden Befehl aus, um eine PowerShell-Sitzung zu starten:

    pwsh
    
  2. Führen Sie an der PowerShell-Eingabeaufforderung den folgenden Befehl aus, um eine neue Datei mit dem Namen MyDscConfiguration.ps1 im Code-Editor zu öffnen:

    code $HOME/MyDscConfiguration.ps1
    
  3. Fügen Sie den folgenden Codeblock in die Datei ein. Mit diesem Code wird eine Konfiguration für die Installation von IIS erstellt, sofern IIS noch nicht installiert sind. Der Code führt dann das Skript aus, um die Konfiguration zu kompilieren.

    Configuration MyDscConfiguration {
      Node "localhost" {
        WindowsFeature MyFeatureInstance {
          Ensure = 'Present'
          Name = 'Web-Server'
        }
      }
    }
    
  4. Drücken Sie STRG+S, um die Datei in Ihrem Basisverzeichnis zu speichern, und drücken Sie anschließend STRG+Q, um den Editor zu schließen.

  5. Geben Sie in Ihrer PowerShell-Sitzung in Azure Cloud Shell den folgenden Code ein, und ersetzen Sie dabei [your-automation-account-name] durch den Namen Ihrer Automation-Kontoressource, um das DSC-Skript in Ihr Azure Automation-Konto hochzuladen.

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

    Der Befehl sollte eine Ausgabe erzeugen, die etwa folgendermaßen aussieht:

    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
    

Hinzufügen erforderlicher Module (optional)

Nachdem Sie das DSC-Konfigurationsskript hochgeladen haben, importieren Sie alle PowerShell-Module, die für den DSC-Prozess erforderlich sind. Da für unsere Konfiguration keine weiteren Module benötigt werden, können wir diesen Schritt überspringen. Wenn Sie Module in Ihr Automation-Konto importieren oder ihm hinzufügen müssen, wechseln Sie im Azure-Portal zu Ihrem Automation-Konto. Wählen Sie dort auf der linken Seite unter der Überschrift Freigegebene Ressourcen die Option Module und dann Modul hinzufügen aus.

Kompilieren des DSC-Skripts

  1. Im Azure-Portal sollte noch der Bereich Übersicht für Ihr Azure Automation-Konto angezeigt werden.

  2. Wählen Sie im Menü „Automation-Konto“ unter KonfigurationsverwaltungState Configuration (DSC) aus. Der Bereich State configuration (DSC) Ihres Automation-Kontos wird angezeigt.

  3. Wählen Sie die Registerkarte Konfigurationen aus. Prüfen Sie, ob MyDscConfiguration angezeigt wird, und wählen Sie die Konfiguration dann aus. Der Konfigurationsbereich MyDscConfiguration wird angezeigt.

    Screenshot des Azure-Portals mit den verfügbaren Zustandskonfigurationen im Bereich „State Configuration (DSC)“

  4. Wählen Sie in der Befehlsleiste Erstellen aus.

  5. Wählen Sie im Dialogfeld DSC-Konfiguration kompilieren die Option Ja aus.

  6. Überprüfen Sie Ihre Benachrichtigungen (das Symbol Benachrichtigungen befindet sich oben auf der Seite in den globalen Steuerelementen). Warten Sie, bis für den Kompilierungsauftrag unter Status der Wert Abgeschlossen angezeigt wird. Dies kann einige Minuten dauern.

    Hinweis

    Möglicherweise müssen Sie die Ansicht aktualisieren, damit die Statusänderung angezeigt wird. Wählen Sie zum Aktualisieren im Azure-Portal links oben auf der Breadcrumb-Leiste Ihr Automation-Konto aus. Der Bereich State Configuration (DSC) wird angezeigt. Wählen Sie auf der oberen Menüleiste die Option Aktualisieren aus. Wählen Sie dann in der Liste die Konfiguration MyDscConfiguration aus, um zum Bereich MyDscConfiguration zurückzukehren. Auf der Registerkarte Kompilierungsaufträge sollte unter Status jetzt Abgeschlossen angezeigt werden.

    Screenshot des Azure-Portals mit dem Status des Kompilierungsauftrags für die Konfiguration

  7. Schließen Sie nach Abschluss der Kompilierung den Bereich MyDscConfiguration. Der Bereich State Configuration (DSC) wird angezeigt.

Registrieren der VM mit einem Azure Automation-Konto

  1. Wählen Sie im Bereich State Configuration (DSC) für [Name-Ihres-Automation-Kontos] die Registerkarte Knoten aus, und klicken Sie in der Befehlsleiste auf Hinzufügen. Der Bereich Virtuelle Computer für Ihr Automation-Konto wird angezeigt.

    Screenshot des Azure-Portals mit dem Bereich „Knoten“

  2. Wählen Sie die VM myVM aus, die Sie in der ersten Aufgabe dieser Übung erstellt haben. Es kann bis zu 10 Minuten dauern, bis die Konfiguration und der virtuelle Computer im Netzwerk weitergeben werden. Sollte die VM nicht aufgeführt sein, warten Sie einige Minuten, und wählen Sie dann auf der Befehlsleiste Aktualisieren aus, bis sie angezeigt wird.

  3. Wählen Sie in der Befehlsleiste Verbinden aus. Der Bereich Registrierung wird angezeigt.

    Screenshot des Azure-Portals mit dem Bereich „Virtuelle Computer“

  4. Füllen Sie die folgenden Werte für jede Einstellung aus.

    Einstellung Wert
    Name der Knotenkonfiguration Wählen Sie in der Dropdownliste die Option MyDscConfiguration.localhost aus.
    Aktualisierungshäufigkeit 30
    Konfigurationsmodushäufigkeit 15
    Konfigurationsmodus ApplyAndMonitor
    Modulüberschreibung erlauben Aktivieren eines Kontrollkästchens
    Starten Sie den Knoten ggf. neu Aktivieren eines Kontrollkästchens
    Aktion nach Neustart ContinueConfiguration
  5. Klicken Sie auf OK.

  6. Warten Sie, bis die Verbindung zur VM hergestellt wurde. Dies kann einige Minuten dauern. Wenn die VM myVM verbunden ist, wählen Sie links oben im Portal auf der Breadcrumb-Leiste Ihr Automation-Konto aus, um die Bereiche Registrierung und Virtuelle Computer zu schließen. Der Bereich State configuration (DSC) Ihres Automation-Kontos wird angezeigt.

  7. Wählen Sie in der Befehlsleiste Aktualisieren aus.

  8. Stellen Sie sicher, dass der Knoten myVM in der Liste angezeigt wird und als Status Konform festgelegt ist.

    Screenshot des Azure-Portals mit dem Bereich „Knoten“ und der registrierten VM „myVM“

Sicherstellen, dass IIS auf der VM installiert sind

Wechseln Sie in Ihrem Webbrowser zu http://[public-ip], wobei [public-ip] die öffentliche IP-Adresse ist, die Sie zuvor in dieser Übung notiert haben.

Die Standardwebseite für IIS sollte angezeigt werden. Screenshot des Webbrowsers mit dem Standard-IIS-Bereich

Glückwunsch! Sie haben IIS erfolgreich bereitgestellt. Dazu hat Azure Automation das PowerShell-DSC-Skript verwendet, das Sie in Ihr Azure Automation-Konto hochgeladen haben.