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).
Klicken Sie auf Anleitung, um eine detaillierte Anleitung für diese Aufgabe direkt in der Google Cloud Console aufzurufen.
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.
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.
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.
Wählen Sie in der Drop-down-Liste Maschinentyp die Option So leicht wie Luft aus.
Klicken Sie auf Instanz erstellen und warten Sie, bis die Instanz initialisiert und gestartet wurde.
gcloud
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.
gcloudcomputeaddressescreategoogle-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.
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.
Ä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 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 create aus, um eine Cloud SQL-Instanz mit einer privaten IP-Adresse zu erstellen.
Für Cloud SQL gelten die gleichen Längenbeschränkungen für Nutzernamen wie für lokales PostgreSQL.
Beispielanwendung in Cloud Run bereitstellen
Cloud Run-Dienstkonto konfigurieren
Konfigurieren Sie das von Cloud Run verwendete Dienstkonto so, dass es die Rolle Cloud SQL-Client mit Berechtigungen zum Herstellen einer Verbindung zu Cloud SQL hat.
Console
Öffnen Sie in der Google Cloud Console die Seite IAM.
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.
Öffentliche IP-Adresse
Für öffentliche IP-Pfade bietet Cloud Run Verschlüsselung und Verbindungen mithilfe des Cloud SQL Auth-Proxys über Unix-Sockets.
Einfach loslegen (Go)
Ö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 Cloud Shell den folgenden Befehl aus, um einen Docker-Container zu erstellen und ihn in Container Registry zu veröffentlichen.
Ersetzen Sie YOUR_PROJECT_ID durch die Projekt-ID Ihres Projekts.
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 Cloud Shell den folgenden Befehl aus, um einen Docker-Container zu erstellen und ihn in Container Registry zu veröffentlichen.
Ersetzen Sie YOUR_PROJECT_ID durch die Projekt-ID Ihres Projekts.
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 Cloud Shell den folgenden Befehl aus, um einen Docker-Container zu erstellen und ihn in Container Registry zu veröffentlichen.
Ersetzen Sie YOUR_PROJECT_ID durch die Projekt-ID Ihres Projekts.
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 Cloud Shell den folgenden Befehl aus, um einen Docker-Container zu erstellen und ihn in Container Registry zu veröffentlichen.
Ersetzen Sie YOUR_PROJECT_ID durch die Projekt-ID Ihres Projekts.
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.
Einfach loslegen (Go)
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.
Klicken Sie im Dialog In Cloud Shell öffnen auf Bestätigen, um den Beispielanwendungscode herunterzuladen und das Beispielanwendungsverzeichnis im Cloud Shell-Editor zu öffnen.
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 Befehl aus, um einen Docker-Container zu erstellen und ihn in Container Registry zu veröffentlichen.
Ersetzen Sie YOUR_PROJECT_ID durch die Projekt-ID Ihres Projekts.
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.
Klicken Sie im Dialog In Cloud Shell öffnen auf Bestätigen, um den Beispielanwendungscode herunterzuladen und das Beispielanwendungsverzeichnis im Cloud Shell-Editor zu öffnen.
Führen Sie in Cloud Shell den folgenden Befehl aus, um einen Docker-Container zu erstellen und ihn in Container Registry zu veröffentlichen.
Ersetzen Sie YOUR_PROJECT_ID durch die Projekt-ID Ihres Projekts.
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.
Klicken Sie im Dialog In Cloud Shell öffnen auf Bestätigen, um den Beispielanwendungscode herunterzuladen und das Beispielanwendungsverzeichnis im Cloud Shell-Editor zu öffnen.
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 Befehl aus, um einen Docker-Container zu erstellen und ihn in Container Registry zu veröffentlichen.
Ersetzen Sie YOUR_PROJECT_ID durch die Projekt-ID Ihres Projekts.
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.
Klicken Sie im Dialog In Cloud Shell öffnen auf Bestätigen, um den Beispielanwendungscode herunterzuladen und das Beispielanwendungsverzeichnis im Cloud Shell-Editor zu öffnen.
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 Befehl aus, um einen Docker-Container zu erstellen und ihn in Container Registry zu veröffentlichen.
Ersetzen Sie YOUR_PROJECT_ID durch die Projekt-ID Ihres Projekts.
Klicken Sie im Eingabetextfeld Container-Image-URL auf die Schaltfläche Auswählen.
Wählen Sie das Container-Image gcr.io/YOUR_PROJECT_ID/run-sql aus, das Sie im vorherigen Schritt erstellt haben.
Geben Sie im Feld Name des Dienstkontosquickstart-service ein.
Wählen Sie im Abschnitt Authentifizierung die Option Allow unauthenticated invocations aus.
Maximieren Sie den Abschnitt
Container, Variablen und Secrets, Verbindungen, Sicherheit
.
Erstellen Sie die folgende Environment variables. Klicken Sie dazu unter Umgebungsvariablen auf Variable hinzufügen. Legen Sie die Werte für die Umgebungsvariablen so fest:
INSTANCE_UNIX_SOICKT: Auf /cloudsql/YOUR_PROJECT_ID:us-central1:quickstart-instance festlegen
INSTANCE_CONNECTION_NAME: Auf den Verbindungsnamen Ihrer Instanz eingestellt, der auf der Seite Cloud SQL-Instanzen in der Google Cloud Console angezeigt wird.
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 erstellt haben.
Herstellen einer Verbindung zu Cloud SQL aktivieren:
Klicken Sie auf den Tab Verbindungen.
Klicken Sie im Abschnitt Cloud SQL-Verbindungen auf die Schaltfläche Verbindung hinzufügen.
Wählen Sie die zuvor erstellte quickstart-instance aus dem Drop-down-Menü aus.
Klicken Sie auf Erstellen, um den Cloud Run-Dienst zu erstellen.
Nachdem der Cloud Run-Dienst bereitgestellt wurde, wird auf der Seite Dienstdetails oben auf der Seite die URL des ausgeführten Dienstes angezeigt.
Klicken Sie auf den Link URL, um in Cloud Run die bereitgestellte Beispielanwendung zu sehen, die mit Cloud SQL verbunden ist.
gcloud
Bevor Sie den folgenden Befehl ausführen, ersetzen Sie die folgenden Werte:
YOUR_PROJECT_ID durch Ihre Projekt-ID,
INSTANCE_CONNECTION_NAME durch den Verbindungsnamen der Instanz, der auf der Seite Cloud SQL-Instanzen in der Google Cloud Console angezeigt wird.
DB_PASS durch das Passwort des quickstart-user, den Sie im vorherigen Schritt Nutzer erstellen erstellt haben.
Führen Sie den folgenden Befehl gcloud run deploy aus, um den Cloud Run-Dienst zu erstellen:
Geben Sie die numerische Auswahl für us-central1 ein, wenn Sie aufgefordert werden, eine Region anzugeben.
Nachdem Sie eine Bestätigungsnachricht erhalten haben, dass der Cloud Run-Dienst bereitgestellt wurde, klicken Sie in der Nachricht auf den Link Service-URL, um die Beispielanwendung in Cloud Run anzuzeigen, die mit Cloud SQL verbunden ist.
Private IP-Adresse
Console
Wechseln Sie in der Google Cloud Console zur Seite Cloud Run.
Behalten Sie die Option zum Bereitstellen aus einem vorhandenen Container-Image bei und klicken Sie auf Auswählen, um das Container-Image gcr.io/YOUR_PROJECT_ID/run-sql anzugeben, das Sie im vorherigen Schritt erstellt haben.
Geben Sie unter Dienstnamequickstart-service ein.
Wählen Sie im Abschnitt Authentifizierung die Option Allow unauthenticated invocations aus.
Maximieren Sie den Abschnitt
Container, Variablen und Secrets, Verbindungen, Sicherheit
.
Erstellen Sie die folgenden Umgebungsvariablen, indem Sie unter Umgebungsvariablen auf Variable hinzufügen klicken. Legen Sie die Werte für die Umgebungsvariablen so fest:
DB_NAME: Legen Sie quickstart-db fest.
DB_USER: Legen Sie quickstart-user fest.
DB_PASS: Legen Sie das Passwort für den quickstart-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 Sie 5432 fest.
INSTANCE_HOST: Legen Sie die private IP-Adresse der Instanz fest, wie auf der Seite Übersicht der Cloud SQL-Instanz angegeben.
DB_ROOT_CERT: Legen Sie certs/server-ca.pem fest.
DB_CERT: Legen Sie certs/client-cert.pem fest.
DB_KEY: Legen Sie certs/client-key.pem fest.
PRIVATE_IP: Legen Sie TRUE fest.
Herstellen einer Verbindung zu Cloud SQL aktivieren:
Klicken Sie auf Verbindungen.
Klicken Sie im Abschnitt Cloud SQL-Verbindungen auf Verbindung hinzufügen.
Wählen Sie die Cloud SQL-Instanz quickstart-instance aus, die Sie zuvor erstellt haben.
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 auf Erstellen, um den Cloud Run-Dienst zu erstellen.
Nachdem der Cloud Run-Dienst bereitgestellt wurde, wird auf der Seite Dienstdetails oben auf der Seite die URL des ausgeführten Dienstes angezeigt.
Klicken Sie auf den Link URL, um in Cloud Run die bereitgestellte Beispielanwendung zu sehen, die mit Cloud SQL verbunden ist.
gcloud
Bevor Sie den folgenden Befehl ausführen, ersetzen Sie die folgenden Werte:
YOUR_PROJECT_ID durch Ihre Projekt-ID,
INSTANCE_CONNECTION_NAME durch den Verbindungsnamen der Instanz, der auf der Seite Cloud SQL-Instanzen in der Google Cloud Console angezeigt wird.
DB_PASS durch das Passwort des quickstart-user, den Sie im vorherigen Schritt Nutzer erstellen erstellt haben.
INSTANCE_HOST mit der privaten IP-Adresse Ihrer Instanz. Rufen Sie die Seite Übersicht der Cloud SQL-Instanz auf, auf der die private IP-Adresse der Instanz angezeigt wird.
Führen Sie den folgenden Befehl gcloud run deploy aus, um den Cloud Run-Dienst zu erstellen:
Java-Nutzer sollten den Befehl gcloud run deploy ohne die Flags INSTANCE_HOST, DB_ROOT_CERT, DB_CERT, DB_KEY und PRIVATE_IP --set-env-vars ausführen, um den Cloud Run-Dienst zu erstellen, da der Java-Connector bereits eine sichere Verbindung bietet:
Geben Sie die numerische Auswahl für us-central1 ein, wenn Sie aufgefordert werden, eine Region anzugeben.
Nachdem Sie eine Bestätigungsnachricht erhalten haben, dass der Cloud Run-Dienst bereitgestellt wurde, klicken Sie in der Nachricht auf den Link Service-URL, um die Beispielanwendung in Cloud Run anzuzeigen, die mit Cloud SQL verbunden ist.
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.