Schnellstart: Exportieren von Azure-Ressourcen in HCL-Code mithilfe von Azure Export für Terraform

Im Artikel Exportieren Ihrer ersten Ressourcen mit Azure Export für Terraform erfahren Sie, wie Sie Azure-Ressourcen mithilfe von Azure Export für Terraform in lokale Zustandsdateien exportieren. In diesem Artikel erfahren Sie, wie Sie die Terraform-Konfigurationsdateien aus Ihren Azure-Ressourcen generieren.

  • Erstellen Sie eine Azure-Testressourcengruppe mit Azure CLI oder Azure PowerShell.
  • Erstellen Sie einen virtuellen Linux-Testcomputer mit Azure CLI oder Azure PowerShell.
  • Exportieren Sie die Ressourcengruppe und den virtuellen Computer aus Azure in HCL-Dateien.
  • Testen Sie, dass der lokale Zustand dem Status der Ressourcen in Azure entspricht.

Voraussetzungen

Erstellen der Azure-Testressourcen

Erstellen Sie einen virtuellen Linux-Computer.

  1. Führen Sie az group create aus, um eine Azure-Ressourcengruppe zu erstellen.

    az group create --name myResourceGroup --location eastus
    
  2. Führen Sie az vm create aus, um den virtuellen Computer zu erstellen.

    az vm create \
      --resource-group myResourceGroup \
      --name myVM \
      --image Debian11 \
      --admin-username azureadmin \
      --generate-ssh-keys \
      --public-ip-sku Standard
    

Grundlegendes zum nur-hcl-Flag

Azure Export für Terraform unterstützt ein Flag - --hcl-only das bewirkt, dass die Generierung der folgenden Dateien aus den exportierten Ressourcen(en) verursacht wird:

  • Generierte .tf HCL-Dateien.
  • Zuordnungsdatei aztfexportResourceMapping.json.
  • Übersprungene Ressourcen werden in aztfexportSkippedResources.txtaufgeführt.

Das --hcl-only Flag wird für alle primären Exportbefehle unterstützt, die für den Export verwendet werden:

  • resource
  • resource-group
  • Abfrage
  • Zuordnungsdatei

Führen Sie den folgenden Befehl aus, um den verfügbaren Azure Export für Terraform-Befehle anzuzeigen:

aztfexport --help

Das --hcl-only Kennzeichen ist in Szenarien hilfreich, in denen Sie den Zustand nicht benötigen oder nicht sicher sind, ob Sie den Zustand generieren müssen. Führen Sie die Ausführung aus aztfexport mapping-file, um alle generierten Konfigurationen in den Zustand zu exportieren.

Tipp

Wenn Sie das --hcl-only Kennzeichen verwenden, richten Sie ein leeres Verzeichnis aus, um unerwünschte Änderungen an einem aktuellen Zustand während der Exportphase zu vermeiden.

Exportieren einer Azure-Ressource

Sie können das aztfexport Tool in einem von zwei Modi ausführen: interaktiv und nicht interaktiv. Für diese Demo verwenden Sie den nicht interaktiven Modus.

  1. Erstellen Sie ein Verzeichnis, in dem Getestet werden soll.

  2. Öffnen Sie eine Eingabeaufforderung, und navigieren Sie zum neuen Verzeichnis.

  3. Ausführen aztfexport resource-group , um die Ressourcengruppe mit dem Namen myResourceGroupzu exportieren.

    aztfexport resource-group --non-interactive --hcl-only myResourceGroup
    

Hinweis

Das Ausführen von Azure Export für Terraform kann mehrere Minuten dauern.

Überprüfen der Ergebnisse

Nachdem das Tool den Export Ihrer Azure-Ressourcen abgeschlossen hat, überprüfen Sie die folgenden Dateien im Verzeichnis, in dem Sie Azure Export für Terraform ausgeführt haben:

  • main.tf enthält den HCL-Code, der die exportierten Ressourcen definiert.
  • aztfexportResourceMapping.json enthält die Azure/Terraform-Zuordnungen. Die Zuordnungsdatei enthält die folgenden Informationen für jede exportierte Azure-Ressource: Azure-Ressourcen-ID, Terraform-Ressourcentyp und Terraform-Ressourcenname. Der Inhalt der Zuordnungsdatei Spiegel, was Azure Export für Terraform während des Exportvorgangs anzeigt.
  • aztfexportSkippedResources.txt enthält die Liste der übersprungenen Ressourcen. Diese Datei sollte für dieses Beispiel nicht angezeigt werden.

Bereinigen von Ressourcen

Wenn Sie die in diesem Artikel erstellten Ressourcen nicht mehr benötigen, führen Sie die folgenden Schritte aus:

  1. Navigieren Sie zu dem Verzeichnis, das Ihre Terraform-Dateien für diesen Artikel enthält.

  2. Führen Sie terraform zerstört.

    terraform destroy
    

Nächste Schritte