Använd en Azure Resource Manager mall för att distribuera och ansluta en virtuell Azure-dator till Azure-bågenUse an Azure Resource Manager template to deploy and connect an Azure virtual machine to Azure Arc

Den här artikeln innehåller rikt linjer för hur du använder en Azure Resource Manager mall (arm-mall) för att automatiskt publicera en virtuell Azure-dator (virtuell Azure-dator) som kör Windows till Azure-bågen. Den tillhandahållna ARM-mallen ansvarar för att skapa Azure-resurser och köra Azure Arc onboard-skriptet på den virtuella datorn.This article provides guidance for using an Azure Resource Manager template (ARM template) to automatically onboard an Azure virtual machine (Azure VM) running Windows to Azure Arc. The provided ARM template is responsible for creating the Azure resources and executing the Azure Arc onboard script on the VM.

Virtuella Azure-datorer använder Azure-instance metadata service (IMDS) som standard.Azure VMs are using the Azure Instance Metadata Service (IMDS) by default. Genom att projicera en virtuell Azure-dator som en Azure Arc-aktiverad server, skapas en konflikt som inte tillåter att Azure båg Server-resurserna visas som en när IMDS används.By projecting an Azure VM as an Azure Arc enabled server, a conflict is created, which will not allow for the Azure Arc server resources to be represented as one when the IMDS is being used. I stället fungerar Azure båg-servern fortfarande som en inbyggd virtuell Azure-dator.Instead, the Azure Arc server will still "act" as a native Azure VM.

Den här guiden gör det möjligt att använda och publicera virtuella Azure-datorer till Azure-bågen enbart för demonstrations syfte.This guide will allow you to use and onboard Azure VMs to Azure Arc for demo purposes only. Du kommer att kunna simulera en server som distribueras utanför Azure, till exempel "lokalt" eller i andra moln plattformar.You will have the ability to simulate a server deployed outside of Azure, for example, "on-premises" or in other cloud platforms.

Anteckning

En virtuell Azure-dator förväntas inte vara en Azure Arc-aktiverad server.An Azure VM is not expected to be an Azure Arc enabled server. Scenariot nedan stöds inte och bör endast användas för demonstrations-och testnings ändamål.The below scenario is unsupported and should only be used for demo and testing purposes.

FörutsättningarPrerequisites

  1. Klona Azure Arc rivstart med-lagringsplatsen.Clone the Azure Arc Jumpstart repository.

    git clone https://github.com/microsoft/azure_arc.git
    
  2. Installera eller uppdatera Azure CLI till version 2,7 och senare.Install or update Azure CLI to version 2.7 and above. Använd följande kommando för att kontrol lera den aktuella installerade versionen.Use the following command to check your current installed version.

    az --version
    
  3. Azure-prenumeration: om du inte har en Azure-prenumeration kan du skapa ett kostnads fritt Azure-konto.Azure subscription: if you don't have an Azure subscription, you can create a free Azure account.

  4. Skapa ett huvud namn för Azure-tjänsten.Create an Azure service principal.

    För att du ska kunna distribuera Azure-resurser med hjälp av ARM-mallen krävs ett Azure-tjänstens huvud namn som tilldelats deltagar rollen.In order for you to deploy the Azure resources using the ARM template, an Azure service principal assigned with the Contributor role is required. Om du vill skapa den loggar du in på ditt Azure-konto och kör följande kommando.To create it, sign in to your Azure account and run the following command. Du kan också köra det här kommandot i Azure Cloud Shell.You can also run this command in Azure Cloud Shell.

    az login
    az ad sp create-for-rbac -n "<Unique SP Name>" --role contributor
    

    Exempel:For example:

    az ad sp create-for-rbac -n "http://AzureArcServers" --role contributor
    

    Utdata bör se ut så här:Output should look like this:

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

    Anteckning

    Vi rekommenderar starkt att du omfångerar tjänstens huvud namn till en Azure-prenumeration och en unik resurs grupp.We highly recommend that you scope the service principal to a specific Azure subscription and resource group.

Automation-flödeAutomation flow

