Über den Auth-Proxy von Cloud Shell aus eine Verbindung zu AlloyDB herstellen
Wenn Sie eine Verbindung zu Ihrer AlloyDB for PostgreSQL-Instanz herstellen und SQL-Abfragen über ein vorkonfiguriertes Browserterminal ausführen möchten, ohne lokale Clienttools zu installieren, können Sie Cloud Shell und den AlloyDB Auth-Proxy verwenden.
Hinweis
Wählen Sie in der Google Cloud Console auf der Seite für die Projektauswahl ein Projekt von Google Cloud aus oder erstellen Sie eines.
Die Abrechnung für Ihr Google Cloud -Projekt muss aktiviert sein. Durch die Bestätigung der Abrechnung werden alle erforderlichen Dienste aktiviert.
Sie benötigen eine AlloyDB-Instanz, die für eine öffentliche IP-Adresse konfiguriert ist. Cloud Shell kann keine Verbindung zu einer privaten IP-Adresse herstellen.
Erforderliche Rollen
Damit Sie den Auth-Proxy verwenden können, muss Ihr Nutzerkonto die folgenden IAM-Rollen (Identity and Access Management) haben:
- AlloyDB-Client (
roles/alloydb.client) - Service Usage Consumer (
roles/serviceusage.serviceUsageConsumer)
Wenn Sie nicht die erforderlichen Rollen haben, bitten Sie Ihren Administrator, Ihnen die Rollen zuzuweisen, oder weisen Sie sie Ihrem Nutzerkonto so zu:
Rufen Sie in der Google Cloud Console die Seite IAM auf.
Suchen Sie Ihr Nutzerkonto in der Liste der Hauptkonten.
Klicken Sie auf Hauptkonto bearbeiten.
Klicken Sie auf Weitere Rolle hinzufügen.
Suchen Sie nach der Rolle AlloyDB-Client und wählen Sie sie aus.
Klicken Sie auf Übernehmen.
Klicken Sie auf Weitere Rolle hinzufügen.
Suchen Sie nach der Rolle Service Usage Consumer und wählen Sie sie aus.
Klicken Sie auf Übernehmen.
Klicken Sie auf Speichern.
Verbindung zur AlloyDB-Instanz herstellen
Die Cloud Shell-Umgebung enthält den Auth-Proxy (alloydb-auth-proxy) und psql, das interaktive PostgreSQL-Terminal.
Aktivieren Sie Cloud Shell.
Klicken Sie auf Cloud Shell autorisieren. Sie müssen dies nur tun, wenn Sie Cloud Shell zum ersten Mal verwenden.
Bestätigen Sie Ihre Nutzeridentität im Cloud Shell-Editor. Prüfen Sie, ob Sie mit dem Nutzerkonto angemeldet sind, das die erforderlichen IAM-Rollen hat.
gcloud config listRufen Sie den Verbindungs-URI für Ihre Instanz ab:
Rufen Sie in der Google Cloud Console die Seite Cluster auf.
Wählen Sie Ihren Cluster aus und suchen Sie die primäre Instanz.
Klicken Sie auf Verbindungskonfiguration ansehen.
Kopieren Sie den Verbindungs-URI.
Starten Sie den Auth-Proxy. Verwenden Sie im Cloud Shell-Terminal den kopierten URI und geben Sie das Flag
--public-ipan:alloydb-auth-proxy CONNECTION_URI --public-ipErsetzen Sie Folgendes:
CONNECTION_URI: der Verbindungs-URI, den Sie aus der Google Cloud Console kopiert haben.
Der Auth-Proxy wird gestartet und zeigt eine Meldung an, die bestätigt, dass er auf
127.0.0.1:5432lauscht.Öffnen Sie einen neuen Cloud Shell-Tab und stellen Sie mit
psqleine Verbindung zur Datenbank her:psql "host=localhost user=POSTGRES_USERNAME dbname=POSTGRES_DATABASE port=5432"Wenn Sie im vorhandenen Cloud Shell-Fenster einen neuen Terminalbereich öffnen möchten, drücken Sie Strg + b + " oder klicken Sie auf
Hinzufügen. So können Sie den Auth-Proxy in einem Bereich ausführen, während Sie im zweiten Bereich Verbindungsbefehle ausführen.Wenn Sie zwischen den Bereichen wechseln möchten, drücken Sie Strg + b + keyboard_arrow_up oder Strg + b + keyboard_arrow_down.
Ersetzen Sie Folgendes:
POSTGRES_USERNAME: Ihr AlloyDB-Nutzer, in der Regelpostgres.POSTGRES_DATABASE: Der Name Ihrer AlloyDB-Datenbank, normalerweisepostgres.
Geben Sie bei entsprechender Aufforderung das Passwort für Ihren PostgreSQL-Nutzer ein.
Prüfen Sie die Verbindung, indem Sie eine SQL-Abfrage ausführen:
SELECT now();Geben Sie
\qein, umpsqlzu beenden.Geben Sie
exitein, um Cloud Shell zu beenden.Drücken Sie Strg + C, um den Auth-Proxy zu beenden.
Bereinigen
Mit den folgenden Schritten vermeiden Sie, dass Ihrem Google Cloud -Konto die auf dieser Seite verwendeten Ressourcen in Rechnung gestellt werden:
Rufen Sie in der Google Cloud Console die Seite Cluster auf.
Klicken Sie auf den von Ihnen erstellten Cluster.
Klicken Sie auf Cluster löschen.
Geben Sie im Bestätigungsdialogfeld die ID des Clusters ein und klicken Sie auf Löschen, um den Cluster und seine Instanzen zu löschen.