Auf dieser Seite erfahren Sie, wie Sie eine PostgreSQL-Instanz über eine private IP-Adresse erstellen und eine Verbindung zu ihr herstellen. Die in dieser Kurzanleitung erstellten Ressourcen kosten in der Regel weniger als einen Dollar, vorausgesetzt, Sie führen die Schritte, einschließlich der Bereinigung, zeitnah durch.
Projekt einrichten
Bevor Sie die Schritte in dieser Kurzanleitung ausführen, sollten Sie die folgenden Aufgaben ausführen:
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Sie müssen die Rolle "Cloud SQL-Administrator" in Ihrem Nutzerkonto haben.
- Rufen Sie die IAM-Seite auf.
Rufen Sie die IAM-Seite auf. - Klicken Sie auf Add.
- Fügen Sie unter Neue Prinzipien den Namen Ihres Nutzerkontos hinzu.
- Filtern Sie unter Rolle auswählen nach Cloud SQL-Administrator und wählen Sie die Option aus der Liste aus.
- Klicken Sie auf Speichern.
- Rufen Sie die IAM-Seite auf.
-
Aktivieren Sie die Cloud SQL Admin API und die Compute Engine API.
APIs aktivieren
Überblick
Es gibt viele Möglichkeiten, eine Verbindung zu einer Cloud SQL-Instanz über eine private IP-Adresse herzustellen, je nachdem, wo sich die Quelle befindet. Entscheidend ist, dass sich die Quellmaschine im selben VPC-Netzwerk wie die Cloud SQL-Instanz befinden muss. Wenn sich die Quelle nicht in Google Cloud oder im selben Google Cloud-Projekt befindet, müssen Sie die Verbindungen anders konfigurieren als hier gezeigt.
In dieser Kurzanleitung wird die Konnektivität über den direktesten Pfad konfiguriert. Die Quelle und das Ziel befinden sich im selben Google Cloud-Projekt und im selben VPC-Netzwerk. Wir erstellen eine Cloud SQL-Instanz mit einer privaten IP-Adresse (dem Ziel) und einer Compute Engine-VM (der Quelle). Mithilfe der VM installieren und verwenden wir die Tools, die für die Verbindung von der VM zur Cloud SQL-Instanz erforderlich sind.
Führen Sie folgende Aktionen durch:
- Erstellen Sie eine Cloud SQL-Instanz mit einer privaten IP-Adresse.
Suchen und speichern Sie den
connection name
der Instanz für später. - Erstellen Sie eine Compute Engine-VM.
- Öffnen Sie zwei SSH-Fenster zur VM.
Im ersten Fenster installieren Sie psql und den Cloud SQL Auth-Proxy und starten den Cloud SQL Auth-Proxy. Dann stellen Sie im zweiten Fenster eine Verbindung zur Cloud SQL-Instanz her. Stellen Sie dazu eine Verbindung zum Cloud SQL Auth-Proxy her.
- Installieren Sie einen psql-Client im SSH-Fenster 1.
- Installieren Sie den Cloud SQL-Auth-Proxy im SSH-Fenster 1.
Der Cloud SQL Auth-Proxy fungiert als Verbindung zwischen dem psql-Client und der Cloud SQL-Instanz.
- Starten Sie den Cloud SQL Auth-Proxy im SSH-Fenster 1.
Bei Erfolg überwacht der Cloud SQL-Auth-Proxy die Verbindungsanfragen.
- Stellen Sie im SSH-Fenster Nr. 2 eine Verbindung zur Cloud SQL-Instanz her. Der psql-Client muss dafür eine Verbindung zum Cloud SQL Auth-Proxy herstellen.
Bei Erfolg wird in diesem Fenster die Eingabeaufforderung von sqlcmd angezeigt und im SSH-Fenster Nr. 1, in dem der Cloud SQL Auth-Proxy ausgeführt wird, wird eine Nachricht über die erfolgreiche Verbindung angezeigt.
Führen Sie eine Bereinigung durch.
Löschen Sie sowohl die Cloud SQL-Instanz als auch die Compute Engine-VM.
Cloud SQL-Instanz mit einer privaten IP-Adresse erstellen
-
Wechseln Sie in der Google Cloud Console zur Seite Cloud SQL-Instanzen.
- Klicken Sie auf Instanz erstellen.
- Klicken Sie auf PostgreSQL auswählen.
- Wenn Sie aufgefordert werden, die Compute API zu aktivieren, klicken Sie auf die Schaltfläche API aktivieren.
- Geben Sie im Abschnitt Instanzinformationen einen Namen für die Instanz-ID ein.
- Geben Sie das Passwort für den Postgres-Nutzer ein. Notieren Sie sich das erstellte Passwort, da Sie es später benötigen.
- Wählen Sie im Abschnitt Region und zonale Verfügbarkeit auswählen die Option Einzelne Zone aus.
- Maximieren Sie Konfigurationsoptionen einblenden.
- Maximieren Sie Verbindungen.
- Löschen Sie Öffentliche IP-Adresse.
- Wählen Sie Private IP-Adresse aus.
- Wählen Sie im Drop-down-Menü Netzwerk die Option Standard aus.
- Wenn Sie ein neues Projekt verwenden, wird Ihnen die Meldung Private Dienstverbindung erforderlich angezeigt. Führen Sie dann folgende Schritte aus:
- Klicken Sie auf Verbindung einrichten.
- Klicken Sie auf Service Networking API aktivieren.
- Wählen Sie im Abschnitt IP-Bereich zuweisen die Option Automatisch zugewiesenen IP-Bereich verwenden aus.
- Klicken Sie auf Weiter.
- Klicken Sie auf Verbindung erstellen und warten Sie, bis die Verbindung erstellt wurde.
Klicken Sie auf Instanz erstellen.
Sie werden zur Seite "Instanzübersicht" weitergeleitet. Klicken Sie auf die neue Instanz, um die Details einschließlich der privaten IP-Adresse aufzurufen.
Kopieren Sie im Abschnitt Mit dieser Instanz verbinden den Verbindungsnamen der Instanz und speichern Sie ihn. Der connection name
hat das Format projectID:region:instanceID
.
Sie benötigen diesen connection name
später beim Starten des Cloud SQL Auth-Proxys.
Compute Engine-VM erstellen
-
Öffnen Sie in der Google Cloud Console die Seite VM-Instanzen.
- Klicken Sie auf Instanz erstellen.
- Geben Sie einen Namen für die Instanz ein.
- Wählen Sie unter Zugriffsbereiche die Option Uneingeschränkten Zugriff auf alle Cloud APIs zulassen aus.
- Klicken Sie auf Erstellen und warten Sie, bis die VM erstellt wurde.
Zwei SSH-Verbindungen zur Compute Engine-VM öffnen
Wir verwenden zwei Fenster in der VM. Das erste Fenster wird verwendet, um den psql-Client und den Cloud SQL Auth-Proxy zu installieren, den Namen der Instanzverbindung abzurufen und ihn zum Starten des Proxys zu verwenden. Das zweite Fenster wird verwendet, um über den Proxy eine Verbindung zur Cloud SQL-Instanz herzustellen.
- Maximieren Sie für die Compute Engine-VM-Instanz in der Spalte Verbinden das Menü SSH.
- Wählen Sie Im Browserfenster öffnen aus, um das SSH-Fenster 1 zu öffnen.
Es kann einige Sekunden dauern, bis Ihnen die Eingabeaufforderung im Fenster angezeigt wird.
- Wenn die Eingabeaufforderung angezeigt wird, geben Sie
pwd
ein, um zu prüfen, ob Sie sich im Verzeichnis/home/$USER
befinden.In diesem Fenster installieren Sie den psql-Client und den Cloud SQL Auth-Proxy und starten den Cloud SQL Auth-Proxy auch.
- Wählen Sie noch einmal Im Browserfenster öffnen aus, um das SSH-Fenster 2 zu öffnen.
In diesem Fenster stellen Sie eine Verbindung zu Ihrer Cloud SQL-Instanz her.
psql-Client installieren
Verwenden Sie für diesen Schritt das SSH-Fenster Nr. 1.
Installieren Sie den psql-Client aus dem Paketmanager:
sudo apt-get update sudo apt-get install postgresql-client
Cloud SQL Auth-Proxy installieren
Verwenden Sie für diesen Schritt das SSH-Fenster 1.
- Installieren Sie
wget
:sudo apt-get install wget
- Laden Sie den Cloud SQL Auth-Proxy herunter:
wget https://dl.google.com/cloudsql/cloud_sql_proxy.linux.amd64 -O cloud_sql_proxy
- Machen Sie den Cloud SQL Auth-Proxy ausführbar:
chmod +x cloud_sql_proxy
Cloud SQL Auth-Proxy starten
Verwenden Sie für diesen Schritt das SSH-Fenster 1.
Starten Sie den Cloud SQL Auth-Proxy, damit Sie seine Ausgabe überwachen können. Ersetzen Sie INSTANCE_CONNECTION_NAME
durch den connection name
, den Sie beim Erstellen der Cloud SQL-Instanz kopiert haben.
./cloud_sql_proxy -instances=INSTANCE_CONNECTION_NAME=tcp:5432
Wenn der Cloud SQL Auth-Proxy erfolgreich gestartet wurde, wird im SSH-Fenster eine Meldung wie die folgende angezeigt:
Listening on 127.0.0.1:5432 for myInstance Ready for new connections
Verbindung zur Cloud SQL-Instanz herstellen
Verwenden Sie für diesen Schritt das SSH-Fenster 2.
Führen Sie den folgenden Befehl aus, nachdem Sie INSTANCE_ID durch den Namen der Cloud SQL-Instanz ersetzt haben:
psql "host=127.0.0.1 port=5432 sslmode=disable dbname=INSTANCE_ID user=postgres"
Geben Sie bei der Eingabeaufforderung "Passwort eingeben" das Passwort Ihres PostgreSQL-Kontos ein.
Prüfen Sie, ob die PostgreSQL-Eingabeaufforderung angezeigt wird. Sie haben über den psql-Client eine Verbindung zu Ihrer Datenbank hergestellt.
Kehren Sie zum Terminalfenster zurück, in dem Sie den Cloud SQL Auth-Proxy gestartet haben. Es wird eine Meldung ähnlich der folgenden angezeigt:
New connection for myInstance
Bereinigen
-
Wechseln Sie in der Google Cloud Console zur Seite Cloud SQL-Instanzen.
- Wählen Sie den Namen Ihrer Instanz, um die Seite Übersicht zu öffnen.
- Klicken Sie oben auf der Seite in der Symbolleiste auf Löschen.
- Geben Sie im Fenster Instanz löschen den Namen der Instanz ein und klicken Sie dann auf Löschen.
Nach dem Löschen einer Instanz kann der Instanzname etwa 7 Tage lang nicht wiederverwendet werden.
-
Öffnen Sie in der Google Cloud Console die Seite VM-Instanzen.
- Wählen Sie den Namen Ihrer Instanz aus.
- Wählen Sie im Menü Weitere Aktionen die Option Löschen aus.
Nächste Schritte
Je nach Bedarf können Sie sich eingehender über das Erstellen von Cloud SQL-Instanzen informieren.
Sie können sich auch über das Erstellen von PostgreSQL-Nutzern und Datenbanken für Ihre Cloud SQL-Instanz informieren.
Außerdem erfahren Sie, wie Sie von anderen Google Cloud-Anwendungen aus eine Verbindung zu einer Cloud SQL-Instanz herstellen können:
- Aus einer Anwendung, die in der App Engine-Standardumgebung ausgeführt wird
- Aus einer Anwendung, die in GKE ausgeführt wird
- Aus Cloud Functions
- Aus Cloud Run