Verwenden Sie eine Azure Resource Manager-Vorlage zum Bereitstellen und Verbinden einer Azure-VM mit Azure Arc.

Dieser Artikel enthält eine Anleitung zum Verwenden einer Azure Resource Manager-Vorlage (ARM-Vorlage) zum automatischen Integrieren eines virtuellen Azure-Computers (Azure-VM) in Azure Arc. Mit der bereitgestellten ARM-Vorlage werden die Azure-Ressourcen erstellt und das Azure Arc-Onboarding-Skript auf der VM ausgeführt.

Auf Azure-VMs wird standardmäßig Azure Instance Metadata Service (IMDS) verwendet. Wenn Sie eine Azure-VM als Server mit Azure Arc-Unterstützung projizieren, entsteht ein Konflikt, durch den verhindert wird, dass die Azure Arc-Serverressourcen bei Verwendung von IMDS als Einheit dargestellt werden. Stattdessen „fungiert“ der Azure Arc-Server weiterhin als native Azure-VM.

In diesem Leitfaden können Sie Azure-VMs nur zu Demonstrationszwecken verwenden und in Azure Arc integrieren. Sie haben die Möglichkeit, einen Server zu simulieren, der außerhalb von Azure bereitgestellt wird, z. B. lokal oder auf anderen Cloudplattformen.

Hinweis

Es wird nicht davon ausgegangen, dass es sich bei einem virtuellen Azure-Computer um einen Server mit Azure Arc-Unterstützung handelt. Das folgende Szenario wird nicht unterstützt und sollte nur zu Demonstrations- und Testzwecken verwendet werden.

Voraussetzungen

  1. Klonen Sie das Repository für den Schnelleinstieg in Azure Arc.

    git clone https://github.com/microsoft/azure_arc.git
    
  2. Installieren oder aktualisieren Sie die Azure CLI auf mindestens Version 2.7. Überprüfen Sie mit dem folgenden Befehl die aktuell installierte Version.

    az --version
    
  3. Azure-Abonnement: Wenn Sie nicht über ein Azure-Abonnement verfügen, können Sie ein kostenloses Azure-Konto erstellen.

  4. Erstellen Sie einen Azure-Dienstprinzipal.

    Damit Sie die Azure-Ressourcen mithilfe der ARM-Vorlage bereitstellen können, ist ein Azure-Dienstprinzipal erforderlich, dem die Rolle „Mitwirkender“ zugewiesen ist. Zum Erstellen dieses Dienstprinzipals melden Sie sich bei Ihrem Azure-Konto an und führen den folgenden Befehl aus. Sie können diesen Befehl auch in Azure Cloud Shell ausführen.

    az login
    az account set -s <Your Subscription ID>
    az ad sp create-for-rbac -n "<Unique SP Name>" --role contributor --scopes "/subscriptions/<Your Subscription ID>"
    

    Beispiel:

    az ad sp create-for-rbac -n "http://AzureArcServers" --role contributor --scopes "/subscriptions/00000000-0000-0000-0000-000000000000"
    

    Die Ausgabe sollte wie folgt aussehen:

    {
      "appId": "XXXXXXXXXXXXXXXXXXXXXXXXXXXX",
      "displayName": "http://AzureArcServers",
      "password": "XXXXXXXXXXXXXXXXXXXXXXXXXXXX",
      "tenant": "XXXXXXXXXXXXXXXXXXXXXXXXXXXX"
    }
    

    Hinweis

    Es wird dringend empfohlen, dass Sie für den Dienstprinzipal ein bestimmtes Azure-Abonnement und eine bestimmte Ressourcengruppe festlegen.

Automatisierungsflow

Im Folgenden wird der Ablauf der Automatisierung und Bereitstellung erläutert.

  1. Ein Benutzer bearbeitet die Parameterdatei der ARM-Vorlage (eine einmalige Bearbeitung). Diese Parameterwerte werden für die gesamte Bereitstellung verwendet.

  2. Die ARM-Vorlage enthält eine benutzerdefinierte Azure-VM-Skripterweiterung, mit der das PowerShell-Skript install_arc_agent.ps1 bereitgestellt wird.

  3. Damit die Azure-VM erfolgreich als Server mit Azure Arc-Unterstützung projiziert werden kann, wird mit dem Skript Folgendes durchgeführt:

    1. Festlegen von lokalen Betriebssystemumgebungsvariablen.

    2. Generieren eines lokalen Betriebssystem-Anmeldeskripts mit dem Namen LogonScript.ps1. Mit diesem Skript werden folgende Vorgänge durchgeführt:

      • Die Datei LogonScript.log wird erstellt.

      • Beenden und Deaktivieren des Windows Azure-Gast-Agent-Diensts.

      • Erstellen einer neuen Windows-Firewallregel, um ausgehenden Datenverkehr von Azure IMDS an die Remoteadresse 169.254.169.254 zu blockieren.

      • Aufheben der Registrierung des geplanten Anmeldeskript-Windows-Tasks, damit er nach der ersten Anmeldung nicht ausgeführt werden kann.

    3. Deaktivieren des Windows Server-Managers und Verhindern seiner Ausführung beim Start.

  4. Ein Benutzer stellt über RDP eine Verbindung mit dem virtuellen Windows-Computer her, der die Ausführung von LogonScript.ps1 startet und die VM in Azure Arc integriert.

Bereitstellung

Wie zuvor erwähnt, werden bei dieser Bereitstellung ARM-Vorlagen verwendet. Sie stellen eine einzelne Vorlage bereit, mit der alle Azure-Ressourcen in einer einzelnen Ressourcengruppe erstellt werden und die erstellte VM in Azure Arc integriert wird.

  1. Melden Sie sich vor dem Bereitstellen der ARM-Vorlage über Azure CLI mit dem Befehl az login an.

  2. Bei der Bereitstellung wird die Parameterdatei der ARM-Vorlage verwendet. Bearbeiten Sie vor dem Initiieren der Bereitstellung die Datei azuredeploy.parameters.json im Ordner des lokalen geklonten Repository. Eine Beispielparameterdatei finden Sie hier.

  3. Navigieren Sie zum Bereitstellen der ARM-Vorlage zum lokalen geklonten Bereitstellungsordner, und führen Sie den folgenden Befehl aus:

    az group create --name <Name of the Azure resource group> --location <Azure Region> --tags "Project=jumpstart_azure_arc_servers"
    az deployment group create \
    --resource-group <Name of the Azure resource group> \
    --name <The name of this deployment> \
    --template-uri https://raw.githubusercontent.com/microsoft/azure-arc/main/azure_arc_servers_jumpstart/azure/windows/arm_template/azuredeploy.json \
    --parameters <The `azuredeploy.parameters.json` parameters file location>
    

    Hinweis

    Verwenden Sie unbedingt denselben Azure-Ressourcengruppennamen, der in der Datei azuredeploy.parameters.json verwendet wurde.

    Beispiel:

    az group create --name Arc-Servers-Win-Demo --location "East US" --tags "Project=jumpstart_azure_arc_servers"
    az deployment group create \
    --resource-group Arc-Servers-Win-Demo \
    --name arcwinsrvdemo \
    --template-uri https://raw.githubusercontent.com/microsoft/azure-arc/main/azure_arc_servers_jumpstart/azure/windows/arm_template/azuredeploy.json \
    --parameters azuredeploy.parameters.json
    
  4. Nachdem die Azure-Ressourcen bereitgestellt wurden, werden sie im Azure-Portal angezeigt.

    A screenshot of an output from an ARM template.

    A screenshot resources in the resource group.

Windows-Anmeldung und Vorgehensweise nach der Bereitstellung

  1. Nachdem die Windows Server-VM erstellt wurde, wird im nächsten Schritt eine Verbindung mit ihr hergestellt. Verwenden Sie die zugehörige öffentliche IP-Adresse, um eine RDP-Verbindung mit der VM herzustellen.

    A screenshot of an Azure VM public IP address.

  2. Bei der ersten Anmeldung wird wie im Abschnitt Automatisierungsflow beschrieben ein Anmeldeskript ausgeführt. Dieses Skript wird als Teil des automatisierten Bereitstellungsprozesses erstellt.

  3. Führen Sie das Skript aus, und schließen Sie die PowerShell-Sitzung nicht. Die Sitzung wird nach Abschluss des Vorgangs automatisch geschlossen.

    Hinweis

    Die Ausführungszeit des Skripts beträgt ca. 1-2 Minuten.

    A screenshot of one type of script output.

    A screenshot of a second type of script output.

    A screenshot of a third type of script output.

    A screenshot of a fourth type of script output.

  4. Nach erfolgreichem Abschluss wird ein neuer Server mit Azure Arc-Unterstützung in der Ressourcengruppe hinzugefügt.

A screenshot of a resource group from an Azure Arc-enabled server.

A screenshot of details from an Azure Arc-enabled server.

Cleanup

Zum Löschen der gesamten Bereitstellung löschen Sie die Ressourcengruppe im Azure-Portal.

A screenshot of how to delete the resource group.