Verbindung zu Cloud SQL for PostgreSQL mit Cloud Functions herstellen

Erfahren Sie, wie Sie eine Beispielanwendung in Cloud Functions 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).

Vorbereitung

  1. Melden Sie sich bei Ihrem Google Cloud-Konto an. Wenn Sie mit Google Cloud noch 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.
  2. Wählen Sie in der Google Cloud Console auf der Seite der Projektauswahl ein Google Cloud-Projekt aus oder erstellen Sie eines.

    Zur Projektauswahl

  3. Die Abrechnung für das Google Cloud-Projekt muss aktiviert sein.

  4. Wählen Sie in der Google Cloud Console auf der Seite der Projektauswahl ein Google Cloud-Projekt aus oder erstellen Sie eines.

    Zur Projektauswahl

  5. Die Abrechnung für das Google Cloud-Projekt muss aktiviert sein.

  6. Aktivieren Sie die Cloud APIs, die zum Ausführen einer Cloud SQL-Beispielanwendung in Cloud Functions erforderlich sind.

    Console

    Klicken Sie auf APIs aktivieren, um die für diese Kurzanleitung erforderlichen APIs zu aktivieren.

    APIs aktivieren

    Dadurch werden die folgenden APIs aktiviert:

    • Cloud Functions API
    • Cloud SQL Admin API
    • Cloud Run Admin API
    • Cloud Build API
    • Artifact Registry API
    • Eventarc API
    • Compute Engine API
    • Service Networking API
    • Cloud Logging API

    gcloud

    Klicken Sie auf die folgende Schaltfläche, um Cloud Shell zu öffnen, die Befehlszeilenzugriff auf Ihre Google Cloud-Ressourcen direkt über den Browser bietet. Mit Cloud Shell können Sie die in dieser Kurzanleitung vorgestellten gcloud-Befehle ausführen.

    Cloud Shell öffnen

    Führen Sie den folgenden gcloud-Befehl mit Cloud Shell aus:

    gcloud services enable cloudfunctions.googleapis.com sqladmin.googleapis.com run.googleapis.com cloudbuild.googleapis.com artifactregistry.googleapis.com eventarc.googleapis.com compute.googleapis.com servicenetworking.googleapis.com pubsub.googleapis.com logging.googleapis.com

    Mit diesem Befehl werden die folgenden APIs aktiviert:

    • Cloud Functions API
    • Cloud SQL Admin API
    • Cloud Run API
    • Cloud Build API
    • Artifact Registry API
    • Eventarc API
    • Compute Engine API
    • Service Networking API
    • Cloud Logging API
  7. Fügen Sie Ihrem Nutzer die IAM-Rolle Cloud Functions-Aufrufer hinzu.

    Rolle hinzufügen

Cloud SQL einrichten

Cloud SQL-Instanz erstellen

Datenbank erstellen

Console

  1. Wechseln Sie in der Google Cloud Console zur Seite Cloud SQL-Instanzen.

    Cloud SQL-Instanzen aufrufen

  2. Wählen Sie quickstart-instance aus.
  3. Wählen Sie im SQL-Navigationsmenü die Option Datenbanken aus.
  4. Klicken Sie auf Create database (Datenbank erstellen).
    1. Geben Sie im Feld Datenbankname des Dialogfelds Neue Datenbank quickstart-db ein.
    2. 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

  1. Wechseln Sie in der Google Cloud Console zur Seite Cloud SQL-Instanzen.

    Cloud SQL-Instanzen aufrufen

  2. Klicken Sie auf den Instanznamen, um die Übersichtsseite einer Instanz zu öffnen.
  3. Wählen Sie im SQL-Navigationsmenü die Option Nutzer aus.
  4. Klicken Sie auf Nutzerkonto hinzufügen.
  5. Geben Sie auf der Seite Nutzerkonto hinzufügen für die quickstart-instance 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.
  6. Klicken Sie auf Add.

gcloud

Bevor Sie den folgenden Befehl ausführen, ersetzen Sie die folgenden Werte:

  1. DB_PASS 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=DB_PASS

Für Cloud SQL gelten die gleichen Längenbeschränkungen für Nutzernamen wie für lokales PostgreSQL.

Cloud Functions-Dienstkonto konfigurieren

Konfigurieren Sie das von Cloud Functions verwendete Dienstkonto so, dass es die Rolle Cloud SQL-Client mit Berechtigungen zum Herstellen einer Verbindung zu Cloud SQL hat.

Console

  1. Öffnen Sie in der Google Cloud Console die Seite IAM.

    IAM aufrufen

  2. Klicken Sie für das Dienstkonto Compute Engine-Standarddienstkonto auf das Stiftsymbol.
  3. Klicken Sie auf WEITERE ROLLE HINZUFÜGEN.
  4. Fügen Sie die Rolle namens Cloud SQL-Client hinzu.
  5. Klicken Sie auf Speichern.

gcloud

  1. Führen Sie den folgenden gcloud-Befehl aus, um eine Liste der Dienstkonten Ihres Projekts abzurufen:
    gcloud iam service-accounts list
  2. Kopieren Sie die E-MAIL-ADRESSE des Compute Engine-Dienstkontos.
  3. Führen Sie den folgenden Befehl aus, um Compute Engine-Dienstkonto 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"

Funktion erstellen

  1. Wechseln Sie in der Google Cloud Console zur Seite Cloud Functions.

    Zu Cloud Functions

  2. Klicken Sie auf Funktion erstellen.
  3. Wählen Sie für die Umgebung den Punkt 2nd gen aus.
  4. Geben Sie im Feld Funktionsname den Wert quickstart-function ein.
  5. Wählen Sie im Bereich Authentifizierung die Option Nicht authentifizierte Aufrufe zulassen aus.
  6. Klicken Sie auf Next (Weiter).
  7. Wählen Sie im Menü Laufzeit eine der folgenden Sprachen aus:
  8. Sprache Versionsnummer
    Go 1.20
    Java 17
    Node.js 18
    Python 3,10
  9. Prüfen Sie im Menü Quellcode, ob der Inline-Editor ausgewählt ist. In diesem Schritt verwenden Sie die im Editor enthaltene Standardfunktion.

Funktion implementieren

  1. Klicken Sie unten auf der Cloud Functions-Seite auf Bereitstellen. Sie werden von der Google Cloud Console zur Detailseite der Funktion weitergeleitet.
  2. Wenn die Funktionsbereitstellung abgeschlossen ist, klicken Sie auf den Link URL, um einen Webbrowser mit der Nachricht Hello, World! aufzurufen.

Cloud SQL-Beispielanwendung als Funktion bereitstellen

Die Cloud SQL-Beispielanwendung wird als Funktion in Cloud Functions konfiguriert und bereitgestellt. Zuerst konfigurieren Sie die Beispielanwendung mit Cloud Shell und erstellen sie. Anschließend stellen Sie die Beispielanwendung mit Cloud Functions bereit.

Es gibt zwei Möglichkeiten, die Anwendung zu konfigurieren, zu erstellen und bereitzustellen, je nachdem, ob Sie eine Cloud SQL for PostgreSQL-Instanz mit einer öffentlichen IP-Adresse oder einer privaten IP-Adresse erstellt haben.

Cloud SQL-Beispielanwendung konfigurieren

Beispiel-App bereitstellen

Die Schritte zum Bereitstellen des Beispiels in Cloud Functions hängen vom Typ der IP-Adresse ab, die Sie der Cloud SQL-Instanz zugewiesen haben.

Bereinigen

Mit den folgenden Schritten vermeiden Sie, dass Ihrem Google Cloud-Konto die in dieser Anleitung verwendeten Ressourcen in Rechnung gestellt werden:

  1. Wechseln Sie in der Google Cloud Console zur Seite Cloud SQL-Instanzen.

    Cloud SQL-Instanzen aufrufen

  2. Wählen Sie die Instanz quickstart-instance aus, um die Seite Instanzendetails zu öffnen.
  3. Klicken Sie oben auf der Seite in der Symbolleiste auf Löschen.
  4. Geben Sie im Dialogfeld Instanz löschen quickstart-instance ein und klicken Sie dann auf Löschen, um die Instanz zu löschen.
  5. Wechseln Sie in der Google Cloud Console zur Seite Cloud Functions.

    Zu Cloud Functions

  6. Klicken Sie auf das Kästchen neben dem Dienstnamen quickstart-function.
  7. Klicken Sie oben auf der Cloud Functions-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.

  1. Öffnen Sie in der Google Cloud Console die Seite IAM.

    IAM aufrufen

  2. Klicken Sie auf das Stiftsymbol für das IAM-Konto Compute Engine-Standarddienstkonto.
  3. Löschen Sie die Rolle Cloud SQL-Client.
  4. 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
  1. Öffnen Sie in der Google Cloud Console die Seite APIs.

    Zu „APIs“

  2. 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:

Außerdem erfahren Sie, wie Sie von anderen Google Cloud-Anwendungen aus eine Verbindung zu einer Cloud SQL-Instanz herstellen können: