Verbindung zu Cloud SQL for PostgreSQL mit Cloud Run-Funktionen herstellen
Erfahren Sie, wie Sie eine Beispielanwendung in Cloud Run-Funktionen 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
- 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.
-
Make sure that billing is enabled for your Google Cloud project.
-
Aktivieren Sie die Cloud APIs, die zum Ausführen einer Cloud SQL-Beispielanwendung in Cloud Run-Funktionen erforderlich sind.
Klicken Sie auf APIs aktivieren, um die für diese Kurzanleitung erforderlichen APIs zu aktivieren.
Dadurch werden die folgenden APIs aktiviert:
- Cloud Run 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
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.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 Run 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
Fügen Sie Ihrem Nutzer die IAM-Rolle Cloud Run-Funktionen-Aufrufer hinzu.
Cloud SQL einrichten
Cloud SQL-Instanz erstellen
Öffentliche IP-Adresse
-
Wechseln Sie in der Google Cloud Console zur Seite Cloud SQL-Instanzen.
- Klicken Sie auf Instanz erstellen.
- Klicken Sie auf PostgreSQL auswählen.
- Achten Sie darauf, dass Enterprise Plus als Cloud SQL-Version für Ihre Instanz ausgewählt ist.
- Geben Sie im Feld Instanz-ID den Wert
quickstart-instance
ein. - Geben Sie im Feld Passwort ein Passwort für den Postgres-Nutzer ein. Speichern Sie dieses Passwort zur späteren Verwendung.
- Wählen Sie im Abschnitt Region und zonale Verfügbarkeit auswählen die Option Einzelne Zone aus.
- Klicken Sie auf das Menü Konfigurationsoptionen einblenden.
- Maximieren Sie den Knoten Maschinenkonfiguration.
- Wählen Sie im Bereich Maschinenformen die Form 4 vCPUs, 32 GB aus.
- Klicken Sie auf Instanz erstellen und warten Sie, bis die Instanz initialisiert und gestartet wurde.
Bevor Sie den Befehl ausführen, ersetzen Sie DB_ROOT_PASSWORD durch das Passwort Ihres Datenbanknutzers.
Ändern Sie optional die Werte für die folgenden Parameter:
- --database_version: der Typ und die Version des Datenbankmoduls. Falls nicht angegeben, wird der API-Standard verwendet. Die derzeit verfügbaren Versionen finden Sie in der Dokumentation zu gcloud-Datenbankversionen.
- --cpu: die Anzahl der in der Maschine gewünschten Kerne.
- --memory: ganzzahliger Wert, der angibt, wie viel Arbeitsspeicher in der Maschine gewünscht ist. Es sollte eine Größeneinheit angegeben werden (z. B. 3.072 MB oder 9 GB). Wenn keine Einheiten angegeben sind, wird von GB ausgegangen.
- --region: regionaler Standort der Instanz, z. B. asia-east1, us-east1. Falls nicht angegeben, wird standardmäßig
us-central
verwendet.
Führen Sie den Befehl gcloud
sql instances create
aus, um eine Cloud SQL-Instanz zu erstellen.
gcloud sql instances createquickstart-instance \ --database-version=POSTGRES_14 \ --cpu=1 \ --memory=4GB \ --region=us-central \ --root-password=DB_ROOT_PASSWORD
Private IP-Adresse
IP-Adressbereich zuweisen und eine private Verbindung erstellen, um den Zugriff auf private Dienste für Cloud SQL zu konfigurieren
-
Rufen Sie in der Google Cloud Console die Seite VPC-Netzwerke auf.
- Wählen Sie das VPC-Netzwerk
default
aus. - Wählen Sie den Tab Private Dienstverbindung aus.
- Wählen Sie den Tab Diensten zugewiesene IP-Bereiche aus.
- Klicken Sie auf IP-Bereich zuweisen.
- Geben Sie als Name für den zugewiesenen Bereich
google-managed-services-default
an. - Wählen Sie die Option Automatisch für den IP-Bereich aus und geben Sie die Präfixlänge als
16
an. - Klicken Sie auf Zuweisen, um den zugewiesenen Bereich zu erstellen.
- Wählen Sie den Tab Private Verbindungen zu Diensten für das VPC-Netzwerk
default
aus. - Klicken Sie auf Verbindung erstellen, um eine private Verbindung zwischen Ihrem Netzwerk und einem Dienstersteller herzustellen.
- Wählen Sie für Zugewiesene Zuordnung die Option
google-managed-services-default
aus. - Klicken Sie auf Verbinden, um die Verbindung zu erstellen.
Instanz mit aktivierter privater IP-Adresse und SSL erstellen
-
Wechseln Sie in der Google Cloud Console zur Seite Cloud SQL-Instanzen.
- Klicken Sie auf Instanz erstellen.
- Klicken Sie auf PostgreSQL auswählen.
- Achten Sie darauf, dass Enterprise Plus als Cloud SQL-Version für Ihre Instanz ausgewählt ist.
- Geben Sie im Feld Instanz-ID den Wert
quickstart-instance
ein. - Geben Sie im Feld Passwort ein Passwort für den Postgres-Nutzer ein. Speichern Sie dieses Passwort zur späteren Verwendung.
- Wählen Sie im Abschnitt Region und zonale Verfügbarkeit auswählen die Option Einzelne Zone aus.
- Klicken Sie auf das Menü Konfigurationsoptionen einblenden.
- Maximieren Sie den Knoten Maschinenkonfiguration.
- Wählen Sie im Bereich Maschinenformen die Form 4 vCPUs, 32 GB aus.
- Maximieren Sie den Knoten Verbindungen.
- Entfernen Sie das Häkchen aus dem Kästchen Öffentliche IP-Adressen, um nur eine Instanz mit einer privaten IP-Adresse zu erstellen.
- Klicken Sie auf das Kästchen Private IP-Adresse.
- Wählen Sie im Menü Netzwerk die Option Standard aus.
- Klicken Sie auf Instanz erstellen und warten Sie, bis die Instanz initialisiert und gestartet wurde.
- Klicken Sie auf Verbindungen.
- Wählen Sie im Abschnitt Sicherheit die Option Nur SSL-Verbindungen zulassen aus, um SSL-Verbindungen zu aktivieren.
- Klicken Sie im Dialogfeld Nur SSL-Verbindungen zulassen auf Speichern und warten Sie, bis die Instanz neu gestartet wurde.
IP-Adressbereich zuweisen und eine private Verbindung erstellen, um den Zugriff auf private Dienste für Cloud SQL zu konfigurieren
-
Führen Sie den Befehl
gcloud compute addresses create
aus, um einen IP-Adressbereich zuzuweisen.gcloud compute addresses create
google-managed-services-default \ --global --purpose=VPC_PEERING --prefix-length=16 \ --description="peering range for Google" --network=default -
Führen Sie den Befehl
gcloud services vpc-peerings connect
aus, um eine private Verbindung zum zugewiesenen IP-Adressbereich zu erstellen. Ersetzen Sie YOUR_PROJECT_ID durch die Projekt-ID Ihres Projekts.gcloud services vpc-peerings connect --service=servicenetworking.googleapis.com \ --ranges=
google-managed-services-default --network=default \ --project=YOUR_PROJECT_ID
Instanz mit aktivierter privater IP-Adresse und SSL erstellen
-
Bevor Sie den folgenden Befehl ausführen, ersetzen Sie DB_ROOT_PASSWORD durch das Passwort Ihres Datenbanknutzers.
- --database_version: der Typ und die Version des Datenbankmoduls. Falls nicht angegeben, wird der API-Standard verwendet. Die derzeit verfügbaren Versionen finden Sie in der Dokumentation zu gcloud-Datenbankversionen.
- --cpu: Die Anzahl der Kerne in der Maschine.
- --memory: Ein ganzzahliger Wert, der angibt, wie viel Arbeitsspeicher in die Maschine eingebaut werden soll. Es kann eine Größeneinheit angegeben werden (z. B. 3072 MB oder 9 GB). Wenn keine Einheiten angegeben sind, wird von GB ausgegangen.
- --region: Der regionale Standort der Instanz, z. B. asia-east1, us-east1. Falls nicht angegeben, wird standardmäßig
us-central1
verwendet. Eine vollständige Liste der Regionen finden Sie in diesem Artikel. Führen Sie den Befehl
gcloud sql instances patch
aus, um nur SSL-Verbindungen für die Instanz zuzulassen.
Ändern Sie optional die Werte für die folgenden Parameter:
Führen Sie den Befehl gcloud
sql instances create
aus, um eine Cloud SQL-Instanz mit einer privaten IP-Adresse zu erstellen.
gcloud sql instances createquickstart-instance \ --database-version=POSTGRES_14 \ --cpu=1 \ --memory=4GB \ --region=us-central \ --root-password=DB_ROOT_PASSWORD \ --no-assign-ip \ --network=default
gcloud sql instances patchquickstart-instance --require-ssl
Datenbank erstellen
-
Wechseln Sie in der Google Cloud Console zur Seite Cloud SQL-Instanzen.
- Wählen Sie
quickstart-instance
aus. - 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-db
ein. - Klicken Sie auf Erstellen.
Führen Sie den Befehl gcloud
sql databases create
aus, um eine Datenbank zu erstellen.
gcloud sql databases createquickstart-db --instance=quickstart-instance
Nutzer erstellen
-
Wechseln Sie in der Google Cloud Console zur Seite Cloud SQL-Instanzen.
- Klicken Sie auf den Instanznamen, um die Übersichtsseite 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 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.
- Geben Sie im Feld Nutzername
- Klicken Sie auf Hinzufügen.
Bevor Sie den folgenden Befehl ausführen, ersetzen Sie die folgenden Werte:
- 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 createquickstart-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 Run-Funktionen-Dienstkonto konfigurieren
-
Öffnen Sie in der Google Cloud Console die Seite IAM.
- Klicken Sie für das Dienstkonto Compute Engine-Standarddienstkonto auf das Stiftsymbol.
- Klicken Sie auf WEITERE ROLLE HINZUFÜGEN.
- Fügen Sie die Rolle namens Cloud SQL-Client hinzu.
- Klicken Sie auf Speichern.
-
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-Dienstkontos.
- 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
-
Wechseln Sie in der Google Cloud Console zur Seite Cloud Run-Funktionen.
- Klicken Sie auf Funktion erstellen.
- Wählen Sie für die Umgebung den Punkt 2nd gen aus.
- Geben Sie im Feld Funktionsname den Wert
quickstart-function
ein. - Wählen Sie im Bereich Authentifizierung die Option Nicht authentifizierte Aufrufe zulassen aus.
- Klicken Sie auf Weiter.
- Wählen Sie im Menü Laufzeit eine der folgenden Sprachen aus:
- Prüfen Sie im Menü Quellcode, ob der Inline-Editor ausgewählt ist. In diesem Schritt verwenden Sie die im Editor enthaltene Standardfunktion.
Sprache | Versionsnummer |
---|---|
Go | 1.20 |
Java | 17 |
Node.js | 18 |
Python | 3,10 |
Funktion implementieren
- Klicken Sie unten auf der Cloud Run-Funktionen-Seite auf Bereitstellen. Sie werden von der Google Cloud Console zur Detailseite der Funktion weitergeleitet.
- 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 Run-Funktionen konfiguriert und bereitgestellt. Zuerst konfigurieren und erstellen Sie die Beispielanwendung mit Cloud Shell. Anschließend stellen Sie die Beispielanwendung mit Cloud Run-Funktionen bereit.
Es gibt zwei Möglichkeiten, die Anwendung zu konfigurieren, zu erstellen und bereitzustellen, je nachdem, ob Sie eine Cloud SQL for PostgresSQL-Instanz mit einer öffentlichen IP-Adresse oder einer privaten IP-Adresse erstellt haben.
Cloud SQL-Beispielanwendung konfigurieren
Öffentliche IP-Adresse
Für öffentliche IP-Pfade bieten Cloud Run-Funktionen Verschlüsselung und Verbindungen über den Cloud SQL-Auth-Proxy mit Unix-Sockets.- Öffnen Sie im Cloud Shell-Editor den Quellcode der Beispielanwendung.
- Klicken Sie im Dialogfeld In Cloud Shell öffnen auf Bestätigen, um den Beispielanwendungscode herunterzuladen und das Beispielanwendungsverzeichnis im Cloud Shell-Editor zu öffnen.
- Führen Sie in der Cloud Shell-Eingabeaufforderung in der unteren Hälfte des Bildschirms unter dem Cloud Shell-Editor den folgenden Befehl aus, um Ihr Projekt zu aktivieren. Ersetzen Sie YOUR_PROJECT_ID durch Ihre Projekt-ID.
gcloud config set project
YOUR_PROJECT_ID - Wenn das Dialogfeld Cloud Shell autorisieren angezeigt wird, klicken Sie auf Autorisieren.
-
Führen Sie in Cloud Shell den folgenden
gcloud artifacts repositories create
-Befehl aus, um in der Artifact Registry mit dem Namenquickstart-repo
in derselben Region wie Ihre Cloud SQL-Instanz ein Repository zu erstellen. Ersetzen Sie YOUR_PROJECT_ID durch die Projekt-ID und YOUR_REGION_NAME durch den Namen Ihrer Region.gcloud artifacts repositories create quickstart-repo \ --project=
YOUR_PROJECT_ID \ --repository-format=docker \ --location=YOUR_REGION_NAME \ --description="Cloud Function Quickstart Cloud SQL sample app" -
Führen Sie den Befehl
gcloud builds submit
in Cloud Shell so aus, um einen Docker-Container zu erstellen und in der Artifact Registry zu veröffentlichen. Ersetzen Sie YOUR_PROJECT_ID durch die Projekt-ID und YOUR_REGION_NAME durch den Namen Ihrer Region.gcloud builds submit \ --tag
YOUR_REGION_NAME -docker.pkg.dev/YOUR_PROJECT_ID /quickstart-repo/function-sql . -
In
gen2
von Cloud Run-Funktionen wird das automatische Konfigurieren und Ausführen des Cloud SQL Auth-Proxys nicht unterstützt. Diese Funktion wird durch die Verwendung von Cloud Run unterstützt. Sie müssen den zugrunde liegenden Cloud Run-Dienst manuell überarbeiten, um den Cloud SQL Auth-Proxy mit dem Dienst zu konfigurieren und auszuführen. Verwenden Sie dazu das Flag--add-cloudsql-instances
. Ersetzen Sie INSTANCE_CONNECTION_NAME durch den Verbindungsnamen Ihrer Instanz.gcloud run deploy quickstart-function --source . \ --region
YOUR_REGION_NAME \ --add-cloudsql-instancesINSTANCE_CONNECTION_NAME
- Öffnen Sie im Cloud Shell-Editor den Quellcode der Beispielanwendung.
- Klicken Sie im Dialogfeld In Cloud Shell öffnen auf Bestätigen, um den Beispielanwendungscode herunterzuladen und das Beispielanwendungsverzeichnis im Cloud Shell-Editor zu öffnen.
- Führen Sie in der Cloud Shell-Eingabeaufforderung in der unteren Hälfte des Bildschirms unter dem Cloud Shell-Editor den folgenden Befehl aus, um Ihr Projekt zu aktivieren. Ersetzen Sie YOUR_PROJECT_ID durch Ihre Projekt-ID.
gcloud config set project
YOUR_PROJECT_ID - Wenn das Dialogfeld Cloud Shell autorisieren angezeigt wird, klicken Sie auf Autorisieren.
-
Führen Sie in Cloud Shell den folgenden
gcloud artifacts repositories create
-Befehl aus, um in der Artifact Registry mit dem Namenquickstart-repo
in derselben Region wie Ihre Cloud SQL-Instanz ein Repository zu erstellen. Ersetzen Sie YOUR_PROJECT_ID durch die Projekt-ID und YOUR_REGION_NAME durch den Namen Ihrer Region.gcloud artifacts repositories create quickstart-repo \ --project=
YOUR_PROJECT_ID \ --repository-format=docker \ --location=YOUR_REGION_NAME \ --description="Cloud Function Quickstart Cloud SQL sample app" -
Führen Sie den Befehl
mvn
in Cloud Shell so aus, um einen Docker-Container zu erstellen und in der Artifact Registry zu veröffentlichen. Ersetzen Sie YOUR_PROJECT_ID durch die Projekt-ID und YOUR_REGION_NAME durch den Namen Ihrer Region.mvn clean package com.google.cloud.tools:jib-maven-plugin:2.8.0:build \ -Dimage=
YOUR_REGION_NAME -docker.pkg.dev/YOUR_PROJECT_ID /quickstart-repo/function-sql \ -DskipTests -Djib.to.credHelper=gcloud -
In
gen2
von Cloud Run-Funktionen wird das automatische Konfigurieren und Ausführen des Cloud SQL Auth-Proxys nicht unterstützt. Diese Funktion wird durch die Verwendung von Cloud Run unterstützt. Sie müssen den zugrunde liegenden Cloud Run-Dienst manuell überarbeiten, um den Cloud SQL Auth-Proxy mit dem Dienst zu konfigurieren und auszuführen. Verwenden Sie dazu das Flag--add-cloudsql-instances
. Ersetzen Sie INSTANCE_CONNECTION_NAME durch den Verbindungsnamen Ihrer Instanz.gcloud run deploy quickstart-function --source . \ --region
YOUR_REGION_NAME \ --add-cloudsql-instancesINSTANCE_CONNECTION_NAME
- Öffnen Sie im Cloud Shell-Editor den Quellcode der Beispielanwendung.
- Klicken Sie im Dialogfeld In Cloud Shell öffnen auf Bestätigen, um den Beispielanwendungscode herunterzuladen und das Beispielanwendungsverzeichnis im Cloud Shell-Editor zu öffnen.
- Führen Sie in der Cloud Shell-Eingabeaufforderung in der unteren Hälfte des Bildschirms unter dem Cloud Shell-Editor den folgenden Befehl aus, um Ihr Projekt zu aktivieren. Ersetzen Sie YOUR_PROJECT_ID durch Ihre Projekt-ID.
gcloud config set project
YOUR_PROJECT_ID - Wenn das Dialogfeld Cloud Shell autorisieren angezeigt wird, klicken Sie auf Autorisieren.
-
Führen Sie in Cloud Shell den folgenden
gcloud artifacts repositories create
-Befehl aus, um in der Artifact Registry mit dem Namenquickstart-repo
in derselben Region wie Ihre Cloud SQL-Instanz ein Repository zu erstellen. Ersetzen Sie YOUR_PROJECT_ID durch die Projekt-ID und YOUR_REGION_NAME durch den Namen Ihrer Region.gcloud artifacts repositories create quickstart-repo \ --project=
YOUR_PROJECT_ID \ --repository-format=docker \ --location=YOUR_REGION_NAME \ --description="Cloud Function Quickstart Cloud SQL sample app" -
Führen Sie den Befehl
gcloud builds submit
in Cloud Shell so aus, um einen Docker-Container zu erstellen und in der Artifact Registry zu veröffentlichen. Ersetzen Sie YOUR_PROJECT_ID durch die Projekt-ID und YOUR_REGION_NAME durch den Namen Ihrer Region.gcloud builds submit \ --tag
YOUR_REGION_NAME -docker.pkg.dev/YOUR_PROJECT_ID /quickstart-repo/function-sql . -
In
gen2
von Cloud Run-Funktionen wird das automatische Konfigurieren und Ausführen des Cloud SQL Auth-Proxys nicht unterstützt. Diese Funktion wird durch die Verwendung von Cloud Run unterstützt. Sie müssen den zugrunde liegenden Cloud Run-Dienst manuell überarbeiten, um den Cloud SQL Auth-Proxy mit dem Dienst zu konfigurieren und auszuführen. Verwenden Sie dazu das Flag--add-cloudsql-instances
. Ersetzen Sie INSTANCE_CONNECTION_NAME durch den Verbindungsnamen Ihrer Instanz.gcloud run deploy quickstart-function --source . \ --region
YOUR_REGION_NAME \ --add-cloudsql-instancesINSTANCE_CONNECTION_NAME
- Öffnen Sie im Cloud Shell-Editor den Quellcode der Beispielanwendung.
- Klicken Sie im Dialogfeld In Cloud Shell öffnen auf Bestätigen, um den Beispielanwendungscode herunterzuladen und das Beispielanwendungsverzeichnis im Cloud Shell-Editor zu öffnen.
- Führen Sie in der Cloud Shell-Eingabeaufforderung in der unteren Hälfte des Bildschirms unter dem Cloud Shell-Editor den folgenden Befehl aus, um Ihr Projekt zu aktivieren. Ersetzen Sie YOUR_PROJECT_ID durch Ihre Projekt-ID.
gcloud config set project
YOUR_PROJECT_ID - Wenn das Dialogfeld Cloud Shell autorisieren angezeigt wird, klicken Sie auf Autorisieren.
-
Führen Sie in Cloud Shell den folgenden
gcloud artifacts repositories create
-Befehl aus, um in der Artifact Registry mit dem Namenquickstart-repo
in derselben Region wie Ihre Cloud SQL-Instanz ein Repository zu erstellen. Ersetzen Sie YOUR_PROJECT_ID durch die Projekt-ID und YOUR_REGION_NAME durch den Namen Ihrer Region.gcloud artifacts repositories create quickstart-repo \ --project=
YOUR_PROJECT_ID \ --repository-format=docker \ --location=YOUR_REGION_NAME \ --description="Cloud Function Quickstart Cloud SQL sample app" -
Führen Sie den Befehl
gcloud builds submit
in Cloud Shell so aus, um einen Docker-Container zu erstellen und in der Artifact Registry zu veröffentlichen. Ersetzen Sie YOUR_PROJECT_ID durch die Projekt-ID und YOUR_REGION_NAME durch den Namen Ihrer Region.gcloud builds submit \ --tag
YOUR_REGION_NAME -docker.pkg.dev/YOUR_PROJECT_ID /quickstart-repo/function-sql . -
In
gen2
von Cloud Run-Funktionen wird das automatische Konfigurieren und Ausführen des Cloud SQL Auth-Proxys nicht unterstützt. Diese Funktion wird durch die Verwendung von Cloud Run unterstützt. Sie müssen den zugrunde liegenden Cloud Run-Dienst manuell überarbeiten, um den Cloud SQL Auth-Proxy mit dem Dienst zu konfigurieren und auszuführen. Verwenden Sie dazu das Flag--add-cloudsql-instances
. Ersetzen Sie INSTANCE_CONNECTION_NAME durch den Verbindungsnamen Ihrer Instanz.gcloud run deploy quickstart-function --source . \ --region
YOUR_REGION_NAME \ --add-cloudsql-instancesINSTANCE_CONNECTION_NAME
Private IP-Adresse
Bei privaten IP-Pfaden stellt die Anwendung eine direkte Verbindung zu Ihrer Instanz über serverlosen VPC-Zugriff her. Bei dieser Methode wird ein TCP-Socket verwendet, um eine direkte Verbindung zur Cloud SQL-Instanz herzustellen, ohne den Cloud SQL Auth-Proxy zu verwenden.SSL-Server- und Clientzertifikate erstellen und herunterladen
-
Wechseln Sie in der Google Cloud Console zur Seite Cloud SQL-Instanzen.
- Klicken Sie auf
quickstart-instance
, um die Übersichtsseite aufzurufen. - Klicken Sie auf den Tab Verbindungen.
- Klicken Sie im Abschnitt Sicherheit auf Clientzertifikat erstellen.
- Geben Sie im Dialogfeld Clientzertifikat erstellen als Namen
quickstart-key
ein und klicken Sie auf Erstellen. Klicken Sie im Dialogfeld Neues SSL-Zertifikat erstellt auf den jeweiligen Link zum Herunterladen, um die Zertifikate herunterzuladen. Klicken Sie dann auf Schließen.
Serverlose VPC-Verbindung für Verbindungen zur Instanz über eine private IP-Adresse erstellen
-
Rufen Sie in der Google Cloud Console die Seite Serverloser VPC-Zugriff - Connector erstellen auf.
- Geben Sie für den Namen
quickstart-connector
ein. - Wählen Sie im Drop-down-Menü Netzwerk die Option Standard aus
- Wählen Sie im Drop-down-Menü Subnetz die Option Benutzerdefinierter IP-Bereich aus
- Geben Sie in das Eingabefeld IP-Bereich
10.8.0.0
ein. - Klicken Sie auf Erstellen, um den Connector zu erstellen.
Beispielanwendung mit SSL-Zertifikaten erstellen
-
Öffnen Sie im Cloud Shell-Editor den Quellcode der Beispielanwendung.
Cloud Shell-Editor öffnen - Klicken Sie im Dialogfeld In Cloud Shell öffnen auf Bestätigen, um den Beispielanwendungscode herunterzuladen und das Beispielanwendungsverzeichnis im Cloud Shell-Editor zu öffnen.
- Führen Sie in der Cloud Shell-Eingabeaufforderung in der unteren Hälfte des Bildschirms unter dem Cloud Shell-Editor den folgenden Befehl aus, um Ihr Projekt zu aktivieren. Ersetzen Sie YOUR_PROJECT_ID durch Ihre Projekt-ID.
gcloud config set project
YOUR_PROJECT_ID - Wenn das Dialogfeld Cloud Shell autorisieren angezeigt wird, klicken Sie auf Autorisieren.
-
Laden Sie SSL-Zertifikatsdateien in den Ordner Zertifikate hoch.
- Klicken Sie im Cloud Shell-Editor mit der rechten Maustaste auf den Ordner Zertifikate und wählen Sie Dateien hochladen aus.
- Wählen Sie auf Ihrem lokalen Computer folgende Dateien aus:
client-key.pem
client-cert.pem
server-ca.pem
- Klicken Sie bei drei ausgewählten SSL-Zertifikatsdateien auf Öffnen, um das Hochladen der Dateien in den Cloud Shell-Editor abzuschließen.
-
Führen Sie in Cloud Shell den folgenden
gcloud artifacts repositories create
-Befehl aus, um in der Artifact Registry mit dem Namenquickstart-repo
in derselben Region wie Ihre Cloud SQL-Instanz ein Repository zu erstellen. Ersetzen Sie YOUR_PROJECT_ID durch die Projekt-ID und YOUR_REGION_NAME durch den Namen Ihrer Region.gcloud artifacts repositories create quickstart-repo \ --project=
YOUR_PROJECT_ID \ --repository-format=docker \ --location=YOUR_REGION_NAME \ --description="Cloud Function Quickstart Cloud SQL sample app" -
Führen Sie den Befehl
gcloud builds submit
in Cloud Shell so aus, um einen Docker-Container zu erstellen und in der Artifact Registry zu veröffentlichen. Ersetzen Sie YOUR_PROJECT_ID durch die Projekt-ID und YOUR_REGION_NAME durch den Namen Ihrer Region.gcloud builds submit \ --tag
YOUR_REGION_NAME -docker.pkg.dev/YOUR_PROJECT_ID /quickstart-repo/function-sql . -
In
gen2
von Cloud Run-Funktionen wird das automatische Konfigurieren und Ausführen des Cloud SQL Auth-Proxys nicht unterstützt. Diese Funktion wird durch die Verwendung von Cloud Run unterstützt. Sie müssen den zugrunde liegenden Cloud Run-Dienst manuell überarbeiten, um den Cloud SQL Auth-Proxy mit dem Dienst zu konfigurieren und auszuführen. Verwenden Sie dazu das Flag--add-cloudsql-instances
. Ersetzen Sie INSTANCE_CONNECTION_NAME durch den Verbindungsnamen Ihrer Instanz.gcloud run deploy quickstart-function --source . \ --region
YOUR_REGION_NAME \ --add-cloudsql-instancesINSTANCE_CONNECTION_NAME
SSL-Server- und Clientzertifikate erstellen und herunterladen
Für Java-Nutzer stellt der Connector bereits eine sichere Verbindung bereit, sodass das Erstellen und Herunterladen von SSL-Server- und Clientzertifikaten nicht erforderlich ist.
Serverlose VPC-Verbindung für Verbindungen zur Instanz über eine private IP-Adresse erstellen
-
Rufen Sie in der Google Cloud Console die Seite Serverloser VPC-Zugriff - Connector erstellen auf.
- Geben Sie für den Namen
quickstart-connector
ein. - Wählen Sie im Drop-down-Menü Netzwerk die Option Standard aus
- Wählen Sie im Drop-down-Menü Subnetz die Option Benutzerdefinierter IP-Bereich aus
- Geben Sie in das Eingabefeld IP-Bereich
10.8.0.0
ein. - Klicken Sie auf Erstellen, um den Connector zu erstellen.
Beispielanwendung erstellen
-
Öffnen Sie im Cloud Shell-Editor den Quellcode der Beispielanwendung.
Cloud Shell-Editor öffnen - Klicken Sie im Dialogfeld In Cloud Shell öffnen auf Bestätigen, um den Beispielanwendungscode herunterzuladen und das Beispielanwendungsverzeichnis im Cloud Shell-Editor zu öffnen.
- Führen Sie in der Cloud Shell-Eingabeaufforderung in der unteren Hälfte des Bildschirms unter dem Cloud Shell-Editor den folgenden Befehl aus, um Ihr Projekt zu aktivieren. Ersetzen Sie YOUR_PROJECT_ID durch Ihre Projekt-ID.
gcloud config set project
YOUR_PROJECT_ID - Wenn das Dialogfeld Cloud Shell autorisieren angezeigt wird, klicken Sie auf Autorisieren.
-
Führen Sie in Cloud Shell den folgenden
gcloud artifacts repositories create
-Befehl aus, um in der Artifact Registry mit dem Namenquickstart-repo
in derselben Region wie Ihre Cloud SQL-Instanz ein Repository zu erstellen. Ersetzen Sie YOUR_PROJECT_ID durch die Projekt-ID und YOUR_REGION_NAME durch den Namen Ihrer Region.gcloud artifacts repositories create quickstart-repo \ --project=
YOUR_PROJECT_ID \ --repository-format=docker \ --location=YOUR_REGION_NAME \ --description="Cloud Function Quickstart Cloud SQL sample app" -
Führen Sie den Befehl
mvn
in Cloud Shell so aus, um einen Docker-Container zu erstellen und in der Artifact Registry zu veröffentlichen. Ersetzen Sie YOUR_PROJECT_ID durch die Projekt-ID und YOUR_REGION_NAME durch den Namen Ihrer Region.mvn clean package com.google.cloud.tools:jib-maven-plugin:2.8.0:build \ -Dimage=
YOUR_REGION_NAME -docker.pkg.dev/YOUR_PROJECT_ID /quickstart-repo/function-sql \ -DskipTests -Djib.to.credHelper=gcloud -
In
gen2
von Cloud Run-Funktionen wird das automatische Konfigurieren und Ausführen des Cloud SQL Auth-Proxys nicht unterstützt. Diese Funktion wird durch die Verwendung von Cloud Run unterstützt. Sie müssen den zugrunde liegenden Cloud Run-Dienst manuell überarbeiten, um den Cloud SQL Auth-Proxy mit dem Dienst zu konfigurieren und auszuführen. Verwenden Sie dazu das Flag--add-cloudsql-instances
. Ersetzen Sie INSTANCE_CONNECTION_NAME durch den Verbindungsnamen Ihrer Instanz.gcloud run deploy quickstart-function --source . \ --region
YOUR_REGION_NAME \ --add-cloudsql-instancesINSTANCE_CONNECTION_NAME
SSL-Server- und Clientzertifikate erstellen und herunterladen
-
Wechseln Sie in der Google Cloud Console zur Seite Cloud SQL-Instanzen.
- Klicken Sie auf
quickstart-instance
, um die Übersichtsseite aufzurufen. - Klicken Sie auf den Tab Verbindungen.
- Klicken Sie im Abschnitt Sicherheit auf Clientzertifikat erstellen.
- Geben Sie im Dialogfeld Clientzertifikat erstellen als Namen
quickstart-key
ein und klicken Sie auf Erstellen. Klicken Sie im Dialogfeld Neues SSL-Zertifikat erstellt auf den jeweiligen Link zum Herunterladen, um die Zertifikate herunterzuladen. Klicken Sie dann auf Schließen.
Serverlose VPC-Verbindung für Verbindungen zur Instanz über eine private IP-Adresse erstellen
-
Rufen Sie in der Google Cloud Console die Seite Serverloser VPC-Zugriff - Connector erstellen auf.
- Geben Sie für den Namen
quickstart-connector
ein. - Wählen Sie im Drop-down-Menü Netzwerk die Option Standard aus
- Wählen Sie im Drop-down-Menü Subnetz die Option Benutzerdefinierter IP-Bereich aus
- Geben Sie in das Eingabefeld IP-Bereich
10.8.0.0
ein. - Klicken Sie auf Erstellen, um den Connector zu erstellen.
Beispielanwendung mit SSL-Zertifikaten erstellen
-
Öffnen Sie im Cloud Shell-Editor den Quellcode der Beispielanwendung.
Cloud Shell-Editor öffnen - Klicken Sie im Dialogfeld In Cloud Shell öffnen auf Bestätigen, um den Beispielanwendungscode herunterzuladen und das Beispielanwendungsverzeichnis im Cloud Shell-Editor zu öffnen.
- Führen Sie in der Cloud Shell-Eingabeaufforderung in der unteren Hälfte des Bildschirms unter dem Cloud Shell-Editor den folgenden Befehl aus, um Ihr Projekt zu aktivieren. Ersetzen Sie YOUR_PROJECT_ID durch Ihre Projekt-ID.
gcloud config set project
YOUR_PROJECT_ID -
Laden Sie SSL-Zertifikatsdateien in den Ordner Zertifikate hoch.
- Klicken Sie im Cloud Shell-Editor mit der rechten Maustaste auf den Ordner Zertifikate und wählen Sie Dateien hochladen aus.
- Wählen Sie auf Ihrem lokalen Computer folgende Dateien aus:
client-key.pem
client-cert.pem
server-ca.pem
- Klicken Sie bei drei ausgewählten SSL-Zertifikatsdateien auf Öffnen, um das Hochladen der Dateien in den Cloud Shell-Editor abzuschließen.
-
Führen Sie in Cloud Shell den folgenden
gcloud artifacts repositories create
-Befehl aus, um in der Artifact Registry mit dem Namenquickstart-repo
in derselben Region wie Ihre Cloud SQL-Instanz ein Repository zu erstellen. Ersetzen Sie YOUR_PROJECT_ID durch die Projekt-ID und YOUR_REGION_NAME durch den Namen Ihrer Region.gcloud artifacts repositories create quickstart-repo \ --project=
YOUR_PROJECT_ID \ --repository-format=docker \ --location=YOUR_REGION_NAME \ --description="Cloud Function Quickstart Cloud SQL sample app" -
Führen Sie den Befehl
gcloud builds submit
in Cloud Shell so aus, um einen Docker-Container zu erstellen und in der Artifact Registry zu veröffentlichen. Ersetzen Sie YOUR_PROJECT_ID durch die Projekt-ID und YOUR_REGION_NAME durch den Namen Ihrer Region.gcloud builds submit \ --tag
YOUR_REGION_NAME -docker.pkg.dev/YOUR_PROJECT_ID /quickstart-repo/function-sql . -
In
gen2
von Cloud Run-Funktionen wird das automatische Konfigurieren und Ausführen des Cloud SQL Auth-Proxys nicht unterstützt. Diese Funktion wird durch die Verwendung von Cloud Run unterstützt. Sie müssen den zugrunde liegenden Cloud Run-Dienst manuell überarbeiten, um den Cloud SQL Auth-Proxy mit dem Dienst zu konfigurieren und auszuführen. Verwenden Sie dazu das Flag--add-cloudsql-instances
. Ersetzen Sie INSTANCE_CONNECTION_NAME durch den Verbindungsnamen Ihrer Instanz.gcloud run deploy quickstart-function --source . \ --region
YOUR_REGION_NAME \ --add-cloudsql-instancesINSTANCE_CONNECTION_NAME
SSL-Server- und Clientzertifikate erstellen und herunterladen
-
Wechseln Sie in der Google Cloud Console zur Seite Cloud SQL-Instanzen.
- Klicken Sie auf
quickstart-instance
, um die Übersichtsseite aufzurufen. - Klicken Sie auf den Tab Verbindungen.
- Klicken Sie im Abschnitt Sicherheit auf Clientzertifikat erstellen.
- Geben Sie im Dialogfeld Clientzertifikat erstellen als Namen
quickstart-key
ein und klicken Sie auf Erstellen. Klicken Sie im Dialogfeld Neues SSL-Zertifikat erstellt auf den jeweiligen Link zum Herunterladen, um die Zertifikate herunterzuladen. Klicken Sie dann auf Schließen.
Serverlose VPC-Verbindung für Verbindungen zur Instanz über eine private IP-Adresse erstellen
-
Rufen Sie in der Google Cloud Console die Seite Serverloser VPC-Zugriff - Connector erstellen auf.
- Geben Sie für den Namen
quickstart-connector
ein. - Wählen Sie im Drop-down-Menü Netzwerk die Option Standard aus
- Wählen Sie im Drop-down-Menü Subnetz die Option Benutzerdefinierter IP-Bereich aus
- Geben Sie in das Eingabefeld IP-Bereich
10.8.0.0
ein. - Klicken Sie auf Erstellen, um den Connector zu erstellen.
Beispielanwendung mit SSL-Zertifikaten erstellen
-
Öffnen Sie im Cloud Shell-Editor den Quellcode der Beispielanwendung.
Cloud Shell-Editor öffnen - Klicken Sie im Dialogfeld In Cloud Shell öffnen auf Bestätigen, um den Beispielanwendungscode herunterzuladen und das Beispielanwendungsverzeichnis im Cloud Shell-Editor zu öffnen.
- Führen Sie in der Cloud Shell-Eingabeaufforderung in der unteren Hälfte des Bildschirms unter dem Cloud Shell-Editor den folgenden Befehl aus, um Ihr Projekt zu aktivieren. Ersetzen Sie YOUR_PROJECT_ID durch Ihre Projekt-ID.
gcloud config set project
YOUR_PROJECT_ID -
Laden Sie SSL-Zertifikatsdateien in den Ordner Zertifikate hoch.
- Klicken Sie im Cloud Shell-Editor mit der rechten Maustaste auf den Ordner Zertifikate und wählen Sie Dateien hochladen aus.
- Wählen Sie auf Ihrem lokalen Computer folgende Dateien aus:
client-key.pem
client-cert.pem
server-ca.pem
- Klicken Sie bei drei ausgewählten SSL-Zertifikatsdateien auf Öffnen, um das Hochladen der Dateien in den Cloud Shell-Editor abzuschließen.
-
Führen Sie in Cloud Shell den folgenden
gcloud artifacts repositories create
-Befehl aus, um in der Artifact Registry mit dem Namenquickstart-repo
in derselben Region wie Ihre Cloud SQL-Instanz ein Repository zu erstellen. Ersetzen Sie YOUR_PROJECT_ID durch die Projekt-ID und YOUR_REGION_NAME durch den Namen Ihrer Region.gcloud artifacts repositories create quickstart-repo \ --project=
YOUR_PROJECT_ID \ --repository-format=docker \ --location=YOUR_REGION_NAME \ --description="Cloud Function Quickstart Cloud SQL sample app" -
Führen Sie den Befehl
gcloud builds submit
in Cloud Shell so aus, um einen Docker-Container zu erstellen und in der Artifact Registry zu veröffentlichen. Ersetzen Sie YOUR_PROJECT_ID durch die Projekt-ID und YOUR_REGION_NAME durch den Namen Ihrer Region.gcloud builds submit \ --tag
YOUR_REGION_NAME -docker.pkg.dev/YOUR_PROJECT_ID /quickstart-repo/function-sql . -
In
gen2
von Cloud Run-Funktionen wird das automatische Konfigurieren und Ausführen des Cloud SQL Auth-Proxys nicht unterstützt. Diese Funktion wird durch die Verwendung von Cloud Run unterstützt. Sie müssen den zugrunde liegenden Cloud Run-Dienst manuell überarbeiten, um den Cloud SQL Auth-Proxy mit dem Dienst zu konfigurieren und auszuführen. Verwenden Sie dazu das Flag--add-cloudsql-instances
. Ersetzen Sie INSTANCE_CONNECTION_NAME durch den Verbindungsnamen Ihrer Instanz.gcloud run deploy quickstart-function --source . \ --region
YOUR_REGION_NAME \ --add-cloudsql-instancesINSTANCE_CONNECTION_NAME
Beispiel-App bereitstellen
Die Schritte zum Bereitstellen des Beispiels in Cloud Run-Funktionen hängen vom Typ der IP-Adresse ab, die Sie der Cloud SQL-Instanz zugewiesen haben.
Öffentliche IP-Adresse
-
Wechseln Sie in der Google Cloud Console zur Seite Cloud Run-Funktionen.
- Wählen Sie die
quickstart-function
aus, die Sie in einem vorherigen Schritt dieser Kurzanleitung erstellt haben. - Klicken Sie auf der Seite Funktionsdetails auf den Link im Bereich Unterstützt durch Cloud Run, um auf den zugrunde liegenden Cloud Run-Funktionsdienst zuzugreifen.
- Klicken Sie auf NEUE ÜBERARBEITUNG BEARBEITEN UND BEREITSTELLEN.
- Klicken Sie im Feld Container-Image-URL auf Auswählen.
- Wählen Sie den Tab Artifact Registry aus und maximieren Sie dann den Knoten
quickstart-repo
. - Maximieren Sie den Container
function-sql
und wählen Sie dann das Container-Image aus, das Sie im vorherigen Schritt erstellt haben. - Klicken Sie auf Auswählen.
- Erstellen Sie die folgenden Umgebungsvariablen, indem Sie im Bereich Umgebungsvariablen auf Variable hinzufügen klicken:
- INSTANCE_UNIX_SOICKT: Auf
/cloudsql/YOUR_PROJECT_ID:YOUR_REGION_NAME:quickstart-instance
festlegen - DB_NAME: Legen Sie
quickstart-db
fest. - DB_USER: Legen Sie
quickstart-user
fest. - DB_PASS: Legen Sie das Passwort des
quickstart-user
fest, den Sie im vorherigen Schritt Nutzer erstellen angegeben haben. -
Herstellen einer Verbindung zu Cloud SQL aktivieren:
- Klicken Sie im Abschnitt Cloud SQL-Verbindungen auf Verbindung hinzufügen.
- Wählen Sie den Verbindungsnamen Ihrer Instanz aus.
- Klicken Sie unten auf der Seite auf Bereitstellen.
- Nachdem die quickstart-function bereitgestellt wurde, wird auf der Seite quickstart-function eine URL zum ausgeführten Dienst angezeigt. Klicken Sie auf den Link URL, um die in Cloud Run-Funktionen bereitgestellte Beispielanwendung zu sehen, die mit Cloud SQL verbunden ist.
Die Anwendung sollte in etwa so aussehen:
- Führen Sie den folgenden
gcloud functions deploy
-Befehl aus, um einegen2
-Funktion in Cloud Run-Funktionen bereitzustellen. Aktualisieren Sie vor dem Ausführen des Befehls die folgenden Variablen: - YOUR_REGION_NAME ist der Name Ihrer Region
-
INSTANCE_CONNECTION_NAME ist der Verbindungsname der Instanz, der auf der Seite Cloud SQL-Instanzen in der Google Cloud Console angezeigt wird.
- DB_PASS ist das Passwort des
quickstart-user
, den Sie im vorherigen Schritt Nutzer erstellen erstellt haben. - Nachdem Sie eine Bestätigungsnachricht erhalten haben, dass die Cloud Run-Funktionen bereitgestellt wurden, klicken Sie in der Nachricht auf den Link Dienst-URL, um die bereitgestellte Beispielanwendung für Cloud Run-Funktionen aufzurufen, die mit Cloud SQL verbunden ist.
Führen Sie den gcloud functions deploy
-Befehl aus, um Cloud Run-Funktionen zu erstellen:
gcloud functions deploy quickstart-function \
--gen2 \ --runtime go120 \ --trigger-http \ --allow-unauthenticated \ --entry-point Votes \ --regionYOUR_REGION_NAME \ --set-env-vars INSTANCE_UNIX_SOCKET=/cloudsql/INSTANCE_CONNECTION_NAME \ --set-env-vars DB_USER=quickstart-user \ --set-env-vars DB_PASS=DB_PASS \ --set-env-vars DB_NAME=quickstart-db
- Führen Sie den folgenden
gcloud functions deploy
-Befehl aus, um einegen2
-Funktion für Cloud Run-Funktionen bereitzustellen. Aktualisieren Sie vor dem Ausführen des Befehls die folgenden Variablen: - YOUR_REGION_NAME ist der Name Ihrer Region
-
INSTANCE_CONNECTION_NAME ist der Verbindungsname der Instanz, der auf der Seite Cloud SQL-Instanzen in der Google Cloud Console angezeigt wird.
- DB_PASS ist das Passwort des
quickstart-user
, den Sie im vorherigen Schritt Nutzer erstellen erstellt haben. - Nachdem Sie eine Bestätigungsnachricht erhalten haben, dass die Cloud Run-Funktionen bereitgestellt wurden, klicken Sie in der Nachricht auf den Link Dienst-URL, um die bereitgestellte Beispielanwendung für Cloud Run-Funktionen aufzurufen, die mit Cloud SQL verbunden ist.
Führen Sie den gcloud functions deploy
-Befehl aus, um Cloud Run-Funktionen zu erstellen:
gcloud functions deploy quickstart-function \
--gen2 \ --runtime java11 \ --trigger-http \ --allow-unauthenticated \ --entry-point com.example.cloudsql.functions.Main \ --regionYOUR_REGION_NAME \ --set-env-vars INSTANCE_UNIX_SOCKET=/cloudsql/INSTANCE_CONNECTION_NAME \ --set-env-vars DB_USER=quickstart-user \ --set-env-vars DB_PASS=DB_PASS \ --set-env-vars DB_NAME=quickstart-db
- Führen Sie den folgenden
gcloud functions deploy
-Befehl aus, um einegen2
-Funktion in Cloud Run-Funktionen bereitzustellen. Aktualisieren Sie vor dem Ausführen des Befehls die folgenden Variablen: - YOUR_REGION_NAME ist der Name Ihrer Region
-
INSTANCE_CONNECTION_NAME ist der Verbindungsname der Instanz, der auf der Seite Cloud SQL-Instanzen in der Google Cloud Console angezeigt wird.
- DB_PASS ist das Passwort des
quickstart-user
, den Sie im vorherigen Schritt Nutzer erstellen erstellt haben. - Nachdem Sie eine Bestätigungsnachricht erhalten haben, dass die Cloud Run-Funktionen bereitgestellt wurden, klicken Sie in der Nachricht auf den Link Dienst-URL, um die bereitgestellte Beispielanwendung für Cloud Run-Funktionen aufzurufen, die mit Cloud SQL verbunden ist.
Führen Sie den gcloud functions deploy
-Befehl aus, um Cloud Run-Funktionen zu erstellen:
gcloud functions deploy quickstart-function \
--gen2 \ --runtime nodejs18 \ --trigger-http \ --allow-unauthenticated \ --entry-point votes \ --regionYOUR_REGION_NAME \ --set-env-vars INSTANCE_UNIX_SOCKET=/cloudsql/INSTANCE_CONNECTION_NAME \ --set-env-vars DB_USER=quickstart-user \ --set-env-vars DB_PASS=DB_PASS \ --set-env-vars DB_NAME=quickstart-db
- Führen Sie den folgenden
gcloud functions deploy
-Befehl aus, um einegen2
-Funktion in Cloud Run-Funktionen bereitzustellen. Aktualisieren Sie vor dem Ausführen des Befehls die folgenden Variablen: - YOUR_REGION_NAME ist der Name Ihrer Region
-
INSTANCE_CONNECTION_NAME ist der Verbindungsname der Instanz, der auf der Seite Cloud SQL-Instanzen in der Google Cloud Console angezeigt wird.
- DB_PASS ist das Passwort des
quickstart-user
, den Sie im vorherigen Schritt Nutzer erstellen erstellt haben. - Nachdem Sie eine Bestätigungsnachricht erhalten haben, dass die Cloud Run-Funktionen bereitgestellt wurden, klicken Sie in der Nachricht auf den Link Dienst-URL, um die bereitgestellte Beispielanwendung für Cloud Run-Funktionen aufzurufen, die mit Cloud SQL verbunden ist.
Führen Sie den gcloud functions deploy
-Befehl aus, um Cloud Run-Funktionen zu erstellen:
gcloud functions deploy quickstart-function \
--gen2 \ --runtime python310 \ --trigger-http \ --allow-unauthenticated \ --entry-point votes \ --regionYOUR_REGION_NAME \ --set-env-vars INSTANCE_UNIX_SOCKET=/cloudsql/INSTANCE_CONNECTION_NAME \ --set-env-vars DB_USER=quickstart-user \ --set-env-vars DB_PASS=DB_PASS \ --set-env-vars DB_NAME=quickstart-db
Private IP-Adresse
-
Wechseln Sie in der Google Cloud Console zur Seite Cloud Run-Funktionen.
- Wählen Sie die
quickstart-function
aus, die Sie in einem vorherigen Schritt dieser Kurzanleitung erstellt haben. - Klicken Sie auf der Seite Funktionsdetails auf den Link im Bereich Unterstützt durch Cloud Run, um auf den zugrunde liegenden Cloud Run-Funktionsdienst zuzugreifen.
- Klicken Sie auf NEUE ÜBERARBEITUNG BEARBEITEN UND BEREITSTELLEN.
- Klicken Sie im Feld Container-Image-URL auf Auswählen.
- Wählen Sie den Tab Artifact Registry aus und maximieren Sie dann den Knoten
quickstart-repo
. - Maximieren Sie den Container
function-sql
und wählen Sie dann das Container-Image aus, das Sie im vorherigen Schritt erstellt haben. - Klicken Sie auf Auswählen.
- Erstellen Sie die folgenden Umgebungsvariablen, indem Sie im Bereich Umgebungsvariablen auf Variable hinzufügen klicken:
DB_NAME
: Legen Siequickstart-db
fest.DB_USER
: Legen Siequickstart-user
fest.DB_PASS
: Legen Sie das Passwort für denquickstart-user
fest, den Sie in der vorherigen Kurzanleitung Nutzer erstellen angegeben haben.INSTANCE_CONNECTION_NAME
: Auf den Verbindungsnamen Ihrer Instanz eingestellt, der auf der Seite Cloud SQL-Instanzen in der Google Cloud Console angezeigt wird.DB_PORT
: Legen Sie5432
fest.INSTANCE_HOST
: Legen Sie die private IP-Adresse Ihrer Instanz auf der Seite Cloud SQL-Instanzen in der Google Cloud Console fest.DB_ROOT_CERT
: Legen Siecerts/server-ca.pem
fest.DB_CERT
: Legen Siecerts/client-cert.pem
fest.DB_KEY
: Legen Siecerts/client-key.pem
fest.PRIVATE_IP
: Legen SieTRUE
fest.-
Herstellen einer Verbindung zu Cloud SQL aktivieren:
- Klicken Sie im Abschnitt Cloud SQL-Verbindungen auf Verbindung hinzufügen.
- Wählen Sie den Verbindungsnamen Ihrer Instanz aus.
- Wählen Sie im Drop-down-Menü VPC-Netzwerk die Option
default: Serverless VPC Access Connector "quickstart-connector"
aus. - Wählen Sie die Option Gesamten Traffic über den VPC-Connector weiterleiten aus.
- Klicken Sie unten auf der Seite auf Bereitstellen.
- Nachdem die quickstart-function bereitgestellt wurde, wird auf der Seite quickstart-function eine URL zum ausgeführten Dienst angezeigt. Klicken Sie auf den Link URL, um die in Cloud Run-Funktionen bereitgestellte Beispielanwendung zu sehen, die mit Cloud SQL verbunden ist.
Die Anwendung sollte in etwa so aussehen:
- Führen Sie den folgenden
gcloud functions deploy
-Befehl aus, um einegen2
-Funktion in Cloud Run-Funktionen bereitzustellen. Aktualisieren Sie vor dem Ausführen des Befehls die folgenden Variablen: - YOUR_REGION_NAME ist der Name Ihrer Region
- PRIVATE_IP_ADDRESS ist die private IP-Adresse Ihrer Cloud SQL-Instanz, die in der Google Cloud Console auf der Seite Cloud SQL-Instanzen angezeigt wird.
-
DB_PASS ist das Passwort des
quickstart-user
, den Sie im vorherigen Schritt Nutzer erstellen erstellt haben. -
INSTANCE_CONNECTION_NAME ist der Verbindungsname der Instanz, der auf der Seite Cloud SQL-Instanzen in der Google Cloud Console angezeigt wird.
- Nachdem Sie eine Bestätigungsnachricht erhalten haben, dass Cloud Run-Funktionen bereitgestellt wurde, klicken Sie in der Nachricht auf den Link Dienst-URL, um die bereitgestellte Beispielanwendung für Cloud Run-Funktionen aufzurufen, die mit Cloud SQL verbunden ist.
Führen Sie den gcloud functions deploy
-Befehl aus, um Cloud Run-Funktionen zu erstellen:
gcloud functions deploy quickstart-function \ --gen2 \ --runtime go120 \ --trigger-http \ --allow-unauthenticated \ --entry-point Votes \ --regionYOUR_REGION_NAME \ --vpc-connector=quickstart-connector \ --vpc-egress=all-traffic \ --set-env-vars INSTANCE_HOST=PRIVATE_IP_ADDRESS \ --set-env-vars DB_USER=quickstart-user \ --set-env-vars DB_PASS=DB_PASS \ --set-env-vars DB_NAME=quickstart-db \ --set-env-vars DB_PORT=5432 \ --set-env-vars DB_ROOT_CERT=certs/server-ca.pem \ --set-env-vars DB_CERT=certs/client-cert.pem \ --set-env-vars DB_KEY=certs/client-key.pem \ --set-env-vars PRIVATE_IP=TRUE
Java-Nutzer sollten den Befehl gcloud functions deploy
ohne die Flags INSTANCE_HOST
, DB_PORT
, DB_ROOT_CERT
, DB_CERT
, DB_KEY
und PRIVATE_IP
ausführen, um Cloud Run-Funktionen zu erstellen, da der Java-Connector bereits eine sichere Verbindung bietet:
gcloud functions deploy quickstart-function \ --gen2 \ --runtime go120 \ --trigger-http \ --allow-unauthenticated \ --entry-point Votes \ --regionYOUR_REGION_NAME \ --vpc-connector=quickstart-connector \ --vpc-egress=all-traffic \ --set-env-vars DB_NAME=quickstart-db \ --set-env-vars DB_USER=quickstart-user \ --set-env-vars DB_PASS=DB_PASS \ --set-env-vars INSTANCE_CONNECTION_NAME=INSTANCE_CONNECTION_NAME \ --set-env-vars PRIVATE_IP=TRUE
- Führen Sie den folgenden
gcloud functions deploy
-Befehl aus, um einegen2
-Funktion für Cloud Run-Funktionen bereitzustellen. Aktualisieren Sie vor dem Ausführen des Befehls die folgenden Variablen: - YOUR_REGION_NAME ist der Name Ihrer Region
- PRIVATE_IP_ADDRESS ist die private IP-Adresse Ihrer Cloud SQL-Instanz, die in der Google Cloud Console auf der Seite Cloud SQL-Instanzen angezeigt wird.
-
DB_PASS ist das Passwort des
quickstart-user
, den Sie im vorherigen Schritt Nutzer erstellen erstellt haben. -
INSTANCE_CONNECTION_NAME ist der Verbindungsname der Instanz, der auf der Seite Cloud SQL-Instanzen in der Google Cloud Console angezeigt wird.
- Nachdem Sie eine Bestätigungsnachricht erhalten haben, dass Cloud Run-Funktionen bereitgestellt wurde, klicken Sie in der Nachricht auf den Link Dienst-URL, um die bereitgestellte Beispielanwendung für Cloud Run-Funktionen aufzurufen, die mit Cloud SQL verbunden ist.
Führen Sie den gcloud functions deploy
-Befehl aus, um Cloud Run-Funktionen zu erstellen:
gcloud functions deploy quickstart-function \ --gen2 \ --runtime java11 \ --trigger-http \ --allow-unauthenticated \ --entry-point com.example.cloudsql.functions.Main \ --regionYOUR_REGION_NAME \ --vpc-connector=quickstart-connector \ --vpc-egress=all-traffic \ --set-env-vars INSTANCE_HOST=PRIVATE_IP_ADDRESS \ --set-env-vars DB_USER=quickstart-user \ --set-env-vars DB_PASS=DB_PASS \ --set-env-vars DB_NAME=quickstart-db \ --set-env-vars DB_PORT=5432 \ --set-env-vars DB_ROOT_CERT=certs/server-ca.pem \ --set-env-vars DB_CERT=certs/client-cert.pem \ --set-env-vars DB_KEY=certs/client-key.pem \ --set-env-vars PRIVATE_IP=TRUE
Java-Nutzer sollten den Befehl gcloud functions deploy
ohne die Flags INSTANCE_HOST
, DB_PORT
, DB_ROOT_CERT
, DB_CERT
, DB_KEY
und PRIVATE_IP
ausführen, um Cloud Run-Funktionen zu erstellen, da der Java-Connector bereits eine sichere Verbindung bietet:
gcloud functions deploy quickstart-function \ --gen2 \ --runtime java11 \ --trigger-http \ --allow-unauthenticated \ --entry-point com.example.cloudsql.functions.Main \ --regionYOUR_REGION_NAME \ --vpc-connector=quickstart-connector \ --vpc-egress=all-traffic \ --set-env-vars DB_NAME=quickstart-db \ --set-env-vars DB_USER=quickstart-user \ --set-env-vars DB_PASS=DB_PASS \ --set-env-vars INSTANCE_CONNECTION_NAME=INSTANCE_CONNECTION_NAME \ --set-env-vars PRIVATE_IP=TRUE
- Führen Sie den folgenden
gcloud functions deploy
-Befehl aus, um einegen2
-Funktion in Cloud Run-Funktionen bereitzustellen. Aktualisieren Sie vor dem Ausführen des Befehls die folgenden Variablen: - YOUR_REGION_NAME ist der Name Ihrer Region
- PRIVATE_IP_ADDRESS ist die private IP-Adresse Ihrer Cloud SQL-Instanz, die in der Google Cloud Console auf der Seite Cloud SQL-Instanzen angezeigt wird.
-
DB_PASS ist das Passwort des
quickstart-user
, den Sie im vorherigen Schritt Nutzer erstellen erstellt haben. -
INSTANCE_CONNECTION_NAME ist der Verbindungsname der Instanz, der auf der Seite Cloud SQL-Instanzen in der Google Cloud Console angezeigt wird.
- Nachdem Sie eine Bestätigungsnachricht erhalten haben, dass Cloud Run-Funktionen bereitgestellt wurde, klicken Sie in der Nachricht auf den Link Dienst-URL, um die bereitgestellte Beispielanwendung für Cloud Run-Funktionen aufzurufen, die mit Cloud SQL verbunden ist.
Führen Sie den gcloud functions deploy
-Befehl aus, um Cloud Run-Funktionen zu erstellen:
gcloud functions deploy quickstart-function \ --gen2 \ --runtime nodejs18 \ --trigger-http \ --allow-unauthenticated \ --entry-point votes \ --regionYOUR_REGION_NAME \ --vpc-connector=quickstart-connector \ --vpc-egress=all-traffic \ --set-env-vars INSTANCE_HOST=PRIVATE_IP_ADDRESS \ --set-env-vars DB_USER=quickstart-user \ --set-env-vars DB_PASS=DB_PASS \ --set-env-vars DB_NAME=quickstart-db \ --set-env-vars DB_PORT=5432 \ --set-env-vars DB_ROOT_CERT=certs/server-ca.pem \ --set-env-vars DB_CERT=certs/client-cert.pem \ --set-env-vars DB_KEY=certs/client-key.pem \ --set-env-vars PRIVATE_IP=TRUE
Java-Nutzer sollten den Befehl gcloud functions deploy
ohne die Flags INSTANCE_HOST
, DB_PORT
, DB_ROOT_CERT
, DB_CERT
, DB_KEY
und PRIVATE_IP
ausführen, um Cloud Run-Funktionen zu erstellen, da der Java-Connector bereits eine sichere Verbindung bietet:
gcloud functions deploy quickstart-function \ --gen2 \ --runtime nodejs18 \ --trigger-http \ --allow-unauthenticated \ --entry-point votes \ --regionYOUR_REGION_NAME \ --vpc-connector=quickstart-connector \ --vpc-egress=all-traffic \ --set-env-vars DB_NAME=quickstart-db \ --set-env-vars DB_USER=quickstart-user \ --set-env-vars DB_PASS=DB_PASS \ --set-env-vars INSTANCE_CONNECTION_NAME=INSTANCE_CONNECTION_NAME \ --set-env-vars PRIVATE_IP=TRUE
- Führen Sie den folgenden
gcloud functions deploy
-Befehl aus, um einegen2
-Funktion in Cloud Run-Funktionen bereitzustellen. Aktualisieren Sie vor dem Ausführen des Befehls die folgenden Variablen: - YOUR_REGION_NAME ist der Name Ihrer Region
- PRIVATE_IP_ADDRESS ist die private IP-Adresse Ihrer Cloud SQL-Instanz, die in der Google Cloud Console auf der Seite Cloud SQL-Instanzen angezeigt wird.
-
DB_PASS ist das Passwort des
quickstart-user
, den Sie im vorherigen Schritt Nutzer erstellen erstellt haben. -
INSTANCE_CONNECTION_NAME ist der Verbindungsname der Instanz, der auf der Seite Cloud SQL-Instanzen in der Google Cloud Console angezeigt wird.
- Nachdem Sie eine Bestätigungsnachricht erhalten haben, dass Cloud Run-Funktionen bereitgestellt wurde, klicken Sie in der Nachricht auf den Link Dienst-URL, um die bereitgestellte Beispielanwendung für Cloud Run-Funktionen aufzurufen, die mit Cloud SQL verbunden ist.
Führen Sie den gcloud functions deploy
-Befehl aus, um Cloud Run-Funktionen zu erstellen:
gcloud functions deploy quickstart-function \ --gen2 \ --runtime python310 \ --trigger-http \ --allow-unauthenticated \ --entry-point votes \ --regionYOUR_REGION_NAME \ --vpc-connector=quickstart-connector \ --vpc-egress=all-traffic \ --set-env-vars INSTANCE_HOST=PRIVATE_IP_ADDRESS \ --set-env-vars DB_USER=quickstart-user \ --set-env-vars DB_PASS=DB_PASS \ --set-env-vars DB_NAME=quickstart-db \ --set-env-vars DB_PORT=5432 \ --set-env-vars DB_ROOT_CERT=certs/server-ca.pem \ --set-env-vars DB_CERT=certs/client-cert.pem \ --set-env-vars DB_KEY=certs/client-key.pem \ --set-env-vars PRIVATE_IP=TRUE
Java-Nutzer sollten den Befehl gcloud functions deploy
ohne die Flags INSTANCE_HOST
, DB_PORT
, DB_ROOT_CERT
, DB_CERT
, DB_KEY
und PRIVATE_IP
ausführen, um Cloud Run-Funktionen zu erstellen, da der Java-Connector bereits eine sichere Verbindung bietet:
gcloud functions deploy quickstart-function \ --gen2 \ --runtime python310 \ --trigger-http \ --allow-unauthenticated \ --entry-point votes \ --regionYOUR_REGION_NAME \ --vpc-connector=quickstart-connector \ --vpc-egress=all-traffic \ --set-env-vars DB_NAME=quickstart-db \ --set-env-vars DB_USER=quickstart-user \ --set-env-vars DB_PASS=DB_PASS \ --set-env-vars INSTANCE_CONNECTION_NAME=INSTANCE_CONNECTION_NAME \ --set-env-vars PRIVATE_IP=TRUE
Bereinigen
Mit den folgenden Schritten vermeiden Sie, dass Ihrem Google Cloud -Konto die in dieser Anleitung verwendeten Ressourcen in Rechnung gestellt werden:
-
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. -
Wechseln Sie in der Google Cloud Console zur Seite Cloud Run-Funktionen.
- Klicken Sie auf das Kästchen neben dem Dienstnamen
quickstart-function
. - Klicken Sie oben auf der Seite Cloud Run-Funktionen 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.
-
Ö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 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
Ö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: