Använda en Azure Resource Manager-mall för att distribuera och ansluta en virtuell Azure-dator till Azure Arc

Den här artikeln innehåller vägledning om hur du använder en Azure Resource Manager-mall (ARM-mall) för att automatiskt registrera en virtuell Azure-dator (Virtuell Azure-dator) som kör Windows till Azure Arc. Den angivna ARM-mallen ansvarar för att skapa Azure-resurserna och köra Azure Arc-registreringsskriptet på den virtuella datorn.

Virtuella Azure-datorer använder Azure Instance Metadata Service (IMDS) som standard. Genom att projicera en virtuell Azure-dator som en Azure Arc-aktiverad server skapas en konflikt som inte tillåter att Azure Arc-serverresurserna representeras som en när IMDS används. I stället kommer Azure Arc-servern fortfarande att "fungera" som en intern virtuell Azure-dator.

Med den här guiden kan du endast använda och registrera virtuella Azure-datorer i Azure Arc i demosyfte. Du kan simulera en server som distribueras utanför Azure, till exempel lokalt eller på andra molnplattformar.

Kommentar

En virtuell Azure-dator förväntas inte vara en Azure Arc-aktiverad server. Följande scenario stöds inte och bör endast användas för demo- och testningsändamål.

Förutsättningar

  1. Klona Azure Arc Jumpstart-lagringsplatsen.

    git clone https://github.com/microsoft/azure_arc.git
    
  2. Installera eller uppdatera Azure CLI till version 2.7 och senare. Använd följande kommando för att kontrollera den aktuella installerade versionen.

    az --version
    
  3. Azure-prenumeration: Om du inte har en Azure-prenumeration kan du skapa ett kostnadsfritt Azure-konto.

  4. Skapa ett Huvudnamn för Azure-tjänsten.

    För att du ska kunna distribuera Azure-resurserna med hjälp av ARM-mallen krävs ett Azure-tjänsthuvudnamn som tilldelats rollen Deltagare. Om du vill skapa det loggar du in på ditt Azure-konto och kör följande kommando. Du kan också köra det här kommandot i 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>"
    

    Till exempel:

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

    Resultatet bör se ut så här:

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

    Kommentar

    Vi rekommenderar starkt att du omfånget tjänstens huvudnamn till en specifik Azure-prenumeration och resursgrupp.

Automationsflöde

Nedan visas en förklaring för att bekanta dig med automatiserings- och distributionsflödet.

  1. En användare redigerar ARM-mallparametrarnas fil (en engångsredigering). Dessa parametervärden används under hela distributionen.

  2. ARM-mallen innehåller ett anpassat skripttillägg för virtuella Azure-datorer som distribuerar install_arc_agent.ps1 PowerShell-skriptet.

  3. För att den virtuella Azure-datorn ska kunna projiceras som en Azure Arc-aktiverad server kommer skriptet att:

    1. Ange lokala os-miljövariabler.

    2. Generera ett lokalt os-inloggningsskript med namnet LogonScript.ps1. Det här skriptet kommer att:

      • LogonScript.log Skapa filen.

      • Stoppa och inaktivera Windows Azure-gästagenttjänsten.

      • Skapa en ny Windows-brandväggsregel för att blockera utgående Azure IMDS-trafik till fjärradressen 169.254.169.254 .

      • Avregistrera inloggningsskriptet Windows schemalagd aktivitet så att den inte körs efter första inloggningen.

    3. Inaktivera och förhindra att Windows Serverhanteraren körs vid start.

  4. En användare ansluter via RDP till den virtuella Windows-datorn, som börjar köra LogonScript.ps1 och registrerar den virtuella datorn till Azure Arc.

Distribution

Som nämnts använder den här distributionen ARM-mallar. Du distribuerar en enda mall som ansvarar för att skapa alla Azure-resurser i en enda resursgrupp och registrera den skapade virtuella datorn i Azure Arc.

  1. Innan du distribuerar ARM-mallen loggar du in på Azure med hjälp av Azure CLI med az login kommandot .

  2. Distributionen använder ARM-mallparametrarfilen. Innan du påbörjar distributionen redigerar du azuredeploy.parameters.json filen som finns i den lokala klonade lagringsplatsens mapp. Här finns en exempelparametrarfil.

  3. Om du vill distribuera ARM-mallen går du till den lokala klonade distributionsmappen och kör följande kommando:

    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>
    

    Kommentar

    Kontrollera att du använder samma Azure-resursgruppnamn som det du använde i azuredeploy.parameters.json filen.

    Till exempel:

    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. När Azure-resurserna har etablerats kan du se dem i Azure-portalen.

    A screenshot of an output from an ARM template.

    A screenshot resources in the resource group.

Windows-inloggning och efterdistribution

  1. Nu när den virtuella Windows Server-datorn har skapats ansluter nästa steg den. Använd dess offentliga IP-adress, RDP till den virtuella datorn.

    A screenshot of an Azure VM public IP address.

  2. Vid den första inloggningen , som nämns i avsnittet Automation-flöde , körs ett inloggningsskript. Det här skriptet skapas som en del av den automatiserade distributionsprocessen.

  3. Låt skriptet köras och stäng inte PowerShell-sessionen. Sessionen stängs automatiskt när den har slutförts.

    Kommentar

    Skriptkörningstiden är ~1–2 minuter lång.

    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. När det är klart läggs en ny Azure Arc-aktiverad server till i resursgruppen.

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

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

Rensa

Ta bort hela distributionen genom att ta bort resursgruppen från Azure-portalen.

A screenshot of how to delete the resource group.