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:
-
Erstellen Sie eine Cloud SQL-Instanz, in der der Standardnutzer konfiguriert ist.
Weitere Informationen finden Sie unter Instanzen erstellen und Passwort für das Standardnutzerkonto festlegen.
Optional können Sie eine Compute-Engine-VM-Instanz erstellen und dann über SSH eine Verbindung zur Instanz herstellen.
Weitere Informationen finden Sie unter VM-Instanz erstellen und starten, Informationen zu SSH-Verbindungen oder Verbindung zu Windows-VMs über RDP herstellen.
Legen Sie fest, wie Sie eine Verbindung zur Instanz herstellen möchten.
Informationen zu den Verbindungsoptionen und zu deren Auswahl finden Sie unter Verbindungsoptionen.
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:
- Client installieren
- Zugriff auf Ihre Cloud SQL-Instanz konfigurieren
- 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
- Laden Sie die PostgreSQL Core Distribution für Ihre Plattform von der PostgreSQL-Downloadseite herunter.
Der psql-Client ist in der Core Distribution enthalten. - 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:
- Rufen Sie auf dem Clientcomputer oder der Compute Engine-VM-Instanz Wie lautet meine IP auf, um die IP-Adresse des Clientcomputers anzuzeigen.
- Kopieren Sie diese IP-Adresse.
-
Wechseln Sie in der Google Cloud Console zur Seite Cloud SQL-Instanzen.
- Klicken Sie auf den Instanznamen, um die Seite Übersicht einer Instanz zu öffnen.
- Wählen Sie im SQL-Navigationsmenü die Option Verbindung aus.
- Wählen Sie den Tab Netzwerk aus.
- 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.
- Klicken Sie auf Fertig und dann am Seitenende auf Speichern, um die Änderungen zu speichern.
- 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:
- Prüfen Sie, ob der Client installiert und der Zugriff auf Ihre Instanz konfiguriert ist.
- Starten Sie den
psql
-Client:psql "sslmode=disable dbname=postgres user=postgres hostaddr=INSTANCE_IP_ADDRESS"
- Geben Sie Ihr Passwort ein.
- 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:
- 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.
- Geben Sie das Passwort ein. Das Passwort ist für Cloud SQL obligatorisch, obwohl PostgreSQL eine passwortfreie Verbindung über SSL/TLS unterstützt.
- 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 denpsql
-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):
- Öffnen Sie die Google Cloud Console.
- Klicken Sie in der Symbolleiste rechts auf das Cloud Shell-Symbol .
Die Cloud Shell-Initialisierung dauert einen Moment.
- 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
- 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:
- Installieren Sie den Proxy (Linux 64-Bit) im Verzeichnis
/home/USER
. - Starten Sie den Proxy mithilfe der gcloud CLI-Authentifizierung:
./cloud-sql-proxy INSTANCE_CONNECTION_NAME &
- Stellen Sie über die TCP-Verbindung eine Verbindung zur Datenbank her:
psql -U USERNAME --host=127.0.0.1
Nächste Schritte
- Instanz mit einer privaten IP-Adresse konfigurieren
- Optionen für das Verbinden Ihrer Anwendung mit der Instanz
- Funktionsweise des
psql
-Client mit SSL
Ü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