Verbindung zu Cloud SQL herstellen

Auf dieser Seite finden Sie einen Überblick über die Möglichkeiten, eine Verbindung zu Ihrer Cloud SQL-Instanz herzustellen.

Bevor Sie eine Verbindung zu einer Cloud SQL-Instanz herstellen können, müssen Sie entscheiden, wie Sie Ihre Cloud SQL-Instanz und die unterstützenden Netzwerkressourcen bereitstellen und konfigurieren. Wenn Ihre Cloud SQL-Instanz bereits konfiguriert und bereitgestellt ist, können Sie auf dieser Seite nachlesen, wie Sie Ihre Clients auf verschiedene Arten mit der vorhandenen Instanz verbinden können.

IP-Adresstyp: privat oder öffentlich

Wenn Sie Ihre Cloud SQL-Instanz zum ersten Mal erstellen, können Sie auswählen, ob Sie die Instanz mit einer öffentlichen IP-Adresse, einer privaten IP-Adresse oder einer Kombination aus beiden konfigurieren möchten.

Sie wählen die IP-Adresskonfiguration Ihrer Instanz basierend auf den Anforderungen Ihrer Anwendung aus. Nachdem Sie Ihre Instanz konfiguriert haben, geben Sie in Ihrem Clientverbindungsstring entweder eine öffentliche IP-Adresse, eine private IP-Adresse oder in einigen Fällen einen DNS-Namen an.

Private IP-Adresse Öffentliche IP-Adresse
Beschreibung Interne IP-Adresse, die nur über das VPC-Netzwerk (Virtual Private Cloud) verfügbar ist (privat) Eine externe, über das Internet zugängliche (öffentliche) IP-Adresse
Entscheidungspunkte

Müssen Sie eine Verbindung von Clients herstellen, die in VPC-Netzwerken innerhalb von Google Cloud gehostet werden, oder von Clients, die Zugriff auf diese VPC-Netzwerke haben?

Wenn ja, wählen Sie eine private IP-Adresse für die Instanz aus.

Müssen Sie von Clients außerhalb des Google Cloud-VPC-Netzwerk über das öffentliche Internet eine Verbindung herstellen?

Wenn ja, wählen Sie eine öffentliche IP-Adresse für die Instanz aus.

Konfigurationsoptionen

Die folgenden Arten von privaten Netzwerkkonfigurationen werden unterstützt:

Wenn Sie über eine öffentliche IP-Adresse eine direkte Verbindung zu einer Instanz herstellen, müssen Sie autorisierte Netzwerke konfigurieren.

Eine weitere, sicherere Alternative zum Herstellen einer Verbindung zu einer Cloud SQL-Instanz, die eine öffentliche IP-Adresse verwendet, ist die Verwendung eines Cloud SQL-Connectors (z. B. des Cloud SQL Auth-Proxys oder eines der Cloud SQL-Sprach-Connectors).

Eine Anleitung zum Hinzufügen einer öffentlichen IP-Adresse zu Ihrer Instanz finden Sie unter Öffentliche IP-Adressen konfigurieren.

Wenn Sie eine Verbindung zu einer Cloud SQL-Instanz über eine öffentliche IP-Adresse herstellen möchten, können Sie den psql-Client oder einen anderen verfügbaren Client verwenden.

Zusammenfassung

Empfehlung: Aus Sicherheitsgründen empfehlen wir, Ihre Instanz mit einer privaten IP-Adresse zu konfigurieren, es sei denn, Sie haben spezielle Anforderungen an eine über das Internet zugängliche Cloud SQL-Instanz oder Sie stellen eine Verbindung von einem Client aus her, der die Anforderungen für eine VPC nicht erfüllt.

Verbindungstyp: Cloud SQL-Connector oder direkt

Wenn Sie eine Verbindung zu einer Cloud SQL-Instanz herstellen, können Sie einen Cloud SQL-Connector oder eine direkte Verbindung verwenden.

Ein Cloud SQL-Connector ist entweder der Cloud SQL Auth-Proxy oder einer der Cloud SQL Language Connectors.

Cloud SQL-Connector Direkte Verbindung
Beschreibung Der Cloud SQL Auth-Proxy, ein clientseitiger Proxy, und die Cloud SQL Language Connectors, clientseitige Bibliotheken, ermöglichen einen vereinfachten und sicheren Zugriff auf Ihre Cloud SQL-Instanzen, insbesondere wenn Sie eine Verbindung zu einer Instanz über eine öffentliche IP-Adresse herstellen. Eine direkte Verbindung von einem Client zu einer Cloud SQL-Instanz bietet eine Verbindung mit geringerer Latenz. Eine direkte Verbindung kann entweder über eine öffentliche oder eine private IP-Adresse hergestellt werden.
Entscheidungspunkte

Cloud SQL-Connectors sind in den folgenden Szenarien von Vorteil:

  • Wenn Sie eine Verbindung zu einer Cloud SQL-Instanz über eine öffentliche IP-Adresse herstellen möchten, ohne autorisierte Netzwerke konfigurieren zu müssen.
  • Wenn Sie den Traffic zur und von der Datenbank automatisch mit Server- und Clientidentitätsprüfung verschlüsseln möchten, ohne SSL-Zertifikate verwalten zu müssen.
  • Wenn Sie die IAM-Datenbankauthentifizierung verwenden und Ihre OAuth 2.0-Zugriffstokens automatisch aktualisieren möchten.
  • Wenn Sie eine Verbindung von einem Client oder einer Anwendung herstellen, die eine dynamisch zugewiesene oder sitzungsspezifische IP-Adresse verwendet. Die dynamische IP-Konfiguration ist für Platform as a Service-Anwendungen (PaaS) üblich.

Die Verwendung einer direkten Verbindung bietet folgende Vorteile:

  • Geringere Latenz als bei Verbindungen mit Cloud SQL-Connectors.
  • Im Gegensatz zu Cloud SQL-Connectors sind keine zusätzlichen Paket- oder Bibliotheksabhängigkeiten erforderlich.
  • Wenn Sie eine direkte Verbindung verwenden, sind Sie für die Konfiguration der SSL/TLS-Einstellungen verantwortlich.
Konfigurationsoptionen

So konfigurieren Sie SSL/TLS-Zertifikate für die Cloud SQL-Instanz und für Ihren Client:

  1. CA-Servermodus für Ihre Instanz auswählen
  2. Konfigurieren Sie Ihre Instanz so, dass SSL/TLS-Verschlüsselung für Verbindungen in der Instanz erzwungen wird.
  3. Clientzertifikate erstellen
  4. Laden Sie Ihre Server- und Clientzertifikate herunter.
Zusammenfassung

Wenn Sie eine Verbindung zu einer Cloud SQL-Instanz herstellen, können Sie entweder einen Cloud SQL-Connector verwenden oder direkt von Clients aus eine Verbindung herstellen.

Allgemeine Empfehlung: Wenn Sie eine Verbindung zu einer Instanz über eine private IP-Adresse herstellen, verwenden Sie eine direkte Verbindung. Wir empfehlen außerdem, SSL zu erzwingen und SSL/TLS-Zertifikate für Ihre Verbindung zu konfigurieren.

Wenn Sie über eine öffentliche IP-Adresse eine Verbindung zu einer Instanz herstellen, verwenden Sie einen Cloud SQL-Connector (entweder den Cloud SQL Auth-Proxy oder einen der Cloud SQL Language Connectors).

Datenbankauthentifizierungstyp: IAM oder integriert

Wenn Sie eine Verbindung zu einer Instanz herstellen, müssen Sie sich als Datenbanknutzer authentifizieren. Sie können zwischen integrierter Authentifizierung und IAM-Datenbankauthentifizierung wählen.

Authentifizierung der IAM-Datenbank Integrierte Authentifizierung
Beschreibung Mit der IAM-Datenbankauthentifizierung können Sie sich mit Google Cloud IAM-Nutzer- und Dienstkonten bei Datenbanken authentifizieren. Dazu verwenden Sie kurzlebige Zugriffstokens anstelle von Passwörtern. Sie können Datenbankberechtigungen mit IAM-Hauptkonten wie Nutzern, Dienstkonten und Gruppen verwalten. Bei der integrierten Authentifizierung werden lokale Nutzernamen und Passwörter der Datenbank zur Authentifizierung von Datenbanknutzern verwendet.
Entscheidungspunkte Möchten Sie die Nutzerverwaltung für alle Google Cloud-Dienste mit IAM in Google Cloudzentralisieren? Wenn ja, verwenden Sie die IAM-Datenbankauthentifizierung. Haben Sie Anwendungen oder Workflows, die von der integrierten Datenbankauthentifizierung abhängen? Falls ja, verwenden Sie die integrierte Authentifizierung.
Konfigurationsoptionen

Sie können die IAM-Datenbankauthentifizierung für einzelne IAM-Nutzer, einzelne Dienstkonten und Gruppen verwenden. Weitere Informationen finden Sie unter Nutzer mit IAM-Datenbankauthentifizierung verwalten .

Wenn Sie einen Cloud SQL-Connector verwenden, übernimmt der Connector die automatische Aktualisierung der IAM-Zugriffstokens. Weitere Informationen finden Sie unter Automatische IAM-Datenbankauthentifizierung.

Sie können die integrierte Datenbankauthentifizierung verwenden und Passwortrichtlinien auf Instanz- und Nutzerebene konfigurieren. Weitere Informationen finden Sie unter Integrierte Authentifizierung.
Zusammenfassung Empfehlung: Sofern Sie keine Anwendungen oder Arbeitsabläufe haben, die von der integrierten Datenbankauthentifizierung abhängen, sollten Sie nach Möglichkeit die IAM-Datenbankauthentifizierung verwenden.

Optionen für private Netzwerke bei Verwendung einer privaten IP-Adresse

Wenn Sie Ihre Instanz für die Verwendung einer privaten IP-Adresse konfigurieren, können Sie die folgenden Optionen für private Netzwerke auswählen: Zugriff auf private Dienste, Private Service Connect oder beides.

Unterstützte Features

In der folgenden Tabelle sind die Funktionen aufgeführt, die Cloud SQL unterstützt, wenn Sie eine Verbindung zu einer Instanz herstellen, die mit einer oder beiden Optionen für private Netzwerke konfiguriert ist.

Funktion Instanz mit nur Zugriff auf private Dienste Instanz nur mit Private Service Connect Instanz mit Zugriff auf private Dienste und Private Service Connect
Verbindung von mehreren VPCs herstellen Nicht unterstützt. Unterstützt. Wird über den Private Service Connect-Endpunkt unterstützt.
pglogical, PL/Proxy, dblink und postgres_fdw Erweiterungen Unterstützt. Nicht unterstützt. Wird durch die Verwendung von ausgehenden Verbindungen für den Zugriff auf private Dienste unterstützt.
Externe Replikate Unterstützt. Nicht unterstützt. Wird durch die Verwendung von ausgehenden Verbindungen für den Zugriff auf private Dienste unterstützt.
Schreibendpunkt Unterstützt. Nicht unterstützt. Wird für den Zugriff auf private Dienste unterstützt.
Zugeordnetes VPC-Netzwerk für den Zugriff auf private Dienste ändern Unterstützt. Nicht zutreffend. Wird für den Zugriff auf private Dienste nicht unterstützt, da für die Instanz Private Service Connect aktiviert ist. Trifft nicht auf Private Service Connect zu.
Sichtbarkeit der Client-IP-Adresse für Cloud SQL Unterstützt. Nicht unterstützt. Wird über die IP-Adresse für den Zugriff auf private Dienste unterstützt. Wird bei Verwendung des Private Service Connect-Endpunkts nicht unterstützt.

Netzwerkoptionen aus einer Instanz entfernen

Cloud SQL unterstützt das Entfernen der folgenden Netzwerkoptionen aus einer Instanz:

  • Öffentliche IP-Adresse einer Instanz mit Zugriff auf private Dienste und öffentlicher IP-Adresse
  • Öffentliche IP-Adresse einer Instanz mit öffentlicher IP-Adresse, Zugriff auf private Dienste und Private Service Connect
  • Private Service Connect von einer Instanz mit Private Service Connect und Zugriff auf private Dienste
  • Private Service Connect von einer Instanz mit Private Service Connect, Zugriff auf private Dienste und öffentlicher IP-Adresse

Netzwerkoptionen für eine Instanz aktivieren

Sie können die folgenden Verbindungsoptionen für Instanzen aktivieren, die Cloud SQL unterstützt:

  • Zugriff auf private Dienste auf einer Instanz mit nur öffentlicher IP-Adresse
  • Private Service Connect für eine Instanz mit Zugriff auf private Dienste
  • Private Service Connect auf einer Instanz mit Zugriff auf private Dienste und öffentlicher IP-Adresse
  • Öffentliche IP-Adresse für eine Instanz mit nur Zugriff auf private Dienste

Beschränkungen

  • Sie können keine Instanz mit einer öffentlichen IP-Adresse und Private Service Connect erstellen.
  • Sie können den Zugriff auf private Dienste nicht aus einer Instanz mit Zugriff auf private Dienste und Private Service Connect entfernen.
  • Sie können den Zugriff auf private Dienste nicht aus einer Instanz mit Zugriff auf private Dienste und öffentlicher IP-Adresse entfernen.
  • Wenn Sie eine Instanz haben, die nur öffentliche IP-Adressen verwendet, können Sie nicht gleichzeitig den Zugriff auf private Dienste und Private Service Connect aktivieren. Aktivieren Sie zuerst den Zugriff auf private Dienste und dann Private Service Connect.
  • Sie können keine autorisierten Netzwerke verwenden, um IP-Adressen für Private Service Connect-Instanzen auf die Zulassungsliste zu setzen.

Tools zum Herstellen einer Verbindung zu Cloud SQL

Die folgende Tabelle enthält einige Optionen für die Verbindung zu Cloud SQL:

Verbindungsoption Weitere Informationen
Cloud SQL Auth-Proxy
gcloud CLI
Cloud SQL-Sprachverbindungen
Cloud Shell
Cloud Code
Verbindung mithilfe von Drittanbieter-Datenbankverwaltungstools herstellen
pgAdmin
Toad Edge
Blendo

Fehlerbehebung

Wenn beim Herstellen der Verbindung Probleme auftreten, lesen Sie die folgenden Seiten für das Debugging oder zur Suche nach Lösungen für bekannte Probleme:

Nächste Schritte