1. Einführung
Zuletzt aktualisiert:04.05.2020
Über die Verbindung nachdenken
Es gibt viele Arten von Anwendungen und Frameworks. In diesem Codelab geht es darum, wie Sie von überall aus eine Verbindung zu Cloud SQL herstellen können. Um eine Verbindung herzustellen, werden die IP-Adressen autorisiert, die eine Verbindung explizit herstellen dürfen. Dies ist die wohl am wenigsten sichere Option für die Verbindung mit einer Cloud SQL-Datenbank, gleichzeitig aber auch am einfachsten einzurichten und zu verwenden.
Manchmal ist dies in der Produktion erforderlich. Wenn Sie dies jedoch vermeiden können, sollten Sie sich für eine sicherere Alternative entscheiden (z. B. den Cloud SQL-Proxy). Diese Konfiguration eignet sich am besten für Entwicklung und Tests.
Inhalt
Dieses Codelab ist sehr minimalistisch. Der Grundgedanke ist, Sie durch die Besonderheiten des Verbindungsstücks zu führen, ohne zu lange über die Anwendung selbst nachzudenken. Im Idealfall ist das Herstellen einer Verbindung zu Cloud SQL mit einer anderen Instanz einer SQL-Datenbank vergleichbar. Sie sollten also in der Lage sein, das, was Sie in diesem Codelab erstellt haben, auf jede Produktionsanwendung anzuwenden.
Sie enthält sowohl eine Einführung in die GCP Console als auch die Entsprechungen des gcloud-Befehls für die Verwendung mit der Befehlszeile oder Automatisierung.
Die einzelnen Schritte sind:
- Erstellen Sie eine Cloud SQL-Instanz (in dieser Anleitung wird Postgres verwendet, funktioniert aber für MySQL oder SQL Server ähnlich) und autorisieren Sie bestimmte IP-Adressen, die eine Verbindung zu ihr herstellen dürfen.
Voraussetzungen
- Ein GCP-Konto, für das Sie die Berechtigungen zum Aktivieren von APIs und zum Erstellen von Diensten haben
- Der installierte Postgres-Client, um die Verbindung zu überprüfen (oder der MySQL-Client, wenn Sie MySQL anstelle von Postgres verwenden möchten)
2. Cloud SQL-Instanz erstellen
Cloud SQL ist unser Angebot für verwaltete relationale Datenbanken. Es unterstützt MySQL, PostgreSQL und SQL Server. In diesem Codelab erstellen wir eine Postgres-Datenbank, aber die Anweisungen sind für alle drei ähnlich.
In der Console
Rufen Sie die Seite Cloud SQL auf und klicken Sie auf die Schaltfläche .
Wie bereits erwähnt, ist der größte Teil dieses Codelabs für alle SQL-Varianten allgemein, aber für dieses Codelab wählen Sie PostgreSQL.
- Instanz eine ID zuweisen
- Wählen Sie eine Region in Ihrer Nähe aus
- Geben Sie ein Passwort für den Standardnutzer ein. Der Nutzername ist der Standardnutzer für die ausgewählte Datenbank, z. B.
root
für MySQL oderpostgres
für PostgreSQL. - Scrollen Sie nach unten und klicken Sie auf das
show configuration options
. - Abschnitt „
Connectivity
“ maximieren - Vergewissern Sie sich, dass
Public IP
aktiviert undPrivate IP
deaktiviert ist - Klicken Sie auf die Schaltfläche .
- Rufen Sie die IP-Adresse ab, von der aus Sie die Verbindung herstellen. Am einfachsten ist es, bei Google nach „Wie lautet meine IP-Adresse“ zu suchen? und in den Suchergebnissen ist Ihre öffentliche IP-Adresse enthalten.
- Geben Sie die IP-Spezifikation in das Netzwerkfeld ein, vergeben Sie gegebenenfalls einen Namen und klicken Sie im Feld
New Network
auf Fertig. - Scrollen Sie nach unten und klicken Sie auf „Erstellen“.
Es dauert normalerweise einige Minuten, bis die Instanz gestartet ist.
Nachdem die Instanz erstellt wurde, klicken Sie in der Liste darauf. Kopieren Sie auf der Übersichtsseite unter der Überschrift Connect to this instance
die dort aufgeführte public IP address
. Sie ist erst verfügbar, wenn die Instanz vollständig erstellt wurde, auch wenn Sie auf die Details klicken können, bevor die Instanz vollständig instanziiert ist.
gcloud verwenden
Zuerst müssen Sie die IP-Adresse abrufen, die Sie autorisieren möchten, um eine Verbindung zur Cloud SQL-Instanz herzustellen. Am einfachsten ist es, einen Browser zu öffnen und nach „Wie lautet meine IP-Adresse“ zu suchen? und die Suchergebnisse Ihre öffentliche IP-Adresse enthalten. Wenn Sie jedoch keinen Browser in der aktuellen Version öffnen können, können Sie ein Dienstprogramm wie dig
verwenden.
dig @resolver1.opendns.com ANY myip.opendns.com +short -4
Sie müssen eine Region für Ihre Cloud SQL-Instanz angeben, die Ihrem Standort am nächsten liegt. Führen Sie folgenden Befehl aus, um die Liste der Regionen aufzurufen:
gcloud sql tiers list
Jede Stufe ist nur in bestimmten Regionen verfügbar. Für den gcloud-Teil der Anleitung erstellen wir nur eine Mikroinstanz. Sie können also die verfügbaren Regionen für diese Stufe ermitteln, indem Sie einen bestimmten Befehl ausführen (sofern grep installiert ist):
gcloud sql tiers list | grep db-f1-micro
Der Befehl zum Erstellen der Instanz sieht dann so aus. Vergessen Sie nicht, <AUTHORIZED_IP> durch die IP-Adresse des Browsers oder dig zu ersetzen, <REGION> durch die IP-Adresse in Ihrer Nähe und ein Passwort für den Root-Nutzer "postgres":
gcloud sql instances create sql-codelab-00 --database-version=POSTGRES_11 --tier=db-f1-micro --region=<REGION> --authorized-networks=<AUTHORIZED_IP> --root-password=<PASSWORD>
Dies kann einige Minuten dauern.
Sobald der Vorgang abgeschlossen ist, wird in der Ausgabe in der Befehlszeile der PRIMARY_ADDRESS
der Instanz aufgeführt. Kopieren Sie es für den nächsten Schritt.
3. Verbindung und Zusammenfassung testen
Wenn Sie prüfen möchten, ob die Instanz ordnungsgemäß eingerichtet wurde, können Sie auf dem Computer mit der von Ihnen eingegebenen IP-Adresse Folgendes über die Befehlszeile ausführen:
psql "host=<Aus vorherigem Schritt kopierte IP-Adresse> port=5432 sslmode=disable user=postgres"
Geben Sie dann das Passwort des Standardnutzers an, das Sie beim Erstellen der Cloud SQL-Instanz festgelegt haben.
Glückwunsch! Wenn alles gut gelaufen ist, sollten Sie die Postgres-Eingabeaufforderung haben und Befehle für Ihre Datenbank ausführen.
Was liegt als Nächstes an?
Sehen Sie sich einige dieser Codelabs an...