För att du ska bekanta dig med automation-och distributions flödet nedan är en förklaring.For you to get familiar with the automation and deployment flow, below is an explanation.

  1. En användare redigerar ARM-mallens parameter fil (en tids redigering).A user edits the ARM template parameters file (one time edit). Dessa parameter värden används i hela distributionen.These parameter values are being used throughout the deployment.

  2. ARM-mallen innehåller ett anpassat skript tillägg för Azure VM, som distribuerar install_arc_agent.ps1 PowerShell-skriptet.The ARM template includes an Azure VM custom script extension, which deploys the install_arc_agent.ps1 PowerShell script.

  3. För att tillåta att den virtuella Azure-datorn projiceras som en Azure Arc-aktiverad server, kommer skriptet att:In order to allow the Azure VM to successfully be projected as an Azure Arc enabled server, the script will:

    1. Ange lokala OS-miljövariabler.Set local OS environment variables.

    2. Generera ett inloggnings skript för lokalt operativ system med namnet LogonScript.ps1 .Generate a local OS sign-in script named LogonScript.ps1. Det här skriptet kommer att:This script will:

      • Skapa LogonScript.log filen.Create the LogonScript.log file.

      • Stoppa och inaktivera tjänsten Windows Azure gästa Gent.Stop and disable the Windows Azure guest agent service.

      • Skapa en ny regel för Windows-brandväggen för att blockera utgående Azure IMDS 169.254.169.254 -trafik till fjärradressen.Create a new Windows Firewall rule to block Azure IMDS outbound traffic to the 169.254.169.254 remote address.

      • Avregistrera inloggnings skriptet Windows-schemalagd aktivitet så att den inte körs efter första inloggningen.Unregister the sign-in script Windows scheduled task so it won't run after first sign-in.

    3. Inaktivera och förhindra att Windows Serverhanteraren körs vid start.Disable and prevent Windows Server Manager from running on startup.

  4. En användare ansluter via RDP till den virtuella Windows-datorn som börjar köra LogonScript.ps1 och publicera den virtuella datorn till Azure-bågen.A user connects via RDP to the Windows VM, which starts running LogonScript.ps1 and onboards the VM to Azure Arc.

DistributionDeployment

Som nämnts använder den här distributionen ARM-mallar.As mentioned, this deployment will use ARM templates. Du distribuerar en enda mall som ansvarar för att skapa alla Azure-resurser i en enda resurs grupp och registrera den skapade virtuella datorn till Azure-bågen.You will deploy a single template, responsible for creating all the Azure resources in a single resource group and onboarding the created VM to Azure Arc.

  1. Innan du distribuerar ARM-mallen loggar du in på Azure med hjälp av Azure CLI med az login kommandot.Before deploying the ARM template, sign in to Azure using Azure CLI with the az login command.

  2. Distributionen använder filen ARM-mallens parametrar.The deployment is using the ARM template parameters file. Innan du påbörjar distributionen redigerar du azuredeploy.parameters.json filen som finns i mappen för din lokala klonade lagrings plats.Before initiating the deployment, edit the azuredeploy.parameters.json file located in your local cloned repository folder. En exempel parametrar-fil finns här.An example parameters file is located here.

  3. Om du vill distribuera ARM-mallen navigerar du till mappen lokal klonad distribution och kör följande kommando:To deploy the ARM template, navigate to the local cloned deployment folder and run the following command:

    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>
    

    Anteckning

    Kontrol lera att du använder samma Azure-resurs grupp namn som det som du använde i azuredeploy.parameters.json filen.Make sure that you are using the same Azure resource group name as the one you used in the azuredeploy.parameters.json file.

    Exempel:For example:

    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 Portal.Once the Azure resources have been provisioned, you can see them in the Azure portal.

    En skärm bild av utdata från en ARM-mall.

    En skärm bilds resurser i resurs gruppen.

Windows-inloggning och efter distributionWindows sign-in and post-deployment

  1. Nu när den virtuella Windows Server-datorn har skapats ansluter det till nästa steg.Now that the Windows Server VM is created, the next step is connecting it. Använd dess offentliga IP-adress, RDP till den virtuella datorn.Using its public IP address, RDP to the VM.

    En skärm bild av en offentlig IP-adress för virtuella Azure-datorer.

  2. Vid första inloggningen, enligt vad som anges i avsnittet Automation Flow , utförs ett inloggnings skript.Upon first sign-in, as mentioned in the Automation flow section, a sign-in script will get executed. Det här skriptet skapas som en del av den automatiserade distributions processen.This script is created as part of the automated deployment process.

  3. Låt skriptet köras och Stäng inte PowerShell-sessionen.Let the script run and do not close the PowerShell session. Sessionen stängs automatiskt när den har slutförts.The session closes for you automatically once completed.

    Anteckning

    Skript körnings tiden är ~ 1-2 minuter lång.The script run time is ~1-2 minutes long.

    En skärm bild av en typ av utdata från ett skript.

    En skärm bild av en andra typ av utdata från ett skript.

    En skärm bild av en tredje typ av utdata från ett skript.

    En skärm bild av en fjärde typ av skript utdata.

  4. När du är klar läggs en ny Azure Arc-aktiverad server till i resurs gruppen.Upon successful completion, a new Azure Arc enabled server will be added to the resource group.

En skärm bild av en resurs grupp från en Azure Arc-aktiverad server.

En skärm bild av information från en Azure Arc-aktiverad server.

RensaCleanup

Ta bort hela distributionen genom att ta bort resurs gruppen från Azure Portal.To delete the entire deployment, delete the resource group from the Azure portal.

En skärm bild av hur du tar bort resurs gruppen.