Mit Compute Engine eine Verbindung zu Cloud SQL for PostgreSQL herstellen
Erfahren Sie, wie Sie eine Beispielanwendung auf Ihrer Compute Engine-VM-Instanz unter Linux oder Windows bereitstellen, die über die Google Cloud Console und eine Clientanwendung mit einer PostgreSQL-Instanz verbunden ist.
Angenommen, Sie führen alle Schritte zeitnah aus. Die in dieser Kurzanleitung erstellten Ressourcen kosten in der Regel weniger als einen Dollar (US-Dollar).
Vorbereitung
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Die Abrechnung für das Google Cloud-Projekt muss aktiviert sein.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Die Abrechnung für das Google Cloud-Projekt muss aktiviert sein.
-
Aktivieren Sie die Cloud APIs, die zum Ausführen einer Cloud SQL-Beispielanwendung auf einer Compute Engine-VM-Instanz erforderlich sind.
Console
Klicken Sie auf die Schaltfläche APIs aktivieren, um die für diese Kurzanleitung erforderlichen APIs zu aktivieren.
Dadurch wird die folgende API aktiviert:
- Cloud SQL Admin API
gcloud
Installieren Sie die gcloud CLI, die Befehlszeilenzugriff auf Ihre Google Cloud-Ressourcen bietet. Mit der gcloud CLI werden die in dieser Kurzanleitung vorgestellten
gcloud CLI
-Befehle ausgeführt. Alle Befehle sind so formatiert, dass sie in einem Terminal oder in einem PowerShell-Fenster ausgeführt werden.Führen Sie folgenden Befehl
gcloud
aus:gcloud services enable sqladmin.googleapis.com
Mit diesem Befehl wird die folgende API aktiviert:
- Cloud SQL Admin API
Cloud SQL einrichten
Cloud SQL-Instanz erstellen
Datenbank erstellen
Console
-
Wechseln Sie in der Google Cloud Console zur Seite Cloud SQL-Instanzen.
- Wählen Sie
quickstart-instance
aus. - Öffnen Sie den Tab Datenbanken.
- Klicken Sie auf Datenbank erstellen.
- Geben Sie im Dialogfeld Neue Datenbank
quickstart_db
als Namen für die Datenbank ein.
- Klicken Sie auf Erstellen.
gcloud
Führen Sie den Befehl gcloud
sql databases create
aus, um eine Datenbank zu erstellen.
gcloud sql databases create quickstart_db --instance=quickstart-instance
Nutzer erstellen
Console
-
Wechseln Sie in der Google Cloud Console zur Seite Cloud SQL-Instanzen.
- Klicken Sie auf den Instanznamen, um die Seite Übersicht einer Instanz zu öffnen.
- Wählen Sie im SQL-Navigationsmenü die Option Nutzer aus.
- Klicken Sie auf Nutzerkonto hinzufügen.
- Geben Sie auf der Seite Nutzerkonto zur Instanz Instanzname hinzufügen die folgenden Informationen ein:
- Geben Sie im Feld Nutzername
quickstart-user
ein. - Geben Sie im Feld Passwort ein Passwort für den Datenbanknutzer ein. Notieren Sie dies zur Verwendung in einem späteren Schritt dieser Kurzanleitung.
- Geben Sie im Feld Nutzername
- Klicken Sie auf Add.
gcloud
Bevor Sie den folgenden Befehl ausführen, ersetzen Sie die folgenden Werte:
- PASSWORD durch ein Passwort für Ihren Datenbanknutzer. Notieren Sie dies zur Verwendung in einem späteren Schritt dieser Kurzanleitung.
Führen Sie den Befehl gcloud sql users create
aus, um den Nutzer zu erstellen.
gcloud sql users create quickstart-user --instance=quickstart-instance --password=PASSWORD
Für Cloud SQL gelten die gleichen Längenbeschränkungen für Nutzernamen wie für lokales PostgreSQL.
Compute Engine-Dienstkonto konfigurieren
Console
Dienstkonto erstellen
- Wechseln Sie in der Google Cloud Console zur Seite Dienstkonto erstellen.
- Wählen Sie ein Google Cloud-Projekt aus.
- Geben Sie ein
quickstart-service-account
als Namen des Dienstkontos ein. - Optional: Geben Sie eine Beschreibung für das Dienstkonto ein.
- Klicken Sie auf Erstellen und fortfahren und fahren Sie mit dem nächsten Schritt fort.
- Wählen Sie die Rolle Cloud SQL-Client aus, die dem Dienstkonto für das Projekt zugewiesen werden soll.
- Klicken Sie auf Weitere Rolle hinzufügen und wählen Sie die Rolle Storage-Objekt-Betrachter aus, die dem Dienstkonto für das Projekt zugewiesen werden soll.
- Klicken Sie auf Weiter.
- Klicken Sie auf Fertig, um das Erstellen des Dienstkontos abzuschließen.
Zur Seite „Dienstkonto erstellen“
gcloud
Dienstkonto erstellen
- Führen Sie den Befehl
gcloud iam service-accounts create
aus, um das Dienstkonto zu erstellen. DESCRIPTION
: Eine optionale Beschreibung des Dienstkontos.- So weisen Sie Ihrem Dienstkonto die folgende Rolle zu:Cloud SQL-Client die Rolle und dieStorage-Objekt-Betrachter führen Sie den folgenden Befehl aus:
gcloud projects add-iam-policy-binding
. Ersetzen Sie PROJECT_ID durch Ihre Google Cloud-Projekt-ID.gcloud projects add-iam-policy-binding PROJECT_ID --member="serviceAccount:quickstart-service-account@PROJECT_ID.iam.gserviceaccount.com" --role="roles/cloudsql.client" --role="roles/storage.objectViewer"
gcloud iam service-accounts create quickstart-service-account --description="DESCRIPTION" --display-name="quickstart-service-account"
Ersetzen Sie den folgenden Wert:
Compute Engine-VM-Instanz erstellen
Erstellen Sie eine Compute Engine-VM-Instanz, um eine Beispielwebanwendung zu hosten, die eine Verbindung zu Cloud SQL herstellt.
Auf Compute Engine-VM-Instanz zugreifen
Entwicklungsumgebung für die Programmiersprache einrichten
Richten Sie die Entwicklungsumgebung der Compute Engine-VM-Instanz für Ihre bevorzugte Programmiersprache ein.
Git installieren
Installieren Sie Git, ein Open-Source-Versionsverwaltungssystem, auf Ihrer Compute Engine-VM-Instanz.
Beispielanwendung klonen
Klonen Sie eine Beispielanwendung mit dem Befehl git clone
auf Ihre Compute Engine-VM-Instanz.
Einfach loslegen (Go)
Öffnen Sie auf der Compute Engine-VM-Instanz ein neues Terminal oder PowerShell-Fenster. Führen Sie die folgenden Befehle aus, um die Go-Beispielanwendung zu klonen, und ändern Sie das Verzeichnis in das Verzeichnis, das die Beispielanwendung enthält.
-
Klonen Sie die Beispielanwendung.
git clone https://github.com/GoogleCloudPlatform/golang-samples
-
Wechseln Sie in das Verzeichnis, das die Beispielanwendung enthält.
cd golang-samples/cloudsql/postgres/database-sql
Java
Öffnen Sie auf der Compute Engine-VM-Instanz ein neues Terminal oder PowerShell-Fenster. Führen Sie die folgenden Befehle aus, um die Java-Beispielanwendung zu klonen, und ändern Sie das Verzeichnis in das Verzeichnis, das die Beispielanwendung enthält.
-
Klonen Sie die Beispielanwendung.
git clone https://github.com/GoogleCloudPlatform/java-docs-samples
-
Wechseln Sie in das Verzeichnis, das die Beispielanwendung enthält.
cd java-docs-samples/cloud-sql/postgres/servlet
Node.js
Öffnen Sie auf der Compute Engine-VM-Instanz ein neues Terminal oder PowerShell-Fenster. Führen Sie die folgenden Befehle aus, um die Node.js-Beispielanwendung zu klonen, und ändern Sie das Verzeichnis in das Verzeichnis, das die Beispielanwendung enthält.
-
Klonen Sie die Beispielanwendung.
git clone https://github.com/GoogleCloudPlatform/nodejs-docs-samples
-
Wechseln Sie in das Verzeichnis, das die Beispielanwendung enthält.
cd nodejs-docs-samples/cloud-sql/postgres/knex
Python
Öffnen Sie auf der Compute Engine-VM-Instanz ein neues Terminal oder PowerShell-Fenster. Führen Sie die folgenden Befehle aus, um die Python-Beispielanwendung zu klonen, und ändern Sie das Verzeichnis in das Verzeichnis, das die Beispielanwendung enthält.
-
Klonen Sie die Beispielanwendung.
git clone https://github.com/GoogleCloudPlatform/python-docs-samples
-
Wechseln Sie in das Verzeichnis, das die Beispielanwendung enthält.
cd python-docs-samples/cloud-sql/postgres/sqlalchemy
Cloud SQL-Beispielanwendung konfigurieren und ausführen
Mit einer Cloud SQL-Instanz, -Datenbank und -Dienstkonto mit Clientberechtigungen können Sie jetzt eine Beispielanwendung konfigurieren, die auf Ihrer Compute Engine-VM-Instanz ausgeführt wird, um eine Verbindung zu Ihrer Cloud SQL-Instanz herzustellen.
Bereinigen
Mit den folgenden Schritten vermeiden Sie, dass Ihrem Google Cloud-Konto die in dieser Anleitung verwendeten Ressourcen in Rechnung gestellt werden:
Cloud SQL-Instanz löschen
-
Wechseln Sie in der Google Cloud Console zur Seite Cloud SQL-Instanzen.
- Wählen Sie die Instanz
quickstart-instance
aus, um die Seite Instanzendetails zu öffnen. - Klicken Sie oben auf der Seite in der Symbolleiste auf Löschen.
- Geben Sie im Dialogfeld Instanz löschen
quickstart-instance
ein und klicken Sie dann auf Löschen, um die Instanz zu löschen.
Compute Engine-VM-Instanz löschen
-
Rufen Sie in der Google Cloud Console die Seite VM-Instanzen auf.
- Wählen Sie die Instanz
quickstart-vm-instance
aus, um die Seite Instanzendetails zu öffnen. - Klicken Sie oben auf der Seite in der Symbolleiste auf Löschen.
- Klicken Sie auf Löschen , um die Instanz zu löschen.
Optionale Bereinigungsschritte
Wenn Sie nicht die Rolle Cloud SQL-Client verwenden, die Sie dem Compute Engine default
-Dienstkonto zugewiesen haben, können Sie sie entfernen.
-
Öffnen Sie in der Google Cloud Console die Seite IAM.
- Klicken Sie auf das Stiftsymbol für das IAM-Konto Compute Engine-Standarddienstkonto.
- Löschen Sie die Rolle Cloud SQL-Client.
- Klicken Sie auf Speichern.
Wenn Sie nicht die API verwenden, die im Rahmen dieser Kurzanleitung aktiviert wurde, können Sie sie deaktivieren.
- In dieser Kurzanleitung aktivierte APIs:
- Cloud SQL Admin API
Öffnen Sie in der Google Cloud Console die Seite APIs.
Wählen Sie eine API aus, die Sie deaktivieren möchten, und klicken Sie dann auf die Schaltfläche API deaktivieren.
Nächste Schritte
Je nach Bedarf können Sie sich eingehender über das Erstellen von Cloud SQL-Instanzen informieren.Sie können sich auch über das Erstellen von PostgreSQL-Nutzern und Datenbanken für Ihre Cloud SQL-Instanz informieren.
Weitere Informationen zu Preisen finden Sie unter Cloud SQL for PostgreSQL – Preise.
Mehr zu folgenden Themen:
- Cloud SQL-Instanz mit einer öffentlichen IP-Adresse konfigurieren
- Cloud SQL-Instanz mit einer privaten IP-Adresse konfigurieren
Außerdem erfahren Sie, wie Sie von anderen Google Cloud-Anwendungen aus eine Verbindung zu einer Cloud SQL-Instanz herstellen können: