Create Cloud SQL instance using Terraform script

Fortschritt prüfen

/ 100

Dieses Lab kann KI-Tools enthalten, die den Lernprozess unterstützen.
Dieser Inhalt ist noch nicht für Mobilgeräte optimiert.
Die Lernumgebung funktioniert am besten, wenn Sie auf einem Computer über einen per E‑Mail gesendeten Link darauf zugreifen.

GSP234

Google Cloud-Labs zum selbstbestimmten Lernen

Übersicht

In diesem praxisorientierten Lab erfahren Sie, wie Sie Cloud SQL-Instanzen mit Terraform erstellen, dann den Cloud SQL-Proxy einrichten und die Verbindung mit dem MySQL-Client testen.

Ziele

Aufgaben in diesem Lab:

  • Cloud SQL-Instanz erstellen
  • Cloud SQL-Proxy installieren
  • Verbindung zum MySQL-Client über die Cloud Shell 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 Google Cloud-Ressourcen für das Lab verfügbar sind.

In diesem praxisorientierten Lab können Sie die Lab-Aktivitäten in einer echten Cloud-Umgebung 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 (empfohlen), 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: Verwenden Sie für dieses Lab nur das Teilnehmerkonto. Wenn Sie ein anderes Google Cloud-Konto verwenden, fallen dafür möglicherweise Kosten an.

Lab starten und bei der Google Cloud Console anmelden

  1. Klicken Sie auf Lab starten. Wenn Sie für das Lab bezahlen müssen, wird ein Dialogfeld geöffnet, in dem Sie Ihre Zahlungsmethode auswählen können. Auf der rechten Seite befindet sich der Bereich Lab-Einrichtung und ‑Zugriff:

    • Button Google Cloud Console öffnen
    • Die temporären Anmeldedaten (Nutzername und Passwort), die Sie für dieses Lab verwenden müssen
    • Gegebenenfalls weitere Informationen für dieses Lab

    Der Lab-Timer befindet sich oben auf der Seite und zeigt die verbleibende Zeit an.

  2. Klicken Sie auf Google Cloud Console öffnen. Wenn Sie Chrome verwenden, können Sie auch rechtsklicken und Link in Inkognitofenster öffnen auswählen.

    Im Lab werden Ressourcen aktiviert. Anschließend wird ein weiterer Tab mit der Seite „Anmelden“ geöffnet.

    Tipp: Ordnen Sie die Tabs nebeneinander in separaten Fenstern an.

    Hinweis: Wird das Dialogfeld Konto auswählen angezeigt, klicken Sie auf Anderes Konto verwenden.
  3. Kopieren Sie bei Bedarf den folgenden Nutzernamen und fügen Sie ihn in das Dialogfeld Anmelden ein.

    {{{user_0.username | "Username"}}}

    Sie finden den Nutzernamen auch im Bereich Lab-Einrichtung und ‑Zugriff.

  4. Klicken Sie auf Weiter.

  5. Kopieren Sie das folgende Passwort und fügen Sie es in das Dialogfeld Willkommen ein.

    {{{user_0.password | "Password"}}}

    Sie finden das Passwort auch im Bereich Lab-Einrichtung und ‑Zugriff.

  6. Klicken Sie auf Weiter.

    Wichtig: Sie müssen die für das Lab bereitgestellten Anmeldedaten verwenden. Nutzen Sie nicht die Anmeldedaten Ihres Google Cloud-Kontos. Hinweis: Wenn Sie Ihr eigenes Google Cloud-Konto für dieses Lab nutzen, können zusätzliche Kosten anfallen.
  7. Klicken Sie sich durch die nachfolgenden Seiten:

    • Akzeptieren Sie die Nutzungsbedingungen.
    • Fügen Sie keine Wiederherstellungsoptionen oder 2-Faktor-Authentifizierung hinzu, da dies nur ein temporäres Konto ist.
    • Melden Sie sich nicht für kostenlose Testversionen an.

Nach wenigen Augenblicken wird die Google Cloud Console in diesem Tab geöffnet.

Hinweis: Wenn Sie auf Google Cloud-Produkte und ‑Dienste zugreifen möchten, klicken Sie auf das Navigationsmenü oder geben Sie den Namen des Produkts oder Dienstes in das Feld Suchen ein. Symbol für das Navigationsmenü und Suchfeld

Cloud Shell aktivieren

Cloud Shell ist eine virtuelle Maschine, auf der Entwicklertools installiert sind. Sie bietet ein Basisverzeichnis mit 5 GB nichtflüchtigem Speicher und läuft auf Google Cloud. Mit Cloud Shell erhalten Sie Befehlszeilenzugriff auf Ihre Google Cloud-Ressourcen.

  1. Klicken Sie oben in der Google Cloud Console auf Cloud Shell aktivieren Symbol für Cloud Shell-Aktivierung.

  2. Klicken Sie sich durch die folgenden Fenster:

    • Fahren Sie mit dem Informationsfenster zu Cloud Shell fort.
    • Autorisieren Sie Cloud Shell, Ihre Anmeldedaten für Google Cloud API-Aufrufe zu verwenden.

Wenn eine Verbindung besteht, sind Sie bereits authentifiziert und das Projekt ist auf Project_ID, eingestellt. Die Ausgabe enthält eine Zeile, in der die Project_ID für diese Sitzung angegeben ist:

Ihr Cloud-Projekt in dieser Sitzung ist festgelegt als {{{project_0.project_id | "PROJECT_ID"}}}

gcloud ist das Befehlszeilentool für Google Cloud. Das Tool ist in Cloud Shell vorinstalliert und unterstützt die Tab-Vervollständigung.

  1. (Optional) Sie können den aktiven Kontonamen mit diesem Befehl auflisten:
gcloud auth list
  1. Klicken Sie auf Autorisieren.

Ausgabe:

ACTIVE: * ACCOUNT: {{{user_0.username | "ACCOUNT"}}} Um das aktive Konto festzulegen, führen Sie diesen Befehl aus: $ gcloud config set account `ACCOUNT`
  1. (Optional) Sie können die Projekt-ID mit diesem Befehl auflisten:
gcloud config list project

Ausgabe:

[core] project = {{{project_0.project_id | "PROJECT_ID"}}} Hinweis: Die vollständige Dokumentation für gcloud finden Sie in Google Cloud in der Übersicht zur gcloud CLI.

Terraform installieren

Terraform ist nicht in Cloud Shell vorinstalliert. Sie müssen die Terraform-Befehlszeile installieren und so konfigurieren, dass sie über Ihre Cloud Shell-Sitzungen hinweg beibehalten wird.

  1. Führen Sie die folgenden Befehle im Cloud Shell-Terminal aus, um das HashiCorp-Repository zu konfigurieren, Terraform zu installieren und dafür zu sorgen, dass diese Installation auch in zukünftigen Sitzungen erhalten bleibt:
cat <<'EOF' > ~/.customize_environment # HashiCorp-Repository einrichten und Terraform installieren wget -O - https://apt.releases.hashicorp.com/gpg | sudo gpg --dearmor -o /usr/share/keyrings/hashicorp-archive-keyring.gpg echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/hashicorp-archive-keyring.gpg] https://apt.releases.hashicorp.com $(grep -oP '(?<=UBUNTU_CODENAME=).*' /etc/os-release || lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/hashicorp.list sudo apt update && sudo apt install -y terraform EOF bash ~/.customize_environment
  1. Führen Sie den folgenden Befehl aus, um zu prüfen, ob Terraform korrekt installiert wurde:
terraform --version

In der Ausgabe sollte die installierte Version (v1.5.7 oder höher) angezeigt werden:

Terraform v1.9.0

Cloud SQL

Cloud SQL ist ein vollständig verwalteter Datenbankdienst, mit dem sich relationale Datenbanken in Google Cloud ganz einfach einrichten, warten und verwalten lassen. Sie können Cloud SQL entweder mit MySQL oder PostgreSQL nutzen.

Aufgabe 1: Erforderliche Dateien herunterladen

  1. Verwenden Sie den folgenden Befehl im Cloud Shell-Terminal, um ein Verzeichnis zu erstellen und die erforderlichen Terraform-Scripts aus dem Cloud Storage-Bucket abzurufen:
mkdir sql-with-terraform cd sql-with-terraform gcloud storage cp gs://spls/gsp234/gsp234.zip .
  1. Führen Sie den folgenden Befehl aus, um den heruntergeladenen Inhalt zu entpacken:
unzip gsp234.zip

Aufgabe 2: Den Code verstehen

  1. Sehen Sie sich über den Befehl cat den Inhalt der Datei main.tf an:
cat main.tf

Beispielausgabe:

... resource "google_sql_database_instance" "master" { name = "example-mysql-${random_id.name.hex}" project = var.project region = var.region database_version = var.database_version master_instance_name = var.master_instance_name settings { tier = var.tier activation_policy = var.activation_policy authorized_gae_applications = var.authorized_gae_applications disk_autoresize = var.disk_autoresize dynamic "backup_configuration" { for_each = [var.backup_configuration] content { binary_log_enabled = lookup(backup_configuration.value, "binary_log_enabled", null) enabled = lookup(backup_configuration.value, "enabled", null) start_time = lookup(backup_configuration.value, "start_time", null) } } dynamic "ip_configuration" { for_each = [var.ip_configuration] content { ipv4_enabled = lookup(ip_configuration.value, "ipv4_enabled", true) private_network = lookup(ip_configuration.value, "private_network", null) require_ssl = lookup(ip_configuration.value, "require_ssl", null) dynamic "authorized_networks" { for_each = lookup(ip_configuration.value, "authorized_networks", []) content { expiration_time = lookup(authorized_networks.value, "expiration_time", null) name = lookup(authorized_networks.value, "name", null) value = lookup(authorized_networks.value, "value", null) } } } } ...

Als Nächstes aktualisieren Sie die Datei variables.tf, um die Projekt-ID und die Region zu verwenden, die diesem Lab zugewiesen wurden.

  1. Öffnen Sie im Cloud Shell-Editor im selben Verzeichnis die Datei variables.tf. Wie zuvor sehen Sie das Symbol <> rechts oben im Editor.

  2. Klicken Sie in der Symbolleiste auf das Symbol  <>.

  3. das über die Symbolleiste geöffnet wird, um die Variablen project und region zu aktualisieren:

Update the variables.tf configuration file with the following changes: * Set the `default` argument for the "project" variable to {{{project_0.project_id | PROJECT_ID}}}. * Set the `default` argument for the "region" variable to {{{project_0.default_region | REGION}}}.
  1. Drücken Sie die Eingabetaste,

  2. Klicken Sie in der auf Akzeptieren, wenn Sie dazu aufgefordert werden.

Das aktualisierte default-Argument für die Variablen project und region in der Konfigurationsdatei variables.tf sieht jetzt in etwa so aus:

variable "project" { description = "The project to deploy to, if not set the default provider project is used." default = "{{{project_0.project_id | PROJECT_ID}}}" } variable "region" { description = "Region for cloud resources" default = "{{{project_0.default_region | REGION}}}" }

Speichern Sie die Änderungen, wenn Sie fertig sind.

Aufgabe 3: Terraform ausführen

Mit dem Befehl terraform init wird ein Arbeitsverzeichnis mit Terraform-Konfigurationsdateien erstellt.

Außerdem erfolgen damit mehrere Initialisierungsschritte, um ein Arbeitsverzeichnis für die Verwendung vorzubereiten. Der Befehl kann bedenkenlos mehrfach ausgeführt werden, um bei Konfigurationsänderungen das Arbeitsverzeichnis entsprechend zu aktualisieren.

  1. Führen Sie den Befehl terraform init aus:
terraform init

Der Befehl terraform plan ist optional, wird aber empfohlen und dient der Erstellung eines Ausführungsplans. Sofern Terraform nicht explizit deaktiviert ist, führt es eine Aktualisierung durch und ermittelt dann, welche Aktionen erforderlich sind, um den in den Konfigurationsdateien angegebenen gewünschten Status zu erreichen.

Mit diesem Befehl können Sie ganz unkompliziert prüfen, ob der Ausführungsplan für eine Reihe an Änderungen Ihren Erwartungen entspricht, ohne Änderungen an den eigentlichen Ressourcen oder am Status vorzunehmen. Sie können terraform plan beispielsweise ausführen, bevor Sie eine Änderung endgültig in die Versionsverwaltung übernehmen, und so feststellen, ob alles wie vorgesehen funktioniert.

  1. Führen Sie terraform plan aus:
terraform plan -out=tfplan

Mit dem optionalen -out-Argument können Sie den erstellten Plan in einer Datei speichern, um ihn später mit dem Befehl terraform apply auszuführen.

Mit dem Befehl terraform apply werden die Änderungen angewandt, die erforderlich sind, um den gewünschten Konfigurationsstatus zu erreichen oder die vordefinierten Aktionen auszuführen, die von einem terraform plan-Ausführungsplan generiert wurden.

  1. Wenden Sie den gerade erstellten Terraform-Plan an:
terraform apply tfplan

Dieser Vorgang dauert eine Weile. Nach Abschluss des Vorgangs sollten Sie in etwa folgende Ausgabe sehen:

Ausgabe:

Apply complete! Resources: 5 added, 0 changed, 0 destroyed. The state of your infrastructure has been saved to the path below. This state is required to modify and destroy your infrastructure, so keep it safe. To inspect the complete state use the `terraform show` command. State path: terraform.tfstate Outputs: generated_user_password = instance_address = 35.232.204.44 instance_address_time_to_retire = instance_name = example-mysql-6808 self_link = https://www.googleapis.com/sql/v1beta4/projects/[PROJECT_ID]/instances/example-mysql-6808

Abgeschlossene Aufgabe testen

Klicken Sie auf Fortschritt prüfen. Cloud SQL-Instanz mit Terraform-Script erstellen

Aufgabe 4: Cloud SQL-Proxy

Proxymerkmale

Der Cloud SQL-Proxy ermöglicht einen sicheren Zugriff auf Cloud SQL-Instanzen der zweiten Generation, ohne dass Sie IP-Adressen auf die Zulassungsliste setzen oder SSL konfigurieren müssen.

Vorteile des Zugriffs auf Cloud SQL-Instanzen mit dem Cloud SQL-Proxy:

  • Sichere Verbindungen: Der Proxy verschlüsselt automatisch den Traffic zu und von der Datenbank unter Verwendung von TLS 1.2 mit einer 128-Bit-AES-Chiffre. Zur Überprüfung der Identität von Client und Server werden SSL-Zertifikate verwendet.
  • Vereinfachte Verbindungsverwaltung: Der Proxy übernimmt die Authentifizierung mit Cloud SQL. Daher ist es nicht erforderlich, eine statische IP-Adresse bereitzustellen.
Hinweis: Um über die standardmäßige oder flexible Umgebung von App Engine eine Verbindung zu Cloud SQL herzustellen, müssen Sie weder den Proxy nutzen noch SSL konfigurieren. Für die entsprechenden Verbindungen wird automatisch eine integrierte Proxyimplementierung verwendet.

Funktionsweise des Cloud SQL-Proxys

Der Cloud SQL-Proxy verfügt über einen lokalen Client, den sogenannten Proxy, der in der lokalen Umgebung ausgeführt wird. Die Anwendung kommuniziert über das von der Datenbank verwendete Standardprotokoll mit dem Proxy. Der Proxy kommuniziert über einen sicheren Tunnel mit dem Begleitprozess, der auf dem Server ausgeführt wird.

Das Diagramm zeigt, wie der Proxy die Verbindung zu Cloud SQL herstellt:

Diagramm der Proxyverbindung, das den Drittanbieter- und Cloud SQL-Code im Cloud SQL- und Clientcomputer enthält.

Aufgabe 5: Cloud SQL-Proxy installieren

  1. Führen Sie den folgenden Befehl aus, um den Proxy herunterzuladen:
wget https://dl.google.com/cloudsql/cloud_sql_proxy.linux.amd64 -O cloud_sql_proxy
  1. Führen Sie den folgenden Befehl aus, um den Proxy ausführbar zu machen:
chmod +x cloud_sql_proxy

Sie können den Proxy überall in Ihrer Umgebung installieren. Der Speicherort der Proxy-Binärdateien hat keinen Einfluss darauf, wo Daten von der Anwendung überwacht werden.

Proxy-Startoptionen

Wenn Sie den Proxy starten, geben Sie die folgenden Informationen an:

  • Cloud SQL-Instanzen, zu denen der Proxy eine Verbindung herstellen soll
  • Ports/Sockets zur Überwachung der Daten, die von der Anwendung an Cloud SQL gesendet werden
  • Speicherort der Anmeldedaten zum Authentifizieren der Anwendung bei Cloud SQL

Mit den angegebenen Proxy-Startoptionen wird ermittelt, ob der Proxy einen TCP-Port oder einen Unix-Socket überwachen soll. Soll Letzterer überwacht werden, wird der Socket an der gewählten Position erstellt (normalerweise im Verzeichnis /cloudsql/). Bei TCP erfolgt die Überwachung durch den Proxy standardmäßig auf localhost.

Aufgabe 6: Verbindung zur Datenbank testen

  1. Führen Sie zuerst den Cloud SQL-Proxy für die Cloud SQL-Instanz aus:
MYSQL_DB_NAME=$(terraform output -json | jq -r '.instance_name.value') MYSQL_CONN_NAME="{{{project_0.project_id | PROJECT_ID}}}:{{{project_0.default_region|REGION}}}:${MYSQL_DB_NAME}"
  1. Führen Sie dazu diesen Befehl aus:
./cloud_sql_proxy -instances=${MYSQL_CONN_NAME}=tcp:3306

Öffnen Sie nun einen weiteren Tab in der Cloud Shell, indem Sie auf das Plus-Symbol (+) klicken. Über diese Shell verbinden Sie sich mit dem Cloud SQL-Proxy.

  1. Führen Sie den folgenden Befehl aus, um zum Verzeichnis sql-with-terraform zu wechseln:
cd ~/sql-with-terraform
  1. Fragen Sie das generierte Passwort für MySQL mit dem folgenden Befehl ab:
echo MYSQL_PASSWORD=$(terraform output -json | jq -r '.generated_user_password.value')
  1. Führen Sie den folgenden Befehl aus, um die MySQL-Verbindung zu testen:
mysql -udefault -p --host 127.0.0.1 default
  1. Geben Sie bei entsprechender Aufforderung den Wert für MYSQL_PASSWORD aus der oben gezeigten Ausgabe ein und drücken Sie die Eingabetaste.

  2. Sie sollten erfolgreich in der MySQL-Befehlszeile angemeldet werden. Beenden Sie MySQL mit Strg + D.

Im ersten Cloud Shell-Tab werden die Logs für die Verbindungen mit dem Cloud SQL-Proxy angezeigt.

Aufgabe 7: Testen Sie Ihr Wissen

Im Folgenden stellen wir Ihnen einige Multiple-Choice-Fragen, um Ihr bisher erworbenes Wissen zu testen und zu festigen. Beantworten Sie die Fragen, so gut Sie können.

Das wars! Sie haben das Lab erfolgreich abgeschlossen

Dabei haben Sie mit Terraform eine Cloud SQL-Instanz erstellt und den Cloud SQL-Proxy eingerichtet. Anschließend haben Sie die Verbindung zwischen den beiden mit einem MySQL-Client getestet.

Weitere Informationen

Google Cloud-Projekte mit Terraform verwalten

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.

Anleitung zuletzt am 29. August 2025 aktualisiert

Lab zuletzt am 13. Oktober 2025 getestet

© 2026 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.

Vorbereitung

  1. Labs erstellen ein Google Cloud-Projekt und Ressourcen für einen bestimmten Zeitraum
  2. Labs haben ein Zeitlimit und keine Pausenfunktion. Wenn Sie das Lab beenden, müssen Sie von vorne beginnen.
  3. Klicken Sie links oben auf dem Bildschirm auf Lab starten, um zu beginnen

Privates Surfen verwenden

  1. Kopieren Sie den bereitgestellten Nutzernamen und das Passwort für das Lab
  2. Klicken Sie im privaten Modus auf Konsole öffnen

In der Konsole anmelden

  1. Melden Sie sich mit Ihren Lab-Anmeldedaten an. Wenn Sie andere Anmeldedaten verwenden, kann dies zu Fehlern führen oder es fallen Kosten an.
  2. Akzeptieren Sie die Nutzungsbedingungen und überspringen Sie die Seite zur Wiederherstellung der Ressourcen
  3. Klicken Sie erst auf Lab beenden, wenn Sie das Lab abgeschlossen haben oder es neu starten möchten. Andernfalls werden Ihre bisherige Arbeit und das Projekt gelöscht.

Diese Inhalte sind derzeit nicht verfügbar

Bei Verfügbarkeit können wir Sie per E-Mail benachrichtigen

Sehr gut!

Bei Verfügbarkeit können wir Sie per E-Mail kontaktieren

Es ist immer nur ein Lab möglich

Bestätigen Sie, dass Sie alle vorhandenen Labs beenden und dieses Lab starten möchten

Privates Surfen für das Lab verwenden

Am besten führen Sie dieses Lab in einem Inkognito- oder privaten Browserfenster aus. So vermeiden Sie Konflikte zwischen Ihrem privaten Konto und dem Teilnehmerkonto, die zusätzliche Kosten für Ihr privates Konto verursachen könnten.