Een Azure Resource Manager-sjabloon gebruiken om een virtuele Azure-machine te implementeren en te verbinden met Azure Arc

Dit artikel bevat richtlijnen voor het gebruik van een Azure Resource Manager-sjabloon (ARM-sjabloon) voor het automatisch onboarden van een virtuele Azure-machine (Azure VM) waarop Windows naar Azure Arc wordt uitgevoerd. De opgegeven ARM-sjabloon is verantwoordelijk voor het maken van de Azure-resources en het uitvoeren van het azure Arc-onboardscript op de VIRTUELE machine.

Azure-VM's maken standaard gebruik van de Azure Instance Metadata Service (IMDS ). Door een Azure-VM als een Server met Azure Arc te projecteren, wordt er een conflict gemaakt, waardoor de Azure Arc-serverbronnen niet als een server kunnen worden weergegeven wanneer de IMDS wordt gebruikt. In plaats daarvan fungeert de Azure Arc-server nog steeds als een systeemeigen Azure-VM.

In deze handleiding kunt u azure-VM's alleen voor demodoeleinden gebruiken en onboarden naar Azure Arc. U kunt een server simuleren die buiten Azure is geïmplementeerd, bijvoorbeeld on-premises of in andere cloudplatforms.

Notitie

Een Azure-VM is naar verwachting geen server met Azure Arc. Het volgende scenario wordt niet ondersteund en mag alleen worden gebruikt voor demo- en testdoeleinden.

Vereisten

  1. Kloon de Azure Arc Jumpstart-opslagplaats.

    git clone https://github.com/microsoft/azure_arc.git
    
  2. Azure CLI installeren of bijwerken naar versie 2.7 en hoger. Gebruik de volgende opdracht om uw huidige geïnstalleerde versie te controleren.

    az --version
    
  3. Azure-abonnement: als u geen Azure-abonnement hebt, kunt u een gratis Azure-account maken.

  4. Maak een Azure-service-principal.

    Als u de Azure-resources wilt implementeren met behulp van de ARM-sjabloon, is een Azure-service-principal vereist die is toegewezen met de rol Inzender. Als u deze wilt maken, meldt u zich aan bij uw Azure-account en voert u de volgende opdracht uit. U kunt deze opdracht ook uitvoeren in Azure Cloud Shell.

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

    Voorbeeld:

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

    De uitvoer moet er ongeveer als volgt uitzien:

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

    Notitie

    We raden u ten zeerste aan om de service-principal te koppelen aan een specifiek Azure-abonnement en een specifieke resourcegroep.

Automatiseringsstroom

Hieronder vindt u een uitleg om vertrouwd te raken met de automatiserings- en implementatiestroom.

  1. Een gebruiker bewerkt het arm-sjabloonparametersbestand (een eenmalige bewerking). Deze parameterwaarden worden tijdens de implementatie gebruikt.

  2. De ARM-sjabloon bevat een aangepaste Azure VM-scriptextensie, waarmee het install_arc_agent.ps1 PowerShell-script wordt geïmplementeerd.

  3. Als u wilt dat de Virtuele Azure-machine kan worden geprojecteerd als een server met Azure Arc, wordt het volgende uitgevoerd:

    1. Stel lokale omgevingsvariabelen voor het besturingssysteem in.

    2. Genereer een lokaal aanmeldingsscript voor het besturingssysteem met de naam LogonScript.ps1. Met dit script wordt het volgende uitgevoerd:

      • Maak het LogonScript.log bestand.

      • Stop en schakel de Windows Azure-gastagentservice uit.

      • Maak een nieuwe Windows Firewall-regel om uitgaand verkeer van Azure IMDS naar het 169.254.169.254 externe adres te blokkeren.

      • Hef de registratie van de geplande windows-taak op, zodat deze niet meer wordt uitgevoerd na de eerste aanmelding.

    3. Schakel Windows Serverbeheer uit en voorkom dat deze wordt uitgevoerd bij het opstarten.

  4. Een gebruiker maakt verbinding via RDP met de Windows-VM, die de VIRTUELE machine start LogonScript.ps1 en onboardt naar Azure Arc.

Implementatie

Zoals vermeld, gebruikt deze implementatie ARM-sjablonen. U implementeert één sjabloon, die verantwoordelijk is voor het maken van alle Azure-resources in één resourcegroep en het onboarden van de gemaakte VM naar Azure Arc.

  1. Voordat u de ARM-sjabloon implementeert, meldt u zich aan bij Azure met behulp van Azure CLI met de az login opdracht.

  2. De implementatie maakt gebruik van het parameterbestand van de ARM-sjabloon. Voordat u de implementatie start, bewerkt u het bestand in de azuredeploy.parameters.json map met de lokale gekloonde opslagplaats. Hier bevindt zich een voorbeeld van een parameterbestand.

  3. Als u de ARM-sjabloon wilt implementeren, gaat u naar de lokale gekloonde implementatiemap en voert u de volgende opdracht uit:

    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>
    

    Notitie

    Zorg ervoor dat u dezelfde Naam van de Azure-resourcegroep gebruikt als de naam die u in het azuredeploy.parameters.json bestand hebt gebruikt.

    Voorbeeld:

    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. Zodra de Azure-resources zijn ingericht, kunt u deze zien in Azure Portal.

    A screenshot of an output from an ARM template.

    A screenshot resources in the resource group.

Windows-aanmelding en -post-implementatie

  1. Nu de Virtuele Windows Server-machine is gemaakt, wordt deze door de volgende stap verbonden. Met behulp van het openbare IP-adres, RDP naar de VIRTUELE machine.

    A screenshot of an Azure VM public IP address.

  2. Wanneer u zich voor het eerst aanmeldt, zoals vermeld in de sectie Automation-stroom , wordt er een aanmeldingsscript uitgevoerd. Dit script wordt gemaakt als onderdeel van het geautomatiseerde implementatieproces.

  3. Laat het script uitvoeren en sluit de PowerShell-sessie niet. De sessie wordt automatisch voor u gesloten zodra deze is voltooid.

    Notitie

    De uitvoeringstijd van het script duurt ongeveer 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. Na een geslaagde voltooiing wordt een nieuwe server met Azure Arc toegevoegd aan de resourcegroep.

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

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

Opschonen

Als u de hele implementatie wilt verwijderen, verwijdert u de resourcegroep uit Azure Portal.

A screenshot of how to delete the resource group.