Prüfpunkte
Import infrastructure
/ 20
Configure a remote backend
/ 10
Modify and update infrastructure
/ 20
Destroy resources
/ 10
Use a Module from the Registry
/ 20
Configure a firewall
/ 20
Infrastruktur mit Terraform in Google Cloud aufbauen: Challenge Lab
- GSP345
- Übersicht
- Einrichtung und Anforderungen
- Das Szenario
- Aufgabe 1: Konfigurationsdateien erstellen
- Aufgabe 2: Infrastruktur importieren
- Aufgabe 3: Remote-Backend konfigurieren
- Aufgabe 4: Infrastruktur ändern und aktualisieren
- Aufgabe 5: Ressourcen löschen
- Aufgabe 6: Modul aus der Registry verwenden
- Aufgabe 7: Firewall konfigurieren
- Glückwunsch!
GSP345
Ü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)
- Zeit für die Durchführung des Labs – denken Sie daran, dass Sie ein begonnenes Lab nicht unterbrechen können.
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.
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
- Erstellen Sie in Cloud Shell Ihre Terraform-Konfigurationsdateien und eine Verzeichnisstruktur ähnlich zu dieser:
- 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
undproject_id
. Verwenden Sie als Standardwerte, und Ihre Projekt-ID in Google Cloud.
-
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. -
Initialisieren Sie Terraform.
Aufgabe 2: Infrastruktur importieren
- 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.
- 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
undtf-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
undallow_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 - Benennen Sie die Instanzen mit
- Sobald Sie die Ressourcenkonfigurationen im Modul geschrieben haben, verwenden Sie den Befehl
terraform import
, um sie in das Modul Instanzen zu importieren.
- 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.
Aufgabe 3: Remote-Backend konfigurieren
-
Erstellen Sie eine Cloud Storage-Bucket-Ressource im Modul
storage
. Geben Sie als Bucketname die Variablean. Die restlichen Argumente geben Sie einfach so an: location = "US"
force_destroy = true
uniform_bucket_level_access = true
outputs.tf
hinzufügen. -
Fügen Sie die Modulreferenz in die Datei
main.tf
ein. Initialisieren Sie das Modul und wenden Sie die Änderungen mitapply
an, um den Bucket mit Terraform zu erstellen. -
Konfigurieren Sie diesen Storage-Bucket als das Remote-Backend in der Datei
main.tf
. Achten Sie darauf, das Präfixterraform/state
zu verwenden, damit es erfolgreich bewertet werden kann. -
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 Eingabeaufforderungyes
ein.
Klicken Sie auf Fortschritt prüfen.
Aufgabe 4: Infrastruktur ändern und aktualisieren
-
Rufen Sie das Modul Instanzen auf und bearbeiten Sie die Ressource tf-instance-1 so, dass Sie den Maschinentyp
e2-standard-2
verwendet. -
Bearbeiten Sie die Ressource tf-instance-2 so, dass Sie den Maschinentyp
e2-standard-2
verwendet. -
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 aufe2-standard-2
geändert wird. -
Initialisieren Sie Terraform und wenden Sie die Änderungen mit
apply
an.
outputs.tf
innerhalb des Moduls hinzufügen. Klicken Sie auf Fortschritt prüfen.
Aufgabe 5: Ressourcen löschen
- 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.
Aufgabe 6: Modul aus der Registry verwenden
-
Rufen Sie in der Terraform Registry das Netzwerkmodul auf.
-
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
undsubnet-02
. Für die Subnetzargumente benötigen Sie nur Name, IP und Region. - Verwenden Sie die IP-Adresse
10.10.10.0/24
fürsubnet-01
und10.10.20.0/24
fürsubnet-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.
-
Sobald Sie die Modulkonfiguration geschrieben haben, initialisieren Sie Terraform und führen Sie
apply
aus, um die Netzwerke zu erstellen. -
Rufen Sie als Nächstes die Datei
instances.tf
auf und aktualisieren Sie die Konfigurationsressourcen so, dass eine Verbindung von tf-instance-1 zusubnet-01
und von tf-instance-2 zusubnet-02
aufgebaut wird.
ändern und anschließend das Argument subnetwork mit dem richtigen Subnetz für jede Instanz aktualisieren.
Klicken Sie auf Fortschritt prüfen.
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.
- Diese Firewallregel sollte zulassen, dass das Netzwerk
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.
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.
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.