Verbindung zu Cloud SQL for MySQL mit Cloud Run herstellen

Erfahren Sie, wie Sie eine Beispielanwendung in Cloud Run bereitstellen, die mit einer MySQL-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.

Anleitung


Hinweis

  1. 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.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

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

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

    APIs 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

    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 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

Cloud SQL einrichten

Cloud SQL-Instanz erstellen

Öffentliche IP-Adresse

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

    Cloud SQL-Instanzen aufrufen

  2. Klicken Sie auf Instanz erstellen.
  3. Klicken Sie auf MySQL auswählen.
  4. Geben Sie im Feld Instanz-ID den Wert quickstart-instance ein.
  5. Geben Sie im Feld Passwort ein Passwort für den Postgres-Nutzer ein. Speichern Sie dieses Passwort zur späteren Verwendung.
  6. Wählen Sie im Abschnitt Region und zonale Verfügbarkeit auswählen die Option Einzelne Zone aus.
  7. Klicken Sie auf das Menü Konfigurationsoptionen einblenden.
  8. Wählen Sie in der Drop-down-Liste Maschinentyp die Option So leicht wie Luft aus.
  9. 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 create quickstart-instance \
--database-version=MYSQL_8_0 \
--cpu=1 \
--memory=4GB \
--region=us-central1 \
--root-password=DB_ROOT_PASSWORD

IP-Adressbereich zuweisen und eine private Verbindung erstellen, um den Zugriff auf private Dienste für Cloud SQL zu konfigurieren

  1. Rufen Sie in der Google Cloud Console die Seite VPC-Netzwerke auf.

    Zur Seite VPC-Netzwerke

  2. Wählen Sie das VPC-Netzwerk default aus.
  3. Wählen Sie den Tab Private Dienstverbindung aus.
  4. Wählen Sie den Tab Diensten zugewiesene IP-Bereiche aus.
  5. Klicken Sie auf IP-Bereich zuweisen.
  6. Geben Sie als Name für den zugewiesenen Bereich google-managed-services-default an.
  7. Wählen Sie die Option Automatisch für den IP-Bereich aus und geben Sie die Präfixlänge als 16 an.
  8. Klicken Sie auf Zuweisen, um den zugewiesenen Bereich zu erstellen.
  9. Wählen Sie den Tab Private Verbindungen zu Diensten für das VPC-Netzwerk default aus.
  10. Klicken Sie auf Verbindung erstellen, um eine private Verbindung zwischen Ihrem Netzwerk und einem Dienstersteller herzustellen.
  11. Wählen Sie für Zugewiesene Zuordnung die Option google-managed-services-default aus.
  12. Klicken Sie auf Verbinden, um die Verbindung zu erstellen.

Instanz mit aktivierter privater IP-Adresse und SSL erstellen

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

    Cloud SQL-Instanzen aufrufen

  2. Klicken Sie auf Instanz erstellen.
  3. Klicken Sie auf MySQL.
  4. Geben Sie unter Instanz-ID quickstart-instance ein.
  5. Geben Sie ein Passwort für den Root-Nutzer ein. Speichern Sie dieses Passwort zur späteren Verwendung.
  6. Klicken Sie für Region und zonale Verfügbarkeit auswählen auf Einzelne Zone.
  7. Klicken Sie auf Konfigurationsoptionen einblenden und maximieren Sie sie.
  8. Wählen Sie unter Maschinentyp die Option So leicht wie Luft aus.
  9. Wählen Sie unter Verbindungen die Option Private IP aus.
  10. Wählen Sie im Drop-down-Menü Netzwerk die Option Standard aus.
  11. Entfernen Sie das Häkchen aus dem Kästchen Öffentliche IP-Adressen, um nur eine Instanz mit einer privaten IP-Adresse zu erstellen.
  12. Klicken Sie auf Instanz erstellen und warten Sie, bis die Instanz initialisiert und gestartet wurde.
  13. Klicken Sie auf Verbindungen.
  14. Wählen Sie im Abschnitt Sicherheit die Option Nur SSL-Verbindungen zulassen aus, um SSL-Verbindungen zu aktivieren.
  15. Klicken Sie im Dialogfeld SSL aktivieren auf Aktivieren und neu starten 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

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

  1. Bevor Sie den folgenden Befehl ausführen, ersetzen Sie DB_ROOT_PASSWORD durch das Passwort Ihres Datenbanknutzers.

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

     gcloud sql instances create quickstart-instance \
    --database-version=MYSQL_8_0 \
    --cpu=1 \
    --memory=4GB \
    --region=us-central1 \
    --root-password=DB_ROOT_PASSWORD \
    --no-assign-ip \
    --network=default
  3. Führen Sie den Befehl gcloud sql instances patch aus, um nur SSL-Verbindungen für die Instanz zuzulassen.

  4. gcloud sql instances patch quickstart-instance --require-ssl

Datenbank erstellen

  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 Datenbank erstellen quickstart-db ein. Behalten Sie die Werte für den Zeichensatz und die Sortierung bei.
    2. Klicken Sie auf Erstellen.

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

  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 Seite Übersicht einer Instanz zu öffnen.
  3. Wählen Sie im SQL-Navigationsmenü die Option Nutzer aus.
  4. Klicken Sie auf Nutzerkonto hinzufügen.
    • Geben Sie auf der Seite Nutzerkonto zur Instanz instance_name hinzufügen die folgenden Informationen ein:
      • Nutzername: Legen Sie quickstart-user fest.
      • Passwort: Geben Sie ein Passwort für Ihren Datenbanknutzer an. Notieren Sie dies zur Verwendung in einem späteren Schritt dieser Kurzanleitung.
      • Die Standardeinstellung im Abschnitt Hostnamen lautet Beliebigen Host zulassen. Das bedeutet, dass der Nutzer von jeder IP-Adresse aus eine Verbindung herstellen kann.

        Optional können Sie Host anhand von IP-Adresse oder Adressbereich einschränken auswählen und im Abschnitt Host eine IP-Adresse oder einen Adressbereich eingeben. Der Nutzer kann dann nur von den angegebenen IP-Adressen aus eine Verbindung herstellen.

  5. Klicken Sie auf Hinzufügen.

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

  1. 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 MySQL; 32 Zeichen für MySQL 8.0 und höher, 16 Zeichen für frühere Versionen.

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.
  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.
  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"

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.

Öffentliche IP-Adresse

Für öffentliche IP-Pfade bietet Cloud Run Verschlüsselung und Verbindungen mithilfe des Cloud SQL Auth-Proxys über Unix-Sockets.
  1. Öffnen Sie im Cloud Shell-Editor den Quellcode der Beispielanwendung.

    Cloud Shell-Editor öffnen
  2. Klicken Sie im Dialogfeld In Cloud Shell öffnen auf Bestätigen, um den Beispielanwendungscode herunterzuladen und das Beispielanwendungsverzeichnis im Cloud Shell-Editor zu öffnen.
  3. 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 Ihre Projekt-ID.
    gcloud builds submit --tag gcr.io/YOUR_PROJECT_ID/run-sql
  1. Öffnen Sie im Cloud Shell-Editor den Quellcode der Beispielanwendung.

    Cloud Shell-Editor öffnen

  2. Klicken Sie im Dialogfeld In Cloud Shell öffnen auf Bestätigen, um den Beispielanwendungscode herunterzuladen und das Beispielanwendungsverzeichnis im Cloud Shell-Editor zu öffnen.
  3. 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.
    mvn clean package com.google.cloud.tools:jib-maven-plugin:2.8.0:build \
     -Dimage=gcr.io/YOUR_PROJECT_ID/run-sql -DskipTests
  1. Öffnen Sie im Cloud Shell-Editor den Quellcode der Beispielanwendung.

    Cloud Shell-Editor öffnen

  2. Klicken Sie im Dialogfeld In Cloud Shell öffnen auf Bestätigen, um den Beispielanwendungscode herunterzuladen und das Beispielanwendungsverzeichnis im Cloud Shell-Editor zu öffnen.
  3. 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.
    gcloud builds submit --tag gcr.io/YOUR_PROJECT_ID/run-sql
  1. Öffnen Sie im Cloud Shell-Editor den Quellcode der Beispielanwendung.
    Cloud Shell-Editor öffnen
  2. Klicken Sie im Dialogfeld In Cloud Shell öffnen auf Bestätigen, um den Beispielanwendungscode herunterzuladen und das Beispielanwendungsverzeichnis im Cloud Shell-Editor zu öffnen.
  3. 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.
    gcloud builds submit --tag gcr.io/YOUR_PROJECT_ID/run-sql
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

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

    Cloud SQL-Instanzen aufrufen

  2. Klicken Sie auf quickstart-instance, um die Übersichtsseite aufzurufen.
  3. Klicken Sie auf den Tab Verbindungen.
  4. Klicken Sie im Abschnitt Sicherheit auf Clientzertifikat erstellen.
  5. Geben Sie im Dialogfeld Clientzertifikat erstellen als Namen quickstart-key ein und klicken Sie auf Erstellen.
  6. 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

  1. Rufen Sie in der Google Cloud Console die Seite Serverloser VPC-ZugriffConnector erstellen auf.

    Serverlosen VPC-Connector erstellen

  2. Geben Sie für den Namen quickstart-connector ein.
  3. Wählen Sie im Drop-down-Menü Netzwerk die Option Standard aus
  4. Wählen Sie im Drop-down-Menü Subnetz die Option Benutzerdefinierter IP-Bereich aus
  5. Geben Sie in das Eingabefeld IP-Bereich 10.8.0.0 ein.
  6. Klicken Sie auf Erstellen, um den Connector zu erstellen.

Beispielanwendung mit SSL-Zertifikaten erstellen

  1. Öffnen Sie im Cloud Shell-Editor den Quellcode der Beispielanwendung.

    Cloud Shell-Editor öffnen
  2. Klicken Sie im Dialog Open in Cloud Shell auf Bestätigen, um den Beispielanwendungscode herunterzuladen und das Beispielanwendungsverzeichnis im Cloud Shell-Editor zu öffnen.
  3. Laden Sie SSL-Zertifikatsdateien in den Ordner Zertifikate hoch.
    1. Klicken Sie im Cloud Shell-Editor mit der rechten Maustaste auf den Ordner Zertifikate und wählen Sie Dateien hochladen aus.
    2. Wählen Sie auf Ihrem lokalen Computer folgende Dateien aus:
      • client-key.pem
      • client-cert.pem
      • server-ca.pem
    3. Klicken Sie bei drei ausgewählten SSL-Zertifikatsdateien auf Öffnen, um das Hochladen der Dateien in den Cloud Shell-Editor abzuschließen.
  4. 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 Ihre Projekt-ID.
    gcloud builds submit --tag gcr.io/YOUR_PROJECT_ID/run-sql

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

  1. Rufen Sie in der Google Cloud Console die Seite Serverloser VPC-ZugriffConnector erstellen auf.

    Serverlosen VPC-Connector erstellen

  2. Geben Sie für den Namen quickstart-connector ein.
  3. Wählen Sie im Drop-down-Menü Netzwerk die Option Standard aus
  4. Wählen Sie im Drop-down-Menü Subnetz die Option Benutzerdefinierter IP-Bereich aus
  5. Geben Sie in das Eingabefeld IP-Bereich 10.8.0.0 ein.
  6. Klicken Sie auf Erstellen, um den Connector zu erstellen.

Beispielanwendung erstellen

  1. Öffnen Sie im Cloud Shell-Editor den Quellcode der Beispielanwendung.
    Cloud Shell-Editor öffnen
  2. Klicken Sie im Dialog In Cloud Shell öffnen auf Bestätigen, um den Beispielanwendungscode herunterzuladen und das Beispielanwendungsverzeichnis im Cloud Shell-Editor zu öffnen.
  3. 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.
    mvn clean package com.google.cloud.tools:jib-maven-plugin:2.8.0:build \
     -Dimage=gcr.io/YOUR_PROJECT_ID/run-sql -DskipTests

SSL-Server- und Clientzertifikate erstellen und herunterladen

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

    Cloud SQL-Instanzen aufrufen

  2. Klicken Sie auf quickstart-instance, um die Übersichtsseite aufzurufen.
  3. Klicken Sie auf den Tab Verbindungen.
  4. Klicken Sie im Abschnitt Sicherheit auf Clientzertifikat erstellen.
  5. Geben Sie im Dialogfeld Clientzertifikat erstellen als Namen quickstart-key ein und klicken Sie auf Erstellen.
  6. 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

  1. Rufen Sie in der Google Cloud Console die Seite Serverloser VPC-ZugriffConnector erstellen auf.

    Serverlosen VPC-Connector erstellen

  2. Geben Sie für den Namen quickstart-connector ein.
  3. Wählen Sie im Drop-down-Menü Netzwerk die Option Standard aus
  4. Wählen Sie im Drop-down-Menü Subnetz die Option Benutzerdefinierter IP-Bereich aus
  5. Geben Sie in das Eingabefeld IP-Bereich 10.8.0.0 ein.
  6. Klicken Sie auf Erstellen, um den Connector zu erstellen.

Beispielanwendung mit SSL-Zertifikaten erstellen

  1. Öffnen Sie im Cloud Shell-Editor den Quellcode der Beispielanwendung.
    Cloud Shell-Editor öffnen
  2. Klicken Sie im Dialog In Cloud Shell öffnen auf Bestätigen, um den Beispielanwendungscode herunterzuladen und das Beispielanwendungsverzeichnis im Cloud Shell-Editor zu öffnen.
  3. Laden Sie SSL-Zertifikatsdateien in den Ordner Zertifikate hoch.
    1. Klicken Sie im Cloud Shell-Editor mit der rechten Maustaste auf den Ordner Zertifikate und wählen Sie Dateien hochladen aus.
    2. Wählen Sie auf Ihrem lokalen Computer folgende Dateien aus:
      • client-key.pem
      • client-cert.pem
      • server-ca.pem
    3. Klicken Sie bei drei ausgewählten SSL-Zertifikatsdateien auf Öffnen, um das Hochladen der Dateien in den Cloud Shell-Editor abzuschließen.
  4. 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.
    gcloud builds submit --tag gcr.io/YOUR_PROJECT_ID/run-sql

SSL-Server- und Clientzertifikate erstellen und herunterladen

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

    Cloud SQL-Instanzen aufrufen

  2. Klicken Sie auf quickstart-instance, um die Übersichtsseite aufzurufen.
  3. Klicken Sie auf den Tab Verbindungen.
  4. Klicken Sie im Abschnitt Sicherheit auf Clientzertifikat erstellen.
  5. Geben Sie im Dialogfeld Clientzertifikat erstellen als Namen quickstart-key ein und klicken Sie auf Erstellen.
  6. 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

  1. Rufen Sie in der Google Cloud Console die Seite Serverloser VPC-ZugriffConnector erstellen auf.

    Serverlosen VPC-Connector erstellen

  2. Geben Sie für den Namen quickstart-connector ein.
  3. Wählen Sie im Drop-down-Menü Netzwerk die Option Standard aus
  4. Wählen Sie im Drop-down-Menü Subnetz die Option Benutzerdefinierter IP-Bereich aus
  5. Geben Sie in das Eingabefeld IP-Bereich 10.8.0.0 ein.
  6. Klicken Sie auf Erstellen, um den Connector zu erstellen.

Beispielanwendung mit SSL-Zertifikaten erstellen

  1. Öffnen Sie im Cloud Shell-Editor den Quellcode der Beispielanwendung.
    Cloud Shell-Editor öffnen
  2. Klicken Sie im Dialog In Cloud Shell öffnen auf Bestätigen, um den Beispielanwendungscode herunterzuladen und das Beispielanwendungsverzeichnis im Cloud Shell-Editor zu öffnen.
  3. Laden Sie SSL-Zertifikatsdateien in den Ordner Zertifikate hoch.
    1. Klicken Sie im Cloud Shell-Editor mit der rechten Maustaste auf den Ordner Zertifikate und wählen Sie Dateien hochladen aus.
    2. Wählen Sie auf Ihrem lokalen Computer folgende Dateien aus:
      • client-key.pem
      • client-cert.pem
      • server-ca.pem
    3. Klicken Sie bei drei ausgewählten SSL-Zertifikatsdateien auf Öffnen, um das Hochladen der Dateien in den Cloud Shell-Editor abzuschließen.
  4. 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.
    gcloud builds submit --tag gcr.io/YOUR_PROJECT_ID/run-sql

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.

Öffentliche IP-Adresse

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

    Zu Cloud Run

  2. Klicken Sie auf Container erstellen und wählen Sie Dienst aus, um das Formular Dienst erstellen aufzurufen.

  3. Klicken Sie im Eingabefeld Container-Image-URL auf die Schaltfläche Auswählen.
    1. Wählen Sie das Container-Image gcr.io/YOUR_PROJECT_ID/run-sql aus, das Sie im vorherigen Schritt erstellt haben.
  4. Geben Sie unter Dienstname quickstart-service ein.
  5. Wählen Sie im Abschnitt Authentifizierung die Option Allow unauthenticated invocations aus. Wenn Sie nicht berechtigt sind (Cloud Run Admin-Rolle), diese Option auszuwählen, wird der Dienst bereitgestellt und erfordert eine Authentifizierung.
  6. Maximieren Sie den Abschnitt Container, Variablen und Secrets, Verbindungen, Sicherheit .
  7. 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_SOCKET: 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 angegeben haben.
  8. 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.

    Cloud SQL-Verbindung hinzufügen

  9. Klicken Sie auf Erstellen, um den Cloud Run-Dienst zu erstellen.

  10. Wenn der Cloud Run-Dienst bereitgestellt ist, wird oben auf der Seite Dienstdetails eine URL für den ausgeführten Dienst angezeigt. Klicken Sie auf den Link URL, um in Cloud Run die bereitgestellte Beispielanwendung zu sehen, die mit Cloud SQL verbunden ist.

    Screenshot: Bereitgestellte Beispielanwendung ansehen

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

    gcloud run deploy run-sql --image gcr.io/YOUR_PROJECT_ID/run-sql \
      --add-cloudsql-instances INSTANCE_CONNECTION_NAME \
      --set-env-vars INSTANCE_UNIX_SOCKET="/cloudsql/INSTANCE_CONNECTION_NAME" \
      --set-env-vars INSTANCE_CONNECTION_NAME="INSTANCE_CONNECTION_NAME" \
      --set-env-vars DB_NAME="quickstart-db" \
      --set-env-vars DB_USER="quickstart-user" \
      --set-env-vars DB_PASS="DB_PASS"

    Geben Sie die numerische Auswahl für us-central1 ein, wenn Sie aufgefordert werden, eine Region anzugeben.

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

    Screenshot: Bereitgestellte Beispielanwendung ansehen

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

    Zu Cloud Run

  2. Klicken Sie auf Container erstellen und wählen Sie Dienst aus, um das Formular Dienst erstellen aufzurufen.

  3. 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.
  4. Geben Sie unter Dienstname quickstart-service ein.
  5. Wählen Sie im Abschnitt Authentifizierung die Option Allow unauthenticated invocations aus. Wenn Sie nicht berechtigt sind (Cloud Run Admin-Rolle), diese Option auszuwählen, wird der Dienst bereitgestellt und erfordert eine Authentifizierung.
  6. Maximieren Sie den Abschnitt Container, Variablen und Secrets, Verbindungen, Sicherheit .
  7. 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 3306 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.
  8. Herstellen einer Verbindung zu Cloud SQL aktivieren:

    1. Klicken Sie auf Verbindungen.
    2. Klicken Sie im Abschnitt Cloud SQL-Verbindungen auf Verbindung hinzufügen.
    3. Wählen Sie die Cloud SQL-Instanz quickstart-instance aus, die Sie zuvor erstellt haben.
    4. Wählen Sie im Drop-down-Menü VPC-Netzwerk die Option default: Serverless VPC Access Connector "quickstart-connector" aus.
    5. Wählen Sie die Option Gesamten Traffic über den VPC-Connector weiterleiten aus.
  9. Klicken Sie auf Erstellen, um den Cloud Run-Dienst zu erstellen.

  10. 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.

    Bereitgestellte Beispielanwendung ansehen

  1. 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. Schauen Sie auf der Seite Übersicht Ihrer Cloud SQL-Instanz nach, wo die private IP-Adresse der Instanz erscheint.

    Führen Sie den folgenden Befehl gcloud run deploy aus, um den Cloud Run-Dienst zu erstellen:

    gcloud run deploy run-sql --image gcr.io/YOUR_PROJECT_ID/run-sql \
      --add-cloudsql-instances INSTANCE_CONNECTION_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 DB_PORT="3306" \
      --set-env-vars INSTANCE_HOST="INSTANCE_HOST" \
      --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 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:

    gcloud run deploy run-sql --image gcr.io/YOUR_PROJECT_ID/run-sql \
      --add-cloudsql-instances INSTANCE_CONNECTION_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 DB_PORT="3306"

    Geben Sie die numerische Auswahl für us-central1 ein, wenn Sie aufgefordert werden, eine Region anzugeben.

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

    Bereitgestellte Beispielanwendung ansehen

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 Run.

    Zu Cloud Run

  6. Klicken Sie auf das Kästchen neben dem Dienstnamen quickstart-service.
  7. 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.

  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.

Informationen zum Anlegen von MySQL-Nutzern und -Datenbanken für Ihre Cloud SQL-Instanz erhalten Sie unter MySQL-Nutzer erstellen und verwalten und MySQL-Datenbanken erstellen und verwalten.

Weitere Informationen zu Preisen finden Sie unter Preise für Cloud SQL for MySQL.

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: