Verbindung zu Cloud SQL for PostgreSQL mit Cloud Run herstellen
Erfahren Sie, wie Sie eine Beispielanwendung in Cloud Run bereitstellen, die mit einer PostgreSQL-Instanz verbunden ist. Verwenden Sie dazu die Google Cloud Console und eine Clientanwendung.
Angenommen, Sie führen alle Schritte zeitnah aus. Die in dieser Kurzanleitung erstellten Ressourcen kosten in der Regel weniger als einen Dollar (US-Dollar).
Eine detaillierte Anleitung dazu finden Sie direkt in der Google Cloud Console. Klicken Sie dazu einfach auf Anleitung:
Hinweis
- Melden Sie sich in Ihrem Google Cloud -Konto an. Wenn Sie mit Google Cloudnoch nicht vertraut sind, erstellen Sie ein Konto, um die Leistungsfähigkeit unserer Produkte in der Praxis sehen und bewerten zu können. Neukunden erhalten außerdem ein Guthaben von 300 $, um Arbeitslasten auszuführen, zu testen und bereitzustellen.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
- Prüfen Sie, ob Sie die Berechtigungen haben, die für diese Kurzanleitung erforderlich sind.
-
Aktivieren Sie die Cloud APIs, die zum Ausführen einer Cloud SQL-Beispielanwendung in Cloud Run erforderlich sind.
Console
Klicken Sie auf APIs aktivieren, um die für diese Kurzanleitung erforderlichen APIs zu aktivieren.
Dadurch werden die folgenden APIs aktiviert:
- Compute Engine API
- Cloud SQL Admin API
- Cloud Run API
- Container Registry API
- Cloud Build API
- Service Networking API
gcloud
Klicken Sie auf die folgende Schaltfläche, um Cloud Shell zu öffnen. Cloud Shell bietet Befehlszeilenzugriff auf Ihre Google Cloud Ressourcen direkt über den Browser. Mit Cloud Shell können Sie die in dieser Kurzanleitung vorgestellten
gcloud-Befehle ausführen.Führen Sie den folgenden
gcloud-Befehl mit Cloud Shell aus:gcloud services enable compute.googleapis.com sqladmin.googleapis.com run.googleapis.com \ containerregistry.googleapis.com cloudbuild.googleapis.com servicenetworking.googleapis.com
Mit diesem Befehl werden die folgenden APIs aktiviert:
- Compute Engine API
- Cloud SQL Admin API
- Cloud Run API
- Container Registry API
- Cloud Build API
- Service Networking API
Erforderliche Rollen
Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen für das Projekt zuzuweisen, das Sie verwenden möchten, um die Berechtigungen zu erhalten, die Sie zum Bereitstellen einer Beispiel-App in Cloud Run benötigen, die mit einer PostgreSQL-Instanz verbunden ist:
-
Instanz, Datenbank und Nutzer erstellen oder löschen:
Cloud SQL-Administratorrolle (
roles/cloudsql.admin). -
IAM-Dienstkonto erstellen oder löschen:
Rolle „Dienstkontoadministrator“ (
roles/iam.serviceAccountAdmin). -
Verbindung herstellen:
-
Service Networking-Administrator (
roles/servicenetworking.networksAdmin)) -
Service Usage-Administrator (
roles/serviceusage.serviceUsageAdmin).
-
Service Networking-Administrator (
- Objekte und ihre Metadaten ansehen: Storage-Objekt-Betrachter (roles/storage.objectViewer)
- Berechtigungen zum Verwalten von Richtlinien für Projekte gewähren: Projekt-IAM-Administrator (roles/resourcemanager.projectIamAdmin).
- Lese- und Schreibzugriff auf alle Cloud Run-Ressourcen: Cloud Run-Entwickler (roles/run.developer).
- Von Cloud Run-Quelle bereitgestellte Ressourcen bereitstellen und verwalten: Cloud Run Source Developer (roles/run.sourceDeveloper).
- Öffentlichen Zugriff zulassen: Cloud Run-Administrator (roles/run.admin).
- So führen Sie Vorgänge als Dienstkonto aus: Dienstkontonutzer (roles/iam.serviceAccountUser).
Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.
Sie können die erforderlichen Berechtigungen auch über benutzerdefinierte Rollen oder andere vordefinierte Rollen erhalten.
Cloud SQL einrichten
Cloud SQL-Instanz erstellen
Datenbank erstellen
So erstellen Sie eine Datenbank:
Console
-
Wechseln Sie in der Google Cloud Console zur Seite Cloud SQL-Instanzen.
- Wählen Sie
quickstart-instanceaus. - Wählen Sie im SQL-Navigationsmenü die Option Datenbanken aus.
- Klicken Sie auf Create database (Datenbank erstellen).
- Geben Sie im Feld Datenbankname des Dialogfelds Neue Datenbank
quickstart-dbein. - 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
So erstellen Sie einen Nutzer:
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-userein. - 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 Hinzufügen.
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 dieselben Längenbeschränkungen für Nutzernamen wie für lokales PostgreSQL.
Beispielanwendung in Cloud Run bereitstellen
Cloud Run-Dienstkonto konfigurieren
Console
-
Rufen Sie in der Google Cloud Console die Seite IAM-Dienstkonten auf.
- Klicken Sie neben dem Dienstkonto auf das Menü Aktionen und dann auf Zugriff verwalten.
- Klicken Sie auf Weitere Rolle hinzufügen und suchen Sie dann in der Drop-down-Liste Rolle nach Cloud SQL-Client (
roles/cloudsql.client) und wählen Sie diese aus. - Klicken Sie auf Weitere Rolle hinzufügen und suchen Sie dann im Drop-down-Menü Rolle nach Storage-Objekt-Betrachter (
roles/storage.ObjectViewer) und wählen Sie diese aus. - Klicken Sie auf Speichern.
gcloud
-
Führen Sie den folgenden
gcloud-Befehl aus, um eine Liste der Dienstkonten Ihres Projekts abzurufen:gcloud iam service-accounts list
- Kopieren Sie die E-MAIL-ADRESSE des Compute Engine-Standarddienstkontos.
- Führen Sie den folgenden Befehl aus, um dem Compute Engine-Standarddienstkonto die Rolle Cloud SQL-Client hinzuzufügen:
gcloud projects add-iam-policy-binding YOUR_PROJECT_ID \ --member="serviceAccount:SERVICE_ACCOUNT_EMAIL" \ --role="roles/cloudsql.client"
- Führen Sie den folgenden Befehl aus, um dem Compute Engine-Standarddienstkonto die Rolle Storage-Objekt-Betrachter hinzuzufügen:
gcloud projects add-iam-policy-binding YOUR_PROJECT_ID \ --member="serviceAccount:SERVICE_ACCOUNT_EMAIL" \ --role="roles/storage.ObjectViewer"
Cloud SQL-Beispielanwendung konfigurieren
Mit einer Cloud SQL-Instanz, einer Datenbank und einem Dienstkonto mit Clientberechtigungen können Sie jetzt eine Beispielanwendung so konfigurieren, dass sie eine Verbindung zu Ihrer Cloud SQL-Instanz herstellt.
Beispiel-App bereitstellen
Die Schritte zum Bereitstellen des Beispiels in Cloud Run hängen vom Typ der IP-Adresse ab, die Sie der Cloud SQL-Instanz zugewiesen haben.
Die Methode zum Herstellen einer Verbindung mit dem Bild variiert je nach den festgelegten Umgebungsvariablen.
- Wenn Sie eine Verbindung über TCP herstellen möchten, legen Sie den Wert für die Umgebungsvariable
INSTANCE_HOSTfest. Bei dieser Verbindungsmethode werden die als Umgebungsvariablen konfigurierten Zertifikate und Ports berücksichtigt. - Wenn Sie eine Verbindung über UNIX-Sockets herstellen möchten, legen Sie den Wert für die Umgebungsvariable
INSTANCE_UNIX_SOCKETfest.Legen Sie keinen Wert für die Umgebungsvariable
INSTANCE_HOSTfest.Unix-Sockets werden in Java nicht nativ unterstützt. Wenn Ihre Anwendung in Java geschrieben ist, müssen Sie den Cloud SQL-Java-Connector verwenden.
- Wenn Sie eine Verbindung über einen der Cloud SQL Language Connectors herstellen möchten, legen Sie den Wert für die Umgebungsvariable
INSTANCE_CONNECTION_NAMEfest.Legen Sie die Werte für die folgenden Umgebungsvariablen nicht fest:
INSTANCE_HOSTINSTANCE_UNIX_SOCKETDB_PORTDB_ROOT_CERTDB_CERTDB_KEY
3307herstellt.
Bereinigen
Mit den folgenden Schritten vermeiden Sie, dass Ihrem Google Cloud -Konto die auf dieser Seite verwendeten Ressourcen in Rechnung gestellt werden:
-
Wechseln Sie in der Google Cloud Console zur Seite Cloud SQL-Instanzen.
- Wählen Sie die Instanz
quickstart-instanceaus, 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-instanceein und klicken Sie dann auf Löschen, um die Instanz zu löschen. -
Rufen Sie in der Google Cloud -Console die Seite Cloud Run auf.
- Klicken Sie auf das Kästchen neben dem Dienstnamen
quickstart-service. - Klicken Sie oben auf der Cloud Run-Seite auf Löschen.
Optionale Bereinigungsschritte
Wenn Sie nicht die Rolle Cloud SQL-Client verwenden, die Sie dem Compute Engine-Dienstkonto zugewiesen haben, können Sie sie entfernen.
-
Rufen Sie in der Google Cloud Console die Seite Dienstkonten auf.
- 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 die APIs, die im Rahmen dieser Kurzanleitung aktiviert wurden, nicht verwenden, können Sie sie deaktivieren.
- APIs, die in dieser Kurzanleitung aktiviert wurden:
- Compute Engine API
- Cloud SQL Admin API
- Cloud Run API
- Container Registry API
- Cloud Build API
Rufen Sie in der Google Cloud Console die Seite APIs auf.
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:

