Überprüfen eines Hub-and-Spoke-Netzwerks in Azure mithilfe von Terraform

Terraform ermöglicht die Definition, Vorschau und Bereitstellung der Cloudinfrastruktur. Terraform ermöglicht das Erstellen von Konfigurationsdateien mit HCL-Syntax. Mit der HCL-Syntax können Sie den Cloudanbieter ( z. B. Azure ) und die Elemente angeben, aus denen Ihre Cloudinfrastruktur besteht. Nach der Erstellung Ihrer Konfigurationsdateien erstellen Sie einen Ausführungsplan, mit dem Sie eine Vorschau Ihrer Infrastrukturänderungen anzeigen können, bevor diese bereitgestellt werden. Nachdem Sie die Änderungen überprüft haben, wenden Sie den Ausführungsplan an, um die Infrastruktur bereitzustellen.

In diesem Artikel führen Sie die Terraform-Dateien aus, die im vorherigen Artikel dieser Reihe erstellt wurden. Das Ergebnis ist eine Überprüfung der Konnektivität zwischen den virtuellen Demonetzwerken.

In diesem Artikel erfahren Sie, wie Sie:

  • Implementieren des Hub-VNet in der Hub-Spoke-Topologie
  • Überprüfen der bereitzustellenden Ressourcen
  • Erstellen der Ressourcen in Azure
  • Überprüfen der Konnektivität zwischen verschiedenen Netzwerken

1. Konfigurieren Ihrer Umgebung

  • Azure-Abonnement: Wenn Sie nicht über ein Azure-Abonnement verfügen, erstellen Sie ein kostenloses Konto , bevor Sie beginnen.

2. Überprüfen Sie Ihre Konfiguration

Stellen Sie im Beispielverzeichnis sicher, dass alle Dateien, die in dieser Artikelreihe erstellt wurden, vorhanden sind:

Dateiname Artikel, in dem die Datei erstellt wird
main.tf Erstellen einer Hub-and-Spoke-Hybridnetzwerktopologie mit Terraform in Azure
variables.tf Erstellen einer Hub-and-Spoke-Hybridnetzwerktopologie mit Terraform in Azure
on-prem.tf Erstellen eines lokalen virtuellen Netzwerks mit Terraform in Azure
hub-vnet.tf Erstellen eines virtuellen Hubnetzwerks mit Terraform in Azure
hub-nva.tf Erstellen eines Hub-Geräts für virtuelle Netzwerke mit Terraform in Azure
spoke1.tf Erstellen eines virtuellen Spoke-Netzwerks mit Terraform in Azure
spoke2.tf Erstellen eines virtuellen Spoke-Netzwerks mit Terraform in Azure

3. Initialisieren von Terraform

Führen Sie terraform init aus, um die Terraform-Bereitstellung zu initialisieren. Dieser Befehl lädt den Azure-Anbieter herunter, der zum Verwalten Ihrer Azure-Ressourcen erforderlich ist.

terraform init -upgrade

Die wichtigsten Punkte:

  • Der Parameter -upgrade aktualisiert die erforderlichen Anbieter-Plug-Ins auf die neueste Version, die den Versionseinschränkungen der Konfiguration entspricht.

4. Erstellen eines Terraform-Ausführungsplans

Führen Sie terraform plan aus, um einen Ausführungsplan zu erstellen.

terraform plan -out main.tfplan

Die wichtigsten Punkte:

  • Der Befehl terraform plan erstellt einen Ausführungsplan, führt ihn aber nicht aus. Stattdessen wird bestimmt, welche Aktionen erforderlich sind, um die in Ihren Konfigurationsdateien angegebene Konfiguration zu erstellen. Mit diesem Muster können Sie überprüfen, ob der Ausführungsplan Ihren Erwartungen entspricht, bevor Sie Änderungen an tatsächlichen Ressourcen vornehmen.
  • Mit dem optionalen -out-Parameter können Sie eine Ausgabedatei für den Plan angeben. Durch die Verwendung des Parameters -out wird sichergestellt, dass genau der von Ihnen überprüfte Plan angewendet wird.

5. Anwenden eines Terraform-Ausführungsplans

Führen Sie terraform apply aus, um den Ausführungsplan auf Ihre Cloudinfrastruktur anzuwenden.

terraform apply main.tfplan

Die wichtigsten Punkte:

  • Der Beispielbefehl terraform apply setzt voraus, dass Sie zuvor terraform plan -out main.tfplan ausgeführt haben.
  • Wenn Sie einen anderen Dateinamen für den Parameter -out angegeben haben, verwenden Sie denselben Dateinamen im Aufruf von terraform apply.
  • Wenn Sie den Parameter -out nicht verwendet haben, rufen Sie terraform apply ohne Parameter auf.

6. Überprüfen der Ergebnisse

In diesem Abschnitt wird gezeigt, wie Sie die Konnektivität von der simulierten lokalen Umgebung zum Hub-VNet testen.

  1. Navigieren Sie zum Azure-Portal.

  2. Navigieren Sie im Azure-Portal zur Ressourcengruppe onprem-vnet-rg .

  3. Wählen Sie auf der Registerkarte onprem-vnet-rg die VM mit dem Namen onprem-vm aus.

  4. Notieren Sie sich den Wert für die öffentliche IP-Adresse .

  5. Kehren Sie zur Befehlszeile zurück, und führen Sie die Ausführung aus ssh , um eine Verbindung mit der simulierten lokalen Umgebung herzustellen.

    ssh azureuser@<onprem_vm_ip_address>
    

    Die wichtigsten Punkte:

    • Wenn Sie den Benutzernamen azureuser in der variables.tf Datei geändert haben, stellen Sie sicher, dass Sie diesen Wert in den ssh Befehl einfügen.
    • Verwenden Sie das Kennwort, das Sie beim Ausführen von angegeben haben terraform plan.
  6. Nachdem Sie eine Verbindung mit dem virtuellen Computer onprem-vm hergestellt haben, führen Sie den Befehl aus, um die ping Konnektivität mit der Jumpbox-VM im Hub-VNet zu testen:

    ping 10.0.0.68
    
  7. Führen Sie den Befehl aus, um die ping Konnektivität zu den Jumpbox-VMs in jedem Spoke zu testen:

    ping 10.1.0.68
    ping 10.2.0.68
    
  8. Um die SSH-Sitzung auf der virtuellen Maschine onprem-vm zu beenden, geben Sie die Eingabetaste exit ein und drücken Sie <die Eingabetaste>.

7. Bereinigen von Ressourcen

Wenn Sie die über Terraform erstellten Ressourcen nicht mehr benötigen, führen Sie die folgenden Schritte aus:

  1. Führen Sie terraform plan aus, und geben Sie das Flag destroy an.

    terraform plan -destroy -out main.destroy.tfplan
    

    Die wichtigsten Punkte:

    • Der Befehl terraform plan erstellt einen Ausführungsplan, führt ihn aber nicht aus. Stattdessen wird bestimmt, welche Aktionen erforderlich sind, um die in Ihren Konfigurationsdateien angegebene Konfiguration zu erstellen. Mit diesem Muster können Sie überprüfen, ob der Ausführungsplan Ihren Erwartungen entspricht, bevor Sie Änderungen an tatsächlichen Ressourcen vornehmen.
    • Mit dem optionalen -out-Parameter können Sie eine Ausgabedatei für den Plan angeben. Durch die Verwendung des Parameters -out wird sichergestellt, dass genau der von Ihnen überprüfte Plan angewendet wird.
  2. Führen Sie den Befehl terraform apply aus, um den Ausführungsplan anzuwenden.

    terraform apply main.destroy.tfplan
    

Problembehandlung von Terraform auf Azure

Behebung häufiger Probleme bei der Verwendung von Terraform in Azure

Nächste Schritte