Verwenden eines Terraform-Plans zum Bereitstellen einer Windows-Instanz von Google Cloud Platform und Herstellen einer Verbindung mit Azure Arc
Dieser Artikel enthält einen Leitfaden für die Verwendung des bereitgestellten Terraform-Plans, um eine GCP-Instanz (Google Cloud Platform) unter Windows Server bereitzustellen und als Serverressource mit Azure Arc-Unterstützung zu verbinden.
Voraussetzungen
Klonen Sie das Repository für den Schnelleinstieg in Azure Arc.
git clone https://github.com/microsoft/azure_arc.git
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
Google Cloud Platform-Konto mit aktivierter Abrechnung:Erstellen Sie ein kostenloses Testkonto. Wenn Sie virtuelle Windows Server-Computer erstellen möchten, müssen Sie Ihr Konto upgraden, um die Abrechnung zu aktivieren. Wählen Sie im Menü Abrechnung aus, und klicken Sie dann rechts unten auf Upgrade.
Haftungsausschluss: Um unerwartete Gebühren zu vermeiden, befolgen Sie die Anweisungen im Abschnitt „Löschen der Bereitstellung“ am Ende dieses Artikels.
Erstellen Sie einen Azure-Dienstprinzipal.
Um die GCP-VM mit Azure Arc zu verbinden, ist ein Azure-Dienstprinzipal mit der Rolle „Mitwirkender“ erforderlich. 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://AzureArcGCP" --role contributor --scopes "/subscriptions/00000000-0000-0000-0000-000000000000"
Die Ausgabe sollte wie folgt aussehen:
{ "appId": "XXXXXXXXXXXXXXXXXXXXXXXXXXXX", "displayName": "http://AzureArcGCP", "password": "XXXXXXXXXXXXXXXXXXXXXXXXXXXX", "tenant": "XXXXXXXXXXXXXXXXXXXXXXXXXXXX" }
Hinweis
Es wird dringend empfohlen, dass Sie für den Dienstprinzipal ein bestimmtes Azure-Abonnement und eine bestimmte Ressourcengruppe festlegen.
Erstellen eines neuen GCP-Projekts
Wechseln Sie zur Google-API-Konsole, und melden Sie sich mit Ihrem Google-Konto an. Sobald Sie angemeldet sind, erstellen Sie ein neues Projekt mit dem Namen
Azure Arc demo
. Achten Sie nach dem Erstellen darauf, die Projekt-ID zu kopieren, da sie sich normalerweise vom Projektnamen unterscheidet.Nachdem das neue Projekt erstellt und in der Dropdownliste oben auf der Seite ausgewählt wurde, müssen Sie den Zugriff auf die Compute-Engine-API für das Projekt aktivieren. Klicken Sie auf + APIs und Dienste aktivieren, und suchen Sie nach Compute-Engine. Wählen Sie dann Aktivieren aus, um den API-Zugriff zu aktivieren.
Richten Sie als Nächstes einen Dienstkontoschlüssel ein, den Terraform zum Erstellen und Verwalten von Ressourcen in Ihrem GCP-Projekt verwendet. Wechseln Sie zur Seite Dienstkontoschlüssel erstellen. Wählen Sie in der Dropdownliste Neues Dienstkonto aus. Geben Sie einen Namen ein. Wählen Sie „Projekt“ und dann „Besitzer“ als Rolle, „JSON“ als Schlüsseltyp und Erstellen aus. Dadurch wird eine JSON-Datei mit allen Anmeldeinformationen heruntergeladen, die Terraform für die Verwaltung der Ressourcen benötigt. Kopieren Sie die heruntergeladene JSON-Datei in das Verzeichnis
azure_arc_servers_jumpstart/gcp/windows/terraform
.
Bereitstellung
Bevor Sie den Terraform-Plan ausführen, müssen Sie die vom Plan verwendeten Umgebungsvariablen festlegen und anschließend exportieren. Diese Variablen basieren auf dem Azure-Dienstprinzipal, den Sie soeben erstellt haben, Ihrem Azure-Abonnement und -Mandanten sowie dem GCP-Projektnamen.
Rufen Sie Ihre Azure-Abonnement-ID und Mandanten-ID mithilfe des Befehls
az account list
ab.Durch den Terraform-Plan werden Ressourcen sowohl in Microsoft Azure als auch Google Cloud Platform erstellt. Anschließend wird ein Skript auf einer GCP-VM ausgeführt, um den Azure Arc-Agent und alle erforderlichen Artefakte zu installieren. Für dieses Skript werden bestimmte Informationen zu Ihrer GCP- und Azure-Umgebung benötigt. Bearbeiten Sie
scripts/vars.sh
, und aktualisieren Sie alle Variablen mit den entsprechenden Werten.TF_VAR_subscription_id
= ID Ihres Azure-AbonnementsTF_VAR_client_id
= Anwendungs-ID Ihres Azure-DienstprinzipalsTF_VAR_client_secret
= Kennwort Ihres Azure-DienstprinzipalsTF_VAR_tenant_id
= ID Ihres Azure-MandantenTF_VAR_gcp_project_id
= ID des GCP-ProjektsTF_VAR_gcp_credentials_filename
= Name der JSON-Datei mit GCP-Anmeldeinformationen
Navigieren Sie über die CLI zum Verzeichnis
azure_arc_servers_jumpstart/gcp/windows/terraform
des geklonten Repositorys.Exportieren Sie die bearbeiteten Umgebungsvariablen, indem Sie
scripts/vars.sh
mit dem Befehl „source“ ausführen (siehe unten). Diese Variablen sind für eine ordnungsgemäße Ausführung des Terraform-Plans erforderlich.source ./scripts/vars.sh
Führen Sie den Befehl
terraform init
aus, um die AzureRM-Anbieter für Terraform herunterzuladen.Führen Sie dann den Befehl
terraform apply --auto-approve
aus, und warten Sie, bis der Plan ausgeführt wurde. Nach Abschluss des Terraform-Skripts haben Sie eine Windows Server 2019-VM für GCP bereitgestellt und ein Skript ausgelöst, um den Azure Arc-Agent auf die VM herunterzuladen und die VM als einen neuen Server mit Azure Arc-Unterstützung innerhalb einer neuen Azure-Ressourcengruppe zu verbinden. Die Bereitstellung durch den Agent dauert ein paar Minuten, sodass Sie sich einen Kaffee gönnen können.Nach ein paar Minuten sollten Sie das Azure-Portal öffnen und zur Ressourcengruppe
arc-gcp-demo
navigieren können. Die in GCP erstellte Windows Server-VM ist als Ressource sichtbar.
Halbautomatisierte Bereitstellung (optional)
Der Terraform-Plan installiert automatisch den Azure Arc-Agent und verbindet die VM mit Azure als verwaltete Ressource, indem beim ersten Start der VM ein PowerShell-Skript ausgeführt wird.
Wenn Sie den eigentlichen Registrierungsvorgang demonstrieren/steuern möchten, gehen Sie wie folgt vor:
Ehe Sie den Befehl
terraform apply
ausführen, öffnen Siemain.tf
, und kommentieren Sie die Zeilewindows-startup-script-ps1 = local-file.install_arc_agent-ps1.content
aus, und speichern Sie die Datei.Führen Sie
terraform apply --auto-approve
wie oben beschrieben aus.Öffnen Sie die GCP-Konsole, navigieren Sie zur Seite Compute-Instance, und wählen Sie dann die erstellte VM aus.
Erstellen Sie einen Benutzer und ein Kennwort für die VM, indem Sie Kennwort festlegen auswählen und einen Benutzernamen angeben.
Verbinden Sie sich per RDP mit der VM, indem Sie auf der Seite „VM“ in der GCP-Konsole die Schaltfläche „RDP“ auswählen und sich mit dem soeben erstellten Benutzernamen und Kennwort anmelden.
Sobald Sie angemeldet sind, öffnen Sie PowerShell ISE als Administrator. Stellen Sie sicher, dass Sie die x64-Version und nicht die x86-Version von PowerShell ISE ausführen. Wählen Sie nach dem Öffnen Datei > Neu aus, um eine leere
.ps1
-Datei zu erstellen. Fügen Sie anschließend den gesamten Inhalt von./scripts/install_arc_agent.ps1
ein. Klicken Sie auf die Schaltfläche „Wiedergeben“, um das Skript auszuführen. Wenn der Vorgang abgeschlossen ist, sollten Sie die Ausgabe sehen, die das erfolgreiche Onboarding der VM zeigt.
Löschen der Bereitstellung
Um alle Ressourcen zu löschen, die Sie als Teil dieser Demo erstellt haben, führen Sie den Befehl terraform destroy --auto-approve
wie unten gezeigt aus.
Alternativ können Sie die GCP-VM direkt in der GCP-Konsole löschen.
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für