Verbindung über einen Datenbankclient herstellen

Auf dieser Seite wird beschrieben, wie Sie einen psql-Client, der entweder lokal auf Ihrem Clientcomputer oder in Cloud Shell ausgeführt wird, mit Ihrer Cloud SQL-Instanz verbinden.

Benötigen Sie Hilfe? Informationen zur Fehlerbehebung für den Proxy finden Sie unter Fehlerbehebung bei Cloud SQL Auth-Proxyverbindungen. Weitere Informationen erhalten Sie auf der Cloud SQL-Supportseite.

Vorbereitung

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

Lokalen Client verwenden

Das Herstellen einer Verbindung zu Ihrer Cloud SQL-Instanz mithilfe eines lokalen 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 What is my IP Address auf, um die IP-Adresse des Clientcomputers zu sehen.
  2. Kopieren Sie diese IP-Adresse.
  3. Öffnen Sie in der Google Cloud Console die Seite "Cloud SQL-Instanzen".

    Zur Seite „Cloud SQL-Instanzen“

  4. Klicken Sie auf die Instanz, um die zugehörige Übersichtsseite zu öffnen, und notieren Sie die IP-Adresse.
  5. Wählen Sie den Tab Verbindungen aus.
  6. Klicken Sie unter Autorisierte Netzwerke auf Netzwerk hinzufügen und geben Sie die IP-Adresse des Computers ein, auf dem 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.
  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:

  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 gcloud sql connect-Befehl unterstützt keine Verbindung zu einer Cloud SQL-Instanz über 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:3306 &

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

    psql -u USERNAME -p --host 127.0.0.1

Nächste Schritte