arrow_back

Infrastruktur mit Terraform in Google Cloud aufbauen: Challenge Lab

Anmelden Teilnehmen
Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

Infrastruktur mit Terraform in Google Cloud aufbauen: Challenge Lab

Lab 1 Stunde 30 Minuten universal_currency_alt 5 Guthabenpunkte show_chart Mittelstufe
Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

GSP345

Logo: Google Cloud-Labs zum selbstbestimmten Lernen

Übersicht

In einem Challenge-Lab geht es um ein bestimmtes Szenario mit mehreren Aufgaben. Anders als bei einem normalen Lab erhalten Sie jedoch keine Schritt-für-Schritt-Anleitung, sondern nutzen die in den Labs des jeweiligen Kurses erlernten Fähigkeiten, um die Aufgaben selbst zu lösen. Ihre Lösungen werden automatisch bewertet. Die erzielten Punkte finden Sie rechts oben auf dieser Seite.

In Challenge-Labs werden keine neuen Grundlagen zu Google Cloud vermittelt. Sie sollen dabei Ihr Wissen erweitern und es wird erwartet, dass Sie beispielsweise Standardwerte ändern und Fehlermeldungen lesen und recherchieren, um Ihre eigenen Fehler zu beheben.

Die volle Punktzahl erreichen Sie nur, wenn Sie alle Aufgaben innerhalb der vorgegebenen Zeit lösen.

Dieses Lab wird empfohlen, wenn Sie sich für den Kurs Infrastruktur mit Terraform in Google Cloud aufbauen angemeldet haben. Sind Sie bereit?

Themen:

  • Bestehende Infrastruktur in Ihre Terraform-Konfiguration importieren
  • Eigene Terraform-Module erstellen und darauf verweisen
  • Remote-Backend zu Ihrer Konfiguration hinzufügen
  • Module aus der Terraform Registry verwenden und einbauen
  • Infrastruktur aktualisieren, neu bereitstellen und löschen
  • Konnektivität zwischen den erstellten Ressourcen testen

Einrichtung und Anforderungen

Vor dem Klick auf „Start Lab“ (Lab starten)

Lesen Sie diese Anleitung. Labs sind zeitlich begrenzt und können nicht pausiert werden. Der Timer beginnt zu laufen, wenn Sie auf Lab starten klicken, und zeigt Ihnen, wie lange die Ressourcen für das Lab verfügbar sind.

In diesem praxisorientierten Lab können Sie die Lab-Aktivitäten in einer echten Cloud-Umgebung selbst durchführen – nicht in einer Simulations- oder Demo-Umgebung. Dazu erhalten Sie neue, temporäre Anmeldedaten, mit denen Sie für die Dauer des Labs auf Google Cloud zugreifen können.

Für dieses Lab benötigen Sie Folgendes:

  • Einen Standardbrowser (empfohlen wird Chrome)
Hinweis: Nutzen Sie den privaten oder Inkognitomodus, um dieses Lab durchzuführen. So wird verhindert, dass es zu Konflikten zwischen Ihrem persönlichen Konto und dem Teilnehmerkonto kommt und zusätzliche Gebühren für Ihr persönliches Konto erhoben werden.
  • Zeit für die Durchführung des Labs – denken Sie daran, dass Sie ein begonnenes Lab nicht unterbrechen können.
Hinweis: Wenn Sie über ein persönliches Google Cloud-Konto oder -Projekt verfügen, verwenden Sie es nicht für dieses Lab. So werden zusätzliche Kosten für Ihr Konto vermieden.

Das Szenario

Sie absolvieren ein Praktikum als Cloud Engineer*in bei einem jungen Start-up. Für Ihr erstes Projekt hat die Geschäftsführung Sie beauftragt, schnell und effizient eine Infrastruktur zu schaffen und einen Mechanismus zu entwickeln, mit dem Sie diese verwalten und so in Zukunft ändern und darauf verweisen können. Sie wurden aufgefordert, Terraform bei diesem Projekt zu verwenden.

In diesem Projekt verwenden Sie Terraform, um die Infrastruktur auf dem bevorzugten Anbieter des Startups, Google Cloud, zu erstellen, bereitzustellen und zu beobachten. Außerdem sollen Sie einige nicht ordnungsgemäß verwaltete Instanzen in Ihre Konfiguration importieren und korrigieren.

In diesem Lab verwenden Sie Terraform, um mehrere VM-Instanzen zu importieren und zu erstellen, ein VPC-Netzwerk mit zwei Subnetzwerken und eine Firewall-Regel für die VPC, um Verbindungen zwischen den beiden Instanzen zu ermöglichen. Außerdem erstellen Sie einen Cloud-Storage-Bucket, um Ihr Remote-Backend zu hosten.

Hinweis: Am Ende jedes Abschnitts können Sie Ihre Änderungen planen und anwenden, damit Ihre Arbeit erfolgreich überprüft werden kann. Da wir in diesem Lab viele Terraform-Dateien aktualisieren werden, sollten Sie darauf achten, den richtigen Dateipfad und die richtige Einrückung zu verwenden.

Aufgabe 1: Konfigurationsdateien erstellen

  1. Erstellen Sie in Cloud Shell Ihre Terraform-Konfigurationsdateien und eine Verzeichnisstruktur ähnlich zu dieser:
main.tf variables.tf modules/ └── instances ├── instances.tf ├── outputs.tf └── variables.tf └── storage ├── storage.tf ├── outputs.tf └── variables.tf
  1. Geben Sie Daten für die Datei variables.tf jeweils im Stammverzeichnis und in den Modulen ein. Geben Sie für jede Datei drei Variablen ein: region, zone und project_id. Verwenden Sie als Standardwerte , und Ihre Projekt-ID in Google Cloud.
Hinweis: Diese Variablen sollten Sie überall in Ihrer Ressourcenkonfiguration verwenden.
  1. Fügen Sie den Terraform-Block und den Google Provider in die Datei main.tf ein. Überprüfen Sie, dass das Argument zone ebenso wie die Argumente project und region im Google-Provider-Block vorhanden sind.

  2. Initialisieren Sie Terraform.

Aufgabe 2: Infrastruktur importieren

  1. Klicken Sie in der Cloud Console im Navigationsmenü auf Compute Engine > VM-Instanzen. Es wurden schon die beiden Instanzen tf-instance-1 und tf-instance-2 für Sie erstellt.
Hinweis: Wenn Sie auf eine der Instanzen klicken, werden ihre Instanz-ID, das Speicherabbild und der Maschinentyp angezeigt. Diese Werte werden benötigt, um die Konfigurationen korrekt zu schreiben und in Terraform zu importieren.
  1. Importieren Sie die bestehenden Instanzen in das Modul Instanzen. Befolgen Sie dazu diese Schritte:
  • Fügen Sie als Erstes die Modulereferenz in die Datei main.tf ein und initialisieren Sie Terraform neu.
  • Geben Sie als Nächstes die Ressourcenkonfigurationen in der Datei instances.tf entsprechend den schon bestehenden Instanzen an.
    • Benennen Sie die Instanzen mit tf-instance-1 und tf-instance-2.
    • Für die Zwecke dieses Labs sollten so wenig Ressourcen wie möglich konfiguriert werden. Dafür müssen Sie nur die folgenden zusätzlichen Argumente in Ihre Konfiguration aufnehmen: machine_type, boot_disk, network_interface, metadata_startup_script und allow_stopping_for_update. Verwenden Sie für die letzten beiden Argumente diese Konfiguration, damit Sie sie nicht neu erstellen müssen:
    metadata_startup_script = <<-EOT #!/bin/bash EOT allow_stopping_for_update = true
  • Sobald Sie die Ressourcenkonfigurationen im Modul geschrieben haben, verwenden Sie den Befehl terraform import, um sie in das Modul Instanzen zu importieren.
  1. Wenden Sie die Änderungen an. Da Sie nicht alle Argumente in der gesamten Konfiguration angegeben haben, werden die Instanzen beim Anwenden mit apply an Ort und Stelle aktualisiert. Zu Übungszwecken ist dies ausreichend, aber in einer Produktionsumgebung sollten Sie darauf achten, dass Sie alle Argumente vor dem Importieren korrekt angeben.

Klicken Sie auf Fortschritt prüfen. Infrastruktur importieren

Aufgabe 3: Remote-Backend konfigurieren

  1. Erstellen Sie eine Cloud Storage-Bucket-Ressource im Modul storage. Geben Sie als Bucketname die Variable an. Die restlichen Argumente geben Sie einfach so an:

    • location = "US"
    • force_destroy = true
    • uniform_bucket_level_access = true
Hinweis: Sie können optional Ausgabewerte in der Datei outputs.tf hinzufügen.
  1. Fügen Sie die Modulreferenz in die Datei main.tf ein. Initialisieren Sie das Modul und wenden Sie die Änderungen mit apply an, um den Bucket mit Terraform zu erstellen.

  2. Konfigurieren Sie diesen Storage-Bucket als das Remote-Backend in der Datei main.tf. Achten Sie darauf, das Präfix terraform/state zu verwenden, damit es erfolgreich bewertet werden kann.

  3. Wenn Sie die Konfiguration richtig geschrieben haben, wird beim Ausführen von init Terraform fragen, ob Sie die bestehenden Zustandsdaten in das neue Backend kopieren wollen. Geben Sie an der Eingabeaufforderung yes ein.

Klicken Sie auf Fortschritt prüfen. Remote-Backend konfigurieren

Aufgabe 4: Infrastruktur ändern und aktualisieren

  1. Rufen Sie das Modul Instanzen auf und bearbeiten Sie die Ressource tf-instance-1 so, dass Sie den Maschinentyp e2-standard-2 verwendet.

  2. Bearbeiten Sie die Ressource tf-instance-2 so, dass Sie den Maschinentyp e2-standard-2 verwendet.

  3. Fügen Sie eine dritte Instanzressource hinzu und nennen Sie sie . Verwenden Sie für diese dritte Ressource den Maschinentyp e2-standard-2. Achten Sie darauf, dass der Maschinentyp in allen drei Instanzen auf e2-standard-2 geändert wird.

  4. Initialisieren Sie Terraform und wenden Sie die Änderungen mit apply an.

Hinweis: Optional können Sie die Ausgabewerte dieser Ressourcen in der Datei outputs.tf innerhalb des Moduls hinzufügen.

Klicken Sie auf Fortschritt prüfen. Infrastruktur ändern und aktualisieren

Aufgabe 5: Ressourcen löschen

  1. Löschen Sie die dritte Instanz . Entfernen Sie dazu die Ressource aus der Konfigurationsdatei. Initialisieren Sie Terraform nach dem Entfernen und wenden Sie die Änderungen mit apply an.

Klicken Sie auf Fortschritt prüfen. Ressourcen löschen

Aufgabe 6: Modul aus der Registry verwenden

  1. Rufen Sie in der Terraform Registry das Netzwerkmodul auf.

  2. Fügen Sie dieses Modul der Datei main.tf hinzu. Verwenden Sie diese Konfigurationen:

  • Verwenden Sie Version 6.0.0 (andere Versionen können Kompatibilitätsfehler verursachen).
  • Benennen Sie die VPC mit und verwenden Sie einen globalen Routingmodus.
  • Geben Sie 2 Subnetze in der Region an und benennen Sie diese mit subnet-01 und subnet-02. Für die Subnetzargumente benötigen Sie nur Name, IP und Region.
  • Verwenden Sie die IP-Adresse 10.10.10.0/24 für subnet-01 und 10.10.20.0/24 für subnet-02.
  • Sie benötigen keine sekundären Bereiche oder Routen, die mit dieser VPC verknüpft sind, daher können Sie diese in der Konfiguration weglassen.
  1. Sobald Sie die Modulkonfiguration geschrieben haben, initialisieren Sie Terraform und führen Sie apply aus, um die Netzwerke zu erstellen.

  2. Rufen Sie als Nächstes die Datei instances.tf auf und aktualisieren Sie die Konfigurationsressourcen so, dass eine Verbindung von tf-instance-1 zu subnet-01 und von tf-instance-2 zu subnet-02 aufgebaut wird.

Hinweis: Innerhalb der Instanzkonfiguration müssen Sie das Argument network in ändern und anschließend das Argument subnetwork mit dem richtigen Subnetz für jede Instanz aktualisieren.

Klicken Sie auf Fortschritt prüfen. Modul aus der Registry verwenden

Aufgabe 7: Firewall konfigurieren

  • Erstellen Sie eine Firewallregel als Ressource in der Datei main.tf und benennen Sie diese mit tf-firewall.
    • Diese Firewallregel sollte zulassen, dass das Netzwerk eingehende Verbindungen von allen IP-Bereichen (0.0.0.0/0) an TCP-Port 80 zulässt.
    • Achten Sie darauf, das Argument source_ranges mit dem richtigen IP-Bereich (0.0.0.0/0) anzugeben.
    • Initialisieren Sie Terraform und wenden Sie die Änderungen mit apply an.
Hinweis: Das erforderliche Argument network finden Sie, wenn Sie den Zustand aufrufen und sich die ID oder self_link der von Ihnen erstellten Ressource google_compute_network anzeigen lassen. Diese hat das Format: projects/PROJECT_ID/global/networks/.

Klicken Sie auf Fortschritt prüfen. Firewall konfigurieren

Glückwunsch!

Wenn Sie es geschafft haben, die Architektur innerhalb der vorgegebenen Zeit zu importieren, zu erstellen, zu ändern und zu konfigurieren, haben Sie Ihre Terraform-Kenntnisse unter Beweis gestellt. In diesem Lab haben Sie zuerst zwei vorkonfigurierte VMs in Terraform importiert und einen Cloud Storage Bucket erstellt, um Ihr Backend zu konfigurieren. Anschließend haben Sie eine weitere Instanz hinzugefügt und das Ändern und Aktualisieren der Ressourcenkonfigurationen innerhalb Ihrer Module geübt. Abschließend haben Sie ein Modul aus der Terraform Registry verwendet, um eine VPC mit zwei Subnetzen zu erstellen, die Instanzen damit zu verbinden und eine Firewallregel zu erstellen, um Verbindungen zwischen ihnen zuzulassen.

Infrastruktur mit Terraform in Google Cloud aufbauen

Nächstes Skill-Logo erwerben

Dieses Lab zum selbstbestimmten Lernen ist Teil des Kurses Infrastruktur mit Terraform in Google Cloud aufbauen. Wenn Sie diesen Kurs abschließen, erhalten Sie das oben gezeigte Skill-Logo, das Sie in Ihren Lebenslauf oder Ihre Social-Media-Profile einfügen können. Teilen Sie Ihre Leistung mit #GoogleCloudBadge.

Weitere Informationen

Nachdem Sie nun Ihre Kenntnisse in Terraform nachgewiesen haben, können Sie sich für die HashiCorp Zertifizierung zur Infrastruktur-Automatisierung anmelden. Die Terraform Associate-Zertifizierung richtet sich an Cloud-Engineering-Fachkräfte aus den Bereichen Betrieb, IT oder Entwicklung, die die grundlegenden Konzepte und Fähigkeiten im Zusammenhang mit dem Open-Source-System HashiCorp Terraform kennen. Sie sind am besten auf diese Prüfung vorbereitet, wenn Sie Berufserfahrung im Umgang mit Terraform in der Produktion haben, aber es kann auch ausreichend sein, die Prüfungsziele in einer persönlichen Demo-Umgebung durchzuführen. Wenn Sie also Ihre Fähigkeiten erweitern und Ihre Kenntnisse im Bereich der Infrastruktur-Automatisierung testen möchten, empfehlen wir Ihnen, die Materialien zur Prüfungsvorbereitung und die Prüfungsübersicht durchzuarbeiten und sich für die Prüfung anzumelden, sobald Sie bereit sind. Viel Erfolg!

Google Cloud-Schulungen und -Zertifizierungen

In unseren Schulungen erfahren Sie alles zum optimalen Einsatz unserer Google Cloud-Technologien und können sich entsprechend zertifizieren lassen. Unsere Kurse vermitteln technische Fähigkeiten und Best Practices, damit Sie möglichst schnell mit Google Cloud loslegen und Ihr Wissen fortlaufend erweitern können. Wir bieten On-Demand-, Präsenz- und virtuelle Schulungen für Anfänger wie Fortgeschrittene an, die Sie individuell in Ihrem eigenen Zeitplan absolvieren können. Mit unseren Zertifizierungen weisen Sie nach, dass Sie Experte im Bereich Google Cloud-Technologien sind.

Handbuch zuletzt aktualisiert am 14. Mai 2024

Lab zuletzt getestet am 14. Mai 2024

© 2024 Google LLC. Alle Rechte vorbehalten. Google und das Google-Logo sind Marken von Google LLC. Alle anderen Unternehmens- und Produktnamen können Marken der jeweils mit ihnen verbundenen Unternehmen sein.