Verbindung über einen psql-Client herstellen

Sie können den PostgreSQL-Befehlszeilenclient verwenden, um eine Verbindung zu Cloud SQL herzustellen. 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.

Hinweise

Führen Sie die folgenden Schritte aus, bevor Sie einen psql-Client verwenden, um eine Verbindung zu Ihrer Cloud SQL-Instanz herzustellen:

PostgreSQL-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 psql-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 Seite Übersicht einer Instanz zu öffnen.
  5. Wählen Sie im SQL-Navigationsmenü die Option Verbindung aus.
  6. Wählen Sie den Tab Netzwerk aus.
  7. Klicken Sie im Abschnitt Autorisierte Netzwerke auf Netzwerk hinzufügen und geben Sie die IP-Adresse des Computers an, auf dem der Client installiert ist.
  8. Klicken Sie auf Fertig und dann am Seitenende auf Speichern, um die Änderungen zu speichern.
  9. Stellen Sie eine Verbindung zur Instanz entweder über SSL/TLS oder ohne Verschlüsselung (ohne SSL/TLS) her.

Unverschlüsselte Verbindung zu Ihrer Cloud SQL-Instanz herstellen

Damit eine Verbindung ohne Verschlüsselung hergestellt werden kann, muss für die Instanz der SSL-Modus auf ALLOW_UNENCRYPTED_AND_ENCRYPTED festgelegt sein. In der Google Cloud Console lautet die entsprechende Konfiguration Unverschlüsselten Netzwerktraffic zulassen.

Weitere Informationen zur SSL/TLS-Konfiguration Ihrer Instanz finden Sie unter SSL/TLS-Zertifikate konfigurieren.

So stellen Sie eine Verbindung zu Ihrer 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_ADDRESS"
  3. Geben Sie Ihr Passwort ein.
  4. Die psql-Eingabeaufforderung wird angezeigt.

SSL/TLS-Verbindung zu Ihrer Cloud SQL-Instanz herstellen

So stellen Sie eine Verbindung zu Ihrer Instanz über SSL/TLS und die integrierte Authentifizierung her:

  1. Starten Sie den psql-Client:
    psql "sslmode=require \
          hostaddr=INSTANCE_IP_ADDRESS \
          user=postgres dbname=DB_NAME"
       

    Beispiel:

    psql "sslmode=require \
          hostaddr=203.12.34.56 \
          user=postgres dbname=postgres"
       

    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/TLS 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)
    

SSL/TLS-Verbindung zu Ihrer Cloud SQL-Instanz mit Clientzertifikatprüfung herstellen

Wenn ssl_mode auf Ihrer Cloud SQL-Instanz für TRUSTED_CLIENT_CERTIFICATE_REQUIRED konfiguriert ist, müssen Sie bei der Anmeldung auch eine bestätigte Clientidentität angeben.

Für eine Verbindung über SSL/TLS-Zertifikate mit Clientüberprüfung ist Folgendes erforderlich:

  • Ein Public-Key-Zertifikat des Clients in einer client-cert.pem-Datei
  • Ein privater Clientschlüssel in einer client-key.pem-Datei

Geben Sie außerdem das Serverzertifikat server-ca.pem an, damit der Client die Identität des Servers für die gegenseitige Authentifizierung überprüfen kann.

So starten Sie beispielsweise den psql-Client:
   psql "sslmode=verify-ca sslrootcert=server-ca.pem \
      sslcert=client-cert.pem sslkey=client-key.pem \
      hostaddr=INSTANCE_IP_ADDRESS \
      user=postgres dbname=DB_NAME"
   

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

Client in Cloud Shell verwenden

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

  1. Öffnen Sie die Google Cloud Console.

    Weiter 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 gcloud CLI-Authentifizierung:

    ./cloud-sql-proxy INSTANCE_CONNECTION_NAME &

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

    psql -U USERNAME --host=127.0.0.1

Nächste Schritte

Überzeugen Sie sich selbst

Wenn Sie mit Google Cloud noch nicht vertraut sind, erstellen Sie 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