Verbindung über einen Datenbankclient von einem lokalen Computer oder Compute Engine herstellen

Auf dieser Seite wird beschrieben, wie Sie einen psql-Client mit Ihrer Cloud SQL-Instanz verbinden, und zwar auf einem lokalen Client, auf einer Compute Engine-VM oder in Cloud Shell.

Vorbereitung

Bevor Sie einen Client verwenden können, müssen folgende Bedingungen erfüllt sein:

Client auf einem lokalen Computer oder einer Compute Engine-VM verwenden

Das Herstellen einer Verbindung zu Ihrer Cloud SQL-Instanz mithilfe eines psql-Clients umfasst drei grundlegende Aufgaben:

  1. Client installieren
  2. Zugriff auf Ihre Cloud SQL-Instanz konfigurieren
  3. Verbindung zur Cloud SQL-Instanz herstellen

Client installieren

So installieren Sie den Client:

Debian/Ubuntu

Installieren Sie den psql-Client aus dem Paketmanager:

sudo apt-get update
sudo apt-get install postgresql-client

CentOS/RHEL

Installieren Sie den psql-Client aus dem Paketmanager:

sudo yum install postgresql

openSUSE

Installieren Sie den psql-Client aus dem Paketmanager:

sudo zypper install postgresql

Andere Plattformen

  1. Laden Sie die PostgreSQL Core Distribution für Ihre Plattform von der PostgreSQL-Downloadseite herunter.
    Der psql-Client ist in der Core Distribution enthalten.
  2. Installieren Sie die PostgreSQL-Datenbank nach den Anweisungen auf der Downloadseite.

Zugriff auf Ihre Cloud SQL-Instanz konfigurieren

So konfigurieren Sie den Zugriff auf Ihre Instanz:

  1. Rufen Sie auf dem Clientcomputer oder der Compute Engine-VM-Instanz Wie lautet meine IP auf, um die IP-Adresse des Clientcomputers anzuzeigen.
  2. Kopieren Sie diese IP-Adresse.
  3. Wechseln Sie in der Google Cloud Console zur Seite Cloud SQL-Instanzen.

    Cloud SQL-Instanzen aufrufen

  4. Klicken Sie auf den Instanznamen, um die entsprechende Übersicht zu öffnen.
  5. Wählen Sie im SQL-Navigationsmenü die Option Verbindungen aus.
  6. Klicken Sie im Abschnitt Autorisierte Netzwerke auf Netzwerk hinzufügen und geben Sie die IP-Adresse des Computers an, auf der Client installiert ist.
  7. Klicken Sie auf Fertig und dann am Seitenende auf Speichern, um die Änderungen zu speichern.
  8. Stellen Sie eine Verbindung zur Instanz entweder mit SSL oder ohne SSL her.

Unverschlüsselte Verbindung zu Ihrer Cloud SQL-Instanz herstellen

So stellen Sie eine Verbindung zur Instanz her:

  1. Prüfen Sie, ob der Client installiert und der Zugriff auf Ihre Instanz konfiguriert ist.
  2. Starten Sie den psql-Client:
    psql "sslmode=disable dbname=postgres user=postgres hostaddr=INSTANCE_IP"
    
  3. Geben Sie Ihr Passwort ein.
  4. Die psql-Eingabeaufforderung wird angezeigt.

SSL-Verbindung zu Ihrer Cloud SQL-Instanz herstellen

Für eine SSL-Verbindung ist Folgendes erforderlich:

  • Ein von einer Zertifizierungsstelle (Certificate Authority, CA) ausgestelltes Zertifikat in einer server-ca.pem-Datei
  • Ein Public-Key-Zertifikat des Clients in einer client-cert.pem-Datei
  • Ein privater Clientschlüssel in einer client-key.pem-Datei

Wenn Sie kein Clientzertifikat und keinen zugehörigen privaten Schlüssel haben, erstellen Sie ein neues Clientzertifikat.

Bevor Sie beginnen, prüfen Sie, ob der Client installiert und der Zugriff auf Ihre Instanz konfiguriert ist.

So stellen Sie eine SSL-Verbindung zu Ihrer Instanz her:

  1. Starten Sie den psql-Client:
    psql "sslmode=verify-ca sslrootcert=server-ca.pem \
          sslcert=client-cert.pem sslkey=client-key.pem \
          hostaddr=INSTANCE_IP \
          user=postgres dbname=DB_NAME"
    

    Beispiel:

    psql "sslmode=verify-ca sslrootcert=server-ca.pem \
          sslcert=client-cert.pem sslkey=client-key.pem \
          hostaddr=01.23.45.67 \
          user=postgres dbname=postgres"
    

    Ein SSL-Modus von verify-full ist nicht erforderlich. verify-ca ist ausreichend, da die Zertifizierungsstelle instanzspezifisch ist.

    Es kann außerdem sinnvoll sein, eine Verbindungsdienstdatei zu erstellen, um Ihre Verbindungsparameter zu verwalten, insbesondere wenn Sie zu mehreren Instanzen Verbindungen herstellen. Weitere Informationen finden Sie in der Dokumentation zu PostgreSQL.

  2. Geben Sie das Passwort ein. Das Passwort ist für Cloud SQL obligatorisch, obwohl PostgreSQL eine passwortfreie Verbindung über SSL unterstützt.
  3. Sie können prüfen, ob die Verbindung verschlüsselt ist. Suchen Sie dazu in den Verbindungsinformationen nach dieser Chiffre:
    SSL connection (cipher: ECDHE-RSA-AES128-GCM-SHA256, bits: 128)
    

Client in Cloud Shell verwenden

So stellen Sie eine Verbindung zu einer Cloud SQL-Instanz her (nur öffentliche IP-Adresse):

  1. Rufen Sie die Google Cloud Console auf.

    Zur Google Cloud Console

  2. Klicken Sie in der Symbolleiste rechts auf das Cloud Shell-Symbol .

    Die Cloud Shell-Initialisierung dauert einen Moment.

  3. Stellen Sie über die Cloud Shell-Eingabeaufforderung mit dem integrierten Client eine Verbindung zur Cloud SQL-Instanz her:
    gcloud sql connect INSTANCE_ID \
    --user=postgres
    
  4. Geben Sie Ihr Passwort ein.

Der Befehl gcloud sql connect unterstützt keine Verbindung zu einer Cloud SQL-Instanz über private IP-Adressen oder SSL/TLS. Zur Herstellung einer verschlüsselten Verbindung müssen Sie den Proxy in Cloud Shell installieren und verwenden:

  1. Installieren Sie den Proxy (Linux 64-Bit) im Verzeichnis /home/USER.
  2. Starten Sie den Proxy mithilfe der Cloud SDK-Authentifizierung:

    ./cloud_sql_proxy -instances=INSTANCE_CONNECTION_NAME=tcp:5432 &

  3. Stellen Sie über die TCP-Verbindung eine Verbindung zur Datenbank her:

    psql -U USERNAME --host=127.0.0.1

Nächste Schritte

Jetzt testen

Wenn Sie mit Google Cloud noch nicht vertraut sind, erstellen Sie einfach ein Konto, um die Leistungsfähigkeit von Cloud SQL 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.

Cloud SQL kostenlos testen