Verbindungsübersicht

Diese Seite enthält eine Zusammenfassung der Optionen zum Herstellen einer Verbindung zu Ihrer Cloud SQL-Instanz.

Einführung

Für die Verbindung mit einer Cloud SQL-Instanz wird die Verwendung des Cloud SQL Auth-Proxys empfohlen. Der Cloud SQL Auth-Proxy:

  • Funktioniert mit öffentlichen wie mit privaten IP-Endpunkten
  • Validiert Verbindungen mithilfe von Anmeldedaten für einen Nutzer oder ein Dienstkonto
  • Verpackt die Verbindung in einer SSL/TLS-Ebene, die für eine Cloud SQL-Instanz autorisiert ist

Einige Google Cloud-Dienste und -Anwendungen stellen Verbindungen für öffentliche IP-Pfade mit Verschlüsselungen und Autorisierungen über den Cloud SQL Auth-Proxy bereit, darunter:

Bei privaten IP-Pfaden stellen diese Dienste und Anwendungen direkt über serverlosen VPC-Zugriff eine Verbindung zu Ihrer Instanz her.

In Google Kubernetes Engine ausgeführte Anwendungen können eine Verbindung mit dem Cloud SQL Auth-Proxy herstellen.

Eine kurze Einführung in die Verwendung des Cloud SQL Auth-Proxys finden Sie unter Kurzanleitung.

Sie können die Verbindung auch mit oder ohne den Cloud SQL-Auth-Proxy über einen mysql-Client von einem lokalen Computer oder von Compute Engine herstellen.

Übersicht

Bei der Auswahl einer Verbindung zu Ihrer Cloud SQL-Instanz ist Folgendes zu beachten:

  • Möchten Sie, dass Ihre Cloud SQL-Instanz über das Internet zugänglich ist oder in einem VPC-Netzwerk (Virtual Private Cloud) privat aufbewahrt wird?
  • Möchten Sie Ihren eigenen Verbindungscode schreiben oder die Verbindung über öffentlich zugängliche Tools wie den Cloud SQL Auth-Proxy oder einen mysql-Client herstellen?
  • Möchten Sie die Verschlüsselung über SSL/TLS erzwingen oder unverschlüsselten Traffic zulassen?

In den folgenden Abschnitten werden die Optionen erläutert, die Cloud SQL für das Herstellen einer Verbindung, für das Autorisieren und für das Authentifizieren bei Ihrer Datenbank bietet.

  • Verbindungsaufbau: Der Netzwerkpfad, über den Sie Ihre Instanz erreichen:
    • Eine interne, nur über VPC verfügbare (private) IP-Adresse.
    • Eine externe, über das Internet zugängliche (öffentliche) IP-Adresse.

  • Authentifizierung: Definiert, welche Verbindungen autorisiert sind und eine Verbindung zu Ihrer Cloud SQL-Instanz herstellen dürfen.
    • Cloud SQL Auth-Proxy und Cloud SQL-Sprachverbindungen: Diese bieten Zugriff basierend auf IAM.
    • Selbstverwaltete SSL/TLS-Zertifikate: Diese ermöglichen nur Verbindungen mit bestimmten öffentlichen Schlüsseln.
    • Autorisierte Netzwerke: Eine Liste der IP-Adressen, zu denen eine Verbindung hergestellt werden kann.

  • Authentifizierung: Die Methode, mit der Sie sich in Ihrer Datenbank anmelden.
    • Native Datenbankauthentifizierung: Melden Sie sich mit einem Nutzernamen/Passwort an, das im Datenbankmodul festgelegt ist.

Anhand der folgenden Informationen können Sie entscheiden, welche Verbindungs-, Autorisierungs- und Authentifizierungsoptionen für Sie am besten geeignet sind.

Hinweis

Wenn Sie den Zugriff auf eine Anwendung gewähren, wird nicht automatisch ein Datenbanknutzerkonto für die Verbindung mit der Instanz aktiviert. Zum Herstellen einer Verbindung mit einer Instanz benötigen Sie für diese Verbindung ein entsprechendes Datenbanknutzerkonto. Für neue Instanzen bedeutet dies, dass das Standardnutzerkonto konfiguriert sein muss. Mehr erfahren

Verbindungsoptionen

Private IP-Adresse

Eine private IP-Adresse ist eine IPv4- oder IPv6-Adresse, auf die über die Virtual Private Cloud (VPC) zugegriffen werden kann.

Sicherheitsaspekte

Sie können diese Adresse verwenden, um eine Verbindung von anderen Ressourcen mit Zugriff auf die VPC herzustellen. Verbindungen über private IP-Adressen bieten in der Regel eine geringere Latenz und eingeschränkte Angriffsvektoren, da sie keine Internetverbindungen benötigen. Optional können Sie festlegen, dass alle Verbindungen entweder den Cloud SQL-Proxy oder selbstverwaltete SSL-Zertifikate verwenden müssen.

Die Konfiguration Ihrer Instanz mit einer privaten IP-Adresse ist zu bevorzugen, wenn eine Verbindung von einem Client zu einer Ressource mit Zugriff auf eine VPC hergestellt wird. Weitere Informationen dazu, welche Ressourcen private IP-Adressen verwenden können, finden Sie unter Anforderungen für private IP-Adressen.

Weitere Informationen

Mehr über die Verwendung einer privaten IP-Adresse mit Cloud SQL erfahren

Eine Anleitung zum Hinzufügen einer privaten IP-Adresse zu Ihrer Instanz finden Sie unter Private IP-Verbindungen konfigurieren.

Öffentliche IP-Adresse

Eine öffentliche IP-Adresse ist eine IPv4- oder IPv6-Adresse, die extern im öffentlichen Internet verfügbar ist. Über diese Adresse können Verbindungen von Geräten innerhalb und außerhalb des Google-Netzwerks hergestellt werden, auch von Standorten wie Ihrem Zuhause oder Ihrem Büro.

Sicherheitsaspekte

Damit Ihre Instanz besser geschützt ist, müssen alle Verbindungen zu einer Cloud SQL-Instanz über eine öffentliche IP-Adresse entweder über den Cloud SQL Auth-Proxy oder über autorisierte Netzwerke autorisiert werden.

Die Konfiguration Ihrer Instanz mit einer öffentlichen IP-Adresse ist am besten, wenn die Verbindung von einem Client aus erfolgt, der die Anforderungen für eine VPC nicht erfüllt.

Weitere Informationen

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

Autorisierungsoptionen

Cloud SQL-Connectors

Sicherheitsaspekte

Mit dem Cloud SQL Auth-Proxy können Sie Verbindungen mithilfe von IAM-Berechtigungen (Identity and Access Management) autorisieren und schützen. Der Cloud SQL Auth-Proxy validiert Verbindungen mithilfe von Anmeldedaten für einen Nutzer oder ein Dienstkonto und verpackt die Verbindung in einer SSL/TLS-Ebene, die für eine Cloud SQL-Instanz autorisiert ist. Weitere Informationen über die Funktionsweise des Cloud SQL Auth-Proxys finden Sie unter Informationen zum Cloud SQL Auth-Proxy.

Für die Authentifizierung von Verbindungen zu einer Cloud SQL-Instanz wird die Verwendung des Cloud SQL Auth-Proxys empfohlen, da dies die sicherste Methode ist.

Der Cloud SQL Auth-Proxy ist eine Open-Source-Bibliothek, die als ausführbare Binärdatei verteilt wird. Der Cloud SQL Auth-Proxy dient als Zwischenserver, der eingehende Verbindungen beobachtet, diese in SSL/TLS verpackt und dann an eine Cloud SQL-Instanz weiterleitet.

Darüber hinaus gibt es in einigen Sprachen die Möglichkeit, eine Clientbibliothek zu verwenden. Sie können diese Bibliotheken direkt über die Sprachumgebung verwenden. Sie bieten die gleiche Authentifizierung wie der Cloud SQL Auth-Proxy, ohne dass ein externer Prozess erforderlich ist. Eine Einführung finden Sie unter Verbindungen mithilfe von Cloud SQL-Connectors herstellen.

Einige Umgebungen bieten ein Verfahren, mit dem eine Verbindung über den Cloud SQL Auth-Proxy hergestellt werden kann. Eine Anleitung zum Herstellen einer Verbindung mit diesen Umgebungen finden Sie hier:

Selbstverwaltete SSL/TLS-Zertifikate

Anstatt den Cloud SQL Auth-Proxy zum Verschlüsseln Ihrer Verbindungen zu verwenden, können Sie SSL/TLS-Client-Server-Zertifikate einrichten, die speziell auf eine Cloud SQL-Instanz zugeschnitten sind. Diese Zertifikate werden verwendet, um den Client und den Server gegenseitig zu validieren und Verbindungen zwischen ihnen zu verschlüsseln.

Es wird dringend empfohlen, für die Verschlüsselung selbstverwaltete SSL/TLS-Zertifikate zu verwenden, wenn Sie den Cloud SQL Auth-Proxy nicht nutzen. Andernfalls werden Ihre Daten nicht sicher übertragen und können von Dritten abgefangen oder eingesehen werden.

Informationen zum Einstieg in selbstverwaltete SSL/TLS-Zertifikate finden Sie unter Mit SSL/TLS-Zertifikaten autorisieren.

Autorisierte Netzwerke

Sofern nicht der Cloud SQL Auth-Proxy verwendet wird, sind Verbindungen zur öffentlichen IP-Adresse einer Instanz nur zulässig, wenn die Verbindung aus einem autorisierten Netzwerk stammt. Autorisierte Netzwerke sind IP-Adressen oder Bereiche, für die der Nutzer die Verbindungsberechtigung angegeben hat.

Informationen zum Einstieg in autorisierte Netzwerke finden Sie unter Mit autorisierten Netzwerken autorisieren.

Datenbankverbindungen verwalten

Datenbankverbindungen nutzen Ressourcen des Servers und der Anwendung, von der die Verbindung ausgeht. Daher sollten Sie sich bei der Verbindungsverwaltung immer an Best Practices orientieren. So können Sie die Kosten für die Anwendung minimieren und die Wahrscheinlichkeit senken, dass die Verbindungslimits für Cloud SQL überschritten werden. Weitere Informationen finden Sie unter Datenbankverbindungen verwalten.

Authentifizierungsoptionen

Die Authentifizierung ermöglicht eine Zugriffssteuerung, indem die Identität eines Nutzers geprüft wird. Für Endnutzer wird die Authentifizierung ausgeführt, wenn sie ihre Anmeldedaten (einen Nutzernamen und ein Passwort) eingeben. Bei Anwendungen erfolgt die Authentifizierung, wenn die Anmeldedaten eines Nutzers einem Dienstkonto zugewiesen werden.

Cloud SQL verwendet die integrierte Authentifizierung der Datenbank, die sich mit einem Nutzernamen und Passwort authentifiziert. Weitere Informationen finden Sie unter MySQL-Nutzer erstellen und verwalten.

Tools zum Verbinden

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

Verbindungsoption Weitere Informationen
Cloud SQL Auth-Proxy
gcloud-Befehlszeilentool
Cloud SQL-Sprachverbindungen
Cloud Shell
Apps Script
Verbindung mithilfe von Drittanbieter-Datenbankverwaltungstools herstellen
MySQL Workbench
Toad for MySQL
SQuirrel SQL
phpAdmin

Anwendungen mit dynamisch zugewiesenen IP-Adressen verbinden

Einige Anwendungen benötigen für das Herstellen einer Verbindung zur Cloud SQL-Instanz eine dynamisch zugewiesene oder sitzungsspezifische IP-Adresse. Dies ist u. a. bei PaaS-Anwendungen (Platform as a Service) der Fall.

Die beste Lösung für diese Anwendungen ist eine Verbindung über den Cloud SQL Auth-Proxy. Diese Lösung bietet die optimale Zugriffssteuerung für die Instanz.

Codebeispiele

Sie können eine Verbindung zum Cloud SQL Auth-Proxy mit jeder Sprache herstellen, die eine Verbindung zu Unix- oder TCP-Sockets ermöglicht. Im Folgenden finden Sie einige Code-Snippets aus vollständigen Beispielen auf GitHub, die das Zusammenwirken in der Anwendung veranschaulichen.

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