Använd en terraform-plan för att distribuera en Google Cloud Platform Windows-instans och ansluta den till Azure-bågenUse a Terraform plan to deploy a Google Cloud Platform Windows instance and connect it to Azure Arc

Den här artikeln innehåller rikt linjer för hur du använder den tillhandahållna terraform -planen för att distribuera en Windows Server GCP-instans och ansluta den som en Azure Arc-aktiverad server resurs.This article provides guidance for using the provided Terraform plan to deploy a Windows Server GCP instance and connect it as an Azure Arc enabled server resource.

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. Installera terraform >= 0,12Install Terraform >= 0.12

  4. Google Cloud-konto med fakturering aktiverat: skapa ett kostnads fritt utvärderings konto.Google Cloud account with billing enabled: Create a free trial account. Om du vill skapa virtuella Windows Server-datorer måste du uppgradera ditt konto för att aktivera fakturering.To create Windows Server virtual machines, you must upgraded your account to enable billing. Välj fakturering på menyn och välj sedan Uppgradera längst ned till höger.Select Billing from the menu and then select Upgrade at the lower right.

    Första skärm bild som visar hur du aktiverar fakturering för ett GCP-konto.

    Andra skärm bild som visar hur du aktiverar fakturering för ett GCP-konto.

    Tredje skärm bild som visar hur du aktiverar fakturering för ett GCP-konto.

    Fri skrivning: Om du vill förhindra oväntade avgifter följer du avsnittet "ta bort distributionen" i slutet av den här artikeln.Disclaimer: To prevent unexpected charges, follow the "delete the deployment" section at the end of this article.

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

    För att ansluta den virtuella GCP-datorn till Azure-bågen krävs ett Azure-tjänstens huvud namn som tilldelats deltagar rollen.To connect the GCP virtual machine to Azure Arc, 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://AzureArcGCP" --role contributor
    

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

    {
      "appId": "XXXXXXXXXXXXXXXXXXXXXXXXXXXX",
      "displayName": "AzureArcGCP",
      "name": "http://AzureArcGCP",
      "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.

Skapa ett nytt GCP-projektCreate a new GCP project

  1. Bläddra till Google API-konsolen och logga in med ditt Google-konto.Browse to the Google API console and sign-in with your Google account. När du har loggat in skapar du ett nytt projekt med namnet Azure Arc demo .Once logged in, create a new project named Azure Arc demo. När du har skapat det måste du kopiera projekt-ID: t eftersom det vanligt vis skiljer sig från projekt namnet.After creating it, be sure to copy the project ID since it's usually different from the project name.

    Första skärm bild av sidan * * New Project * * i GCP-konsolen.

    Andra skärm bild av sidan * * New Project * * i GCP-konsolen.

  2. När det nya projektet har skapats och valts i list rutan längst upp på sidan, måste du aktivera Compute-API-åtkomst för projektet.Once the new project is created and selected in the dropdown at the top of the page, you must enable compute engine API access for the project. Klicka på + Aktivera API: er och tjänster och Sök efter beräknings motor.Click on + Enable APIs and Services and search for compute engine. Välj sedan Aktivera för att aktivera API-åtkomst.Then select Enable to enable API access.

    Första skärm bild av * * Compute Engine API * * i GCP-konsolen.

    Andra skärm bild av * * Compute Engine API * * i GCP-konsolen.

  3. Konfigurera sedan en tjänst konto nyckel som terraform använder för att skapa och hantera resurser i ditt GCP-projekt.Next, set up a service account key, which Terraform will use to create and manage resources in your GCP project. Gå till sidan Skapa tjänst konto nyckel.Go to the create service account key page. Välj nytt tjänst konto i list rutan, ge det ett namn, välj projekt och sedan ägare som roll, JSON som nyckel typ och välj skapa.Select New Service Account from the dropdown, give it a name, select project then owner as the role, JSON as the key type, and select Create. Detta laddar ned en JSON-fil med alla autentiseringsuppgifter som krävs för att terraform ska kunna hantera resurserna.This downloads a JSON file with all the credentials needed for Terraform to manage the resources. Kopiera den nedladdade JSON-filen till azure_arc_servers_jumpstart/gcp/windows/terraform katalogen.Copy the downloaded JSON file to the azure_arc_servers_jumpstart/gcp/windows/terraform directory.

    En skärm bild av hur du skapar ett tjänst konto i GCP-konsolen.

DistributionDeployment

Innan du kör terraform-planen måste du ange och sedan exportera miljövariablerna som ska användas av planen.Before executing the Terraform plan, you must set and then export the environment variables which will be used by the plan. Dessa variabler baseras på Azure-tjänstens huvud namn som du precis har skapat, din Azure-prenumeration och-klient och GCP-projektets namn.These variables are based on the Azure service principal you've just created, your Azure subscription and tenant, and the GCP project name.

  1. Hämta ditt Azure-prenumerations-ID och klient-ID med hjälp av az account list kommandot.Retrieve your Azure subscription ID and tenant ID using the az account list command.

  2. Terraform-planen skapar resurser i både Microsoft Azure och Google Cloud Platform.The Terraform plan creates resources in both Microsoft Azure and Google Cloud Platform. Sedan körs ett skript på en virtuell GCP-dator för att installera Azure Arc-agenten och alla nödvändiga artefakter.It then executes a script on a GCP virtual machine to install the Azure Arc agent and all necessary artifacts. Det här skriptet kräver viss information om dina GCP-och Azure-miljöer.This script requires certain information about your GCP and Azure environments. Redigera scripts/vars.sh och uppdatera varje variabel med lämpliga värden.Edit scripts/vars.sh and update each of the variables with the appropriate values.

    • TF_VAR_subscription_id = ditt Azure-prenumerations-IDTF_VAR_subscription_id = your Azure subscription ID
    • TF_VAR_client_id = ditt tjänst huvud program-ID för AzureTF_VAR_client_id = your Azure service principal application ID
    • TF_VAR_client_secret = ditt lösen ord för Azure-tjänstens huvud namnTF_VAR_client_secret = your Azure service principal password
    • TF_VAR_tenant_id = ditt Azure-klient-IDTF_VAR_tenant_id = your Azure tenant ID
    • TF_VAR_gcp_project_id = GCP projekt-IDTF_VAR_gcp_project_id = GCP project ID
    • TF_VAR_gcp_credentials_filename = GCP-autentiseringsuppgifter JSON-filnamnTF_VAR_gcp_credentials_filename = GCP credentials JSON filename
  3. Från CLI navigerar du till azure_arc_servers_jumpstart/gcp/windows/terraform katalogen för den klonade lagrings platsen.From CLI, navigate to the azure_arc_servers_jumpstart/gcp/windows/terraform directory of the cloned repo.

  4. Exportera de miljövariabler som du har redigerat genom scripts/vars.sh att köra med käll kommandot som visas nedan.Export the environment variables you edited by running scripts/vars.sh with the source command as shown below. Terraform kräver att dessa ställs in för att planen ska kunna köras korrekt.Terraform requires these to be set for the plan to execute properly.

    source ./scripts/vars.sh
    
  5. Kör terraform init kommandot som laddar ned terraform AzureRM-providern.Run the terraform init command which will download the Terraform AzureRM provider.

    En skärm bild av kommandot "terraform init".

  6. Kör sedan terraform apply --auto-approve kommandot och vänta tills planen har slutförts.Next, run the terraform apply --auto-approve command and wait for the plan to finish. När terraform-skriptet har slutförts har du distribuerat en GCP Windows Server 2019 VM och initierat ett skript för att ladda ned Azure Arc-agenten till den virtuella datorn och ansluta den virtuella datorn som en ny Azure Arc-aktiverad server i en ny Azure-resurs grupp.Upon completion of the Terraform script, you will have deployed a GCP Windows Server 2019 VM and initiated a script to download the Azure Arc agent to the VM and connect the VM as a new Azure Arc enabled server inside a new Azure resource group. Det tar några minuter för agenten att slutföra etableringen så att du kan ta en kaffe.It will take a few minutes for the agent to finish provisioning so grab a coffee.

    En skärm bild av kommandot "terraform Apply".

  7. Efter några minuter bör du kunna öppna Azure Portal och navigera till arc-gcp-demo resurs gruppen.After a few minutes, you should be able to open the Azure portal and navigate to the arc-gcp-demo resource group. Den virtuella Windows Server-datorn som skapades i GCP visas som en resurs.The Windows Server virtual machine created in GCP will be visible as a resource.

    En skärm bild av en Azure Arc-aktiverad server i Azure Portal.

Halv automatisk distribution (valfritt)Semi-automated deployment (optional)

Terraform-planen installerar automatiskt Azure Arc-agenten och ansluter den virtuella datorn till Azure som en hanterad resurs genom att köra ett PowerShell-skript när den virtuella datorn startas om första gången.The Terraform plan automatically installs the Azure Arc agent and connects the VM to Azure as a managed resource by executing a PowerShell script when the VM is first booted.

En skärm bild av kommandot "azcmagent Connect".

Om du vill demo/styra den faktiska registrerings processen gör du följande:If you want to demo/control the actual registration process, do the following:

  1. terraform applyÖppna main.tf och kommentera windows-startup-script-ps1 = local-file.install_arc_agent-ps1.content raden och spara filen innan du kör kommandot.Before running the terraform apply command, open main.tf and comment out the windows-startup-script-ps1 = local-file.install_arc_agent-ps1.content line and save the file.

    En skärm bild som visar "main.tf" har kommenterats bort för att inaktivera automatisk onboarding av en Azure Arc-agent.

  2. Kör terraform apply --auto-approve enligt anvisningarna ovan.Run terraform apply --auto-approve as instructed above.

  3. Öppna GCP-konsolen och gå till sidan för beräknings instansoch välj den virtuella dator som skapades.Open the GCP console and navigate to the compute instance page, and then select the VM that was created.

    En skärm bild av en server i GCP-konsolen.

    En skärm bild som visar hur du återställer ett lösen ord för en Windows-Server i GCP-konsolen.

  4. Skapa en användare och ett lösen ord för den virtuella datorn genom att välja Ange lösen ord och ange ett användar namn.Create a user and password for the VM by selecting Set Password and specifying a user name.

    En skärm bild som visar hur du anger ett användar namn och lösen ord för en Windows-Server i GCP-konsolen.

  5. RDP till den virtuella datorn genom att välja RDP-knappen från sidan VM i GCP-konsolen och logga in med det användar namn och lösen ord som du nyss skapade.RDP into the VM by selecting the RDP button from the VM page in the GCP console, and sign in with the username and password you just created.

    En skärm bild som visar hur du kan RDP till en GCP-instans.

  6. Öppna PowerShell ISE som administratör när du är inloggad.Once logged in, open PowerShell ISE as Administrator. Kontrol lera att du kör x64-versionen av PowerShell ISE och inte x86-versionen.Make sure you are running the x64 version of PowerShell ISE and not the x86 version. När du har öppnat väljer du fil > ny för att skapa en tom .ps1 fil.Once opened, select File > New to create an empty .ps1 file. Klistra sedan in hela innehållet i ./scripts/install_arc_agent.ps1 .Then paste in the entire contents of ./scripts/install_arc_agent.ps1. Klicka på uppspelnings knappen för att köra skriptet.Click the play button to execute the script. När du är klar bör du se utdata som visar lyckad onboarding av datorn.When complete, you should see the output showing successful onboarding of the machine.

    Skärm bild som visar Windows PowerShell Integrated Scripting Environment med ett anslutnings skript för Azure Arc-agenten.

Ta bort distributionenDelete the deployment

Om du vill ta bort alla resurser som du skapade som en del av den här demon använder du terraform destroy --auto-approve kommandot som visas nedan.To delete all the resources you created as part of this demo use the terraform destroy --auto-approve command as shown below.

En skärm bild av kommandot "terraform förstör".

Du kan också ta bort den virtuella datorn GCP direkt från GCP-konsolen.Alternatively, you can delete the GCP VM directly from GCP console.

En skärm bild som visar hur du tar bort en virtuell dator från GCP-konsolen.