Verbindung über Cloud Run herstellen

In dieser Kurzanleitung wird beschrieben, wie Sie eine Beispielanwendung in einem Cloud Run-Dienst bereitstellen. Dazu verwenden Sie die Google Cloud Console und eine Clientanwendung. Diese Beispielanwendung stellt eine Verbindung zwischen Cloud Run und AlloyDB for PostgreSQL her.

Beispielanwendungscode

Der Beispielanwendungscode für diese Kurzanleitung befindet sich im Verzeichnis examples/go des GitHub-Repositorys GoogleCloudPlatform/alloydb-auth-proxy.

Die Anwendung ist in der Programmiersprache Go geschrieben und dient als Tool zum Sammeln von Stimmen. Die Hauptlogik befindet sich in der Datei main.go, die einen Webserver startet und Nutzeranfragen verarbeitet.

Die Datenbankverbindung wird über Umgebungsvariablen konfiguriert, die Sie beim Erstellen des Cloud Run-Dienstes einrichten. Diese Variablen geben der Anwendung an, wie sie eine Verbindung zu Ihrer AlloyDB-Instanz herstellen soll, einschließlich des Datenbanknamens, des Nutzers, des Passworts und der IP-Adresse der Instanz. Der Code verwendet diese Variablen, um eine sichere Verbindung zu Ihrer AlloyDB-Datenbank herzustellen.

Code-Repository

Das alloydb-auth-proxy-Repository enthält den AlloyDB Auth-Proxy, ein Tool, mit dem Sie sicher eine Verbindung zu Ihren AlloyDB-Instanzen herstellen können. Das Repository enthält auch zugehörige Bibliotheken und Beispiele, z. B. die in dieser Kurzanleitung verwendete Go-Anwendung.

Sie benötigen nicht das gesamte alloydb-auth-proxy-Projekt, um von Cloud Run aus eine Verbindung zu AlloyDB herzustellen. Mit dem Befehl cloudshell_open wird das gesamte Repository geklont. Die einzigen Dateien, die zum Erstellen des Containers für diese Kurzanleitung verwendet werden, befinden sich jedoch im Verzeichnis examples/go.

Hinweise

  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.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  5. Verify that billing is enabled for your Google Cloud project.

  6. Aktivieren Sie die Cloud APIs, die zum Ausführen einer AlloyDB for PostgreSQL-Beispielanwendung in Cloud Run erforderlich sind.

    APIs aktivieren

    1. Klicken Sie im Schritt Projekt bestätigen auf Weiter, um den Namen des Projekts zu bestätigen, an dem Sie Änderungen vornehmen möchten.

    2. Klicken Sie im Schritt APIs aktivieren auf Aktivieren, um Folgendes zu aktivieren:

      • AlloyDB API
      • Cloud Run Admin API
      • Compute Engine API
      • Cloud Build API
      • Container Registry API
      • Service Networking API
      • Cloud Resource Manager API
  7. Achten Sie darauf, dass Sie einen AlloyDB-Cluster und eine primäre Instanz haben. Weitere Informationen finden Sie unter Cluster und zugehörige primäre Instanz erstellen.
  8. Verbindung zur Instanz herstellen und Datenbank erstellen

    1. Wenn Sie sich nicht auf der Seite Übersicht Ihres neu erstellten Clusters befinden, rufen Sie in der Google Cloud Console die Seite Cluster auf.

      Zu den Clustern

    2. Klicken Sie auf den Clusternamen my-cluster, um die Übersichtsseite des Clusters aufzurufen.

    3. Klicken Sie im Navigationsmenü auf AlloyDB Studio.

    4. Wählen Sie auf der Seite In AlloyDB Studio anmelden in der Liste Datenbank die Option postgres aus.

    5. Wählen Sie in der Drop-down-Liste User (Nutzer) die Option postgres aus.

    6. Geben Sie im Feld Passwort das Passwort ein, das Sie unter Cluster und primäre Instanz erstellen erstellt haben.

    7. Klicken Sie auf Authentifizieren. Im Bereich Explorer wird eine Liste der Objekte in Ihrer Datenbank angezeigt.

    8. Erstellen Sie auf dem Tab Editor 1 eine Datenbank:

      CREATE DATABASE quickstart_db;
      
    9. Klicken Sie auf Ausführen. Warten Sie, bis die Meldung Statement executed successfully im Bereich Ergebnisse angezeigt wird.

    Suchen Sie Ihre Projekt-ID.

    1. Rufen Sie in der Google Cloud Console die Seite Dashboard auf.

      Zum Dashboard

    2. Die Projekt-ID finden Sie auf der Karte Projektinformationen.

    3. Notieren Sie sich Ihre Projekt-ID. Sie benötigen ihn für den nächsten Schritt dieser Kurzanleitung.

    Artifact Registry mit einem Image der Beispielanwendung füllen

    1. Öffnen Sie Cloud Shell in der Google Cloud Console.

      Cloud Shell öffnen

    2. Verwenden Sie im Cloud Shell-Editor den folgenden Befehl, um das Repository mit dem Beispielanwendungscode von GitHub zu klonen:

      cloudshell_open --repo_url \
      "https://github.com/GoogleCloudPlatform/alloydb-auth-proxy" \
      --dir \
      "examples/go" \
      --force_new_clone
    3. Erstellen Sie in Artifact Registry ein Repository für Docker-Images:

      gcloud artifacts repositories create cloud-run-source-deploy --location us-central1 --repository-format=docker --project PROJECT_ID

      Ersetzen Sie PROJECT_ID durch die ID Ihres Projekts.

    4. Klicken Sie im Dialogfeld Cloud Shell autorisieren auf Autorisieren. Diese Aufforderung wird nicht angezeigt, wenn Sie diesen Schritt bereits ausgeführt haben.

    5. Verwenden Sie den folgenden Befehl, um einen Docker-Container zu erstellen und in Artifact Registry zu veröffentlichen:

       gcloud builds submit --tag  us-central1-docker.pkg.dev/PROJECT_ID/cloud-run-source-deploy/run-sql --project PROJECT_ID

      Ersetzen Sie PROJECT_ID durch die ID Ihres Projekts.

      Der Beispielanwendungscode für diese Kurzanleitung befindet sich im Verzeichnis examples/go des GitHub-Repositorys GoogleCloudPlatform/alloydb-auth-proxy. Mit dem Befehl cloudshell_open im vorherigen Schritt wird dieses Repository automatisch geklont und das richtige Verzeichnis für Sie geöffnet.

    IP-Adresse für die neue Instanz ermitteln

    1. Rufen Sie in der Google Cloud Console die Seite Cluster auf.

      Zu den Clustern

    2. Suchen Sie in der Tabelle nach der Zeile, deren Ressourcenname my-primary ist.

    3. Notieren Sie sich die Private IP-Adresse dieser Zeile. Sie benötigen ihn für den nächsten Schritt dieser Kurzanleitung.

      Ein Beispiel für das Format der IP-Adresse ist 172.19.209.2:5432.

    Dienst für Cloud Run erstellen

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

      Zu Cloud Run

    2. Klicken Sie auf dem Tab Dienste auf Container bereitstellen.

    3. Wählen Sie auf der Seite Dienst erstellen die Option Eine Überarbeitung aus einem vorhandenen Container-Image bereitstellen aus.

    4. Klicken Sie im Feld Container-Image-URL auf Auswählen.

    5. Führen Sie im Bereich Container-Image auswählen die folgenden Schritte aus:

      1. Wählen Sie den Tab Artifact Registry aus.
      2. Maximieren Sie us-central1-docker.pkg.dev/PROJECT_ID/cloud-run-source-deploy.
      3. Maximieren Sie run-sql.
      4. Wählen Sie das aktuelle Image aus.
      5. Klicken Sie auf Auswählen.
    6. Geben Sie im Feld Name des Dienstkontos quickstart-service ein.

    7. Achte darauf, dass in der Liste Region standardmäßig us-central1 (Iowa) ausgewählt ist.

    8. Wählen Sie im Bereich Authentifizierung die Option Öffentlichen Zugriff erlauben aus.

    9. Achten Sie darauf, dass im Abschnitt CPU-Zuweisung und ‑Preise die Option CPU wird nur während der Anfrageverarbeitung zugewiesen ausgewählt ist.

    10. Maximieren Sie den Abschnitt Container, Volumes, Netzwerk, Sicherheit.

    11. Wählen Sie auf dem Tab Container den Tab Variablen und Secrets aus und führen Sie die folgenden Schritte aus:

      1. Klicken Sie im Bereich Umgebungsvariablen auf Variable hinzufügen.

      2. Geben Sie Folgendes in die Felder Name und Value ein:

        • DB_NAME: quickstart_db
        • DB_USER: postgres
        • DB_PASS: Das Passwort, das Sie beim Erstellen des Clusters eingegeben haben.
        • DB_PORT: 5432
        • INSTANCE_HOST: Die IP-Adresse der primären Instanz Ihres Clusters, die Sie unter IP-Adresse für die neue Instanz ermitteln gefunden haben. Geben Sie die Portnummer nicht an, z. B. 172.19.209.2 statt 172.19.209.2:5432.
    12. Wechseln Sie vom Tab Container zum Tab Netzwerk und führen Sie die folgenden Schritte aus:

      1. Klicken Sie das Kästchen Mit einer VPC für ausgehenden Traffic verbinden an.

      2. Wählen Sie die Option Traffic direkt an eine VPC senden aus.

      3. Wählen Sie in der Drop-down-Liste Netzwerk den Wert default aus.

      4. Achten Sie darauf, dass in der Drop-down-Liste Subnetz der Wert default ausgewählt ist.

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

      Nachdem der Cloud Run-Dienst bereitgestellt wurde, wird auf der Seite quickstart-service die URL der Beispielanwendung im Feld URL angezeigt.

      Die Anwendung verwendet AlloyDB als Datenspeicher.

    Beispielanwendung ansehen

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

      Zu Cloud Run

    2. Klicken Sie auf der Seite quickstart-service auf  In die Zwischenablage kopieren, um die Anwendungs-URL zu kopieren.

    3. Fügen Sie die kopierte Anwendungs-URL in einen neuen Browsertab ein und klicken Sie auf die Eingabetaste.

    Bereinigen

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

    Cluster bereinigen

    1. Rufen Sie in der Google Cloud Console die Seite Cluster auf.

      Zu den Clustern

    2. Klicken Sie neben dem Cluster my-cluster, den Sie löschen möchten, auf Aktionen und dann auf Löschen.

    3. Geben Sie im angezeigten Dialogfeld Cluster löschen im Feld my-cluster my-cluster ein, um zu bestätigen, dass Sie den Cluster löschen möchten.

    4. Klicken Sie auf Löschen.

    Dienst bereinigen

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

      Zu Cloud Run

    2. Klicken Sie auf das Kästchen neben dem Dienstnamen quickstart-service.

    3. Klicken Sie oben auf der Seite Cloud Run auf  Löschen.

    4. Klicken Sie im angezeigten Dialogfeld Schnellstartdienst löschen zur Bestätigung auf Löschen.

    Nächste Schritte