Bei der Migration einer Arbeitslast von einer anderen Plattform zu Cloud SQL for PostgreSQL müssen Sie häufig die console verwenden, um Daten aus einer SQL-Dumpdatei zu importieren, die Sie aus Ihrer vorherigen Umgebung exportieren. Google Cloud
In dieser Anleitung erfahren Sie, wie Sie die Google Cloud erforderlichen Ressourcen erstellen und dann eine SQL-Datenbank in eine Cloud SQL for PostgreSQL Instanz importieren. Die Anleitung zeigt Best Practices für die Migration zu Cloud SQL for PostgreSQL, einschließlich der Verwendung eines Virtual Private Cloud-Netzwerks (VPC) mit Zugriff auf private Dienste und der Aktivierung einer privaten IP-Adresse für Ihre Cloud SQL-Instanz.
Behalten Sie bei der Ausführung der Schritte die Standardwerte für die Einstellungen bei, sofern nicht anders angegeben.
Ziele
- Beispielhafte SQL-Dumpdatei herunterladen
- Neues Virtual Private Cloud-Netzwerk mit Zugriff auf private Dienste erstellen
- Cloud Storage-Bucket erstellen und SQL-Dumpdatei hochladen
- Cloud SQL for PostgreSQL-Instanz erstellen, die für eine private IP-Adresse konfiguriert ist
- Nutzer erstellen
- Zieldatenbank erstellen
- Daten aus der Dumpdatei in eine neue Datenbank importieren
- Prüfen, ob die Datenbank erfolgreich importiert wurde, indem Sie die Struktur ansehen und eine Abfrage ausführen
Kosten
In diesem Dokument verwenden Sie die folgenden kostenpflichtigen Komponenten von Google Cloud:
Mit dem Preisrechner können Sie eine Kostenschätzung für Ihre voraussichtliche Nutzung vornehmen.
Verwenden Sie den Preisrechner.
Nach Abschluss der in diesem Dokument beschriebenen Aufgaben können Sie weitere Kosten vermeiden, indem Sie die erstellten Ressourcen löschen. Weitere Informationen finden Sie unter Bereinigen.
Hinweis
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
If you're using an existing project for this guide, verify that you have the permissions required to complete this guide. If you created a new project, then you already have the required permissions.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Cloud SQL, Cloud SQL Admin, Compute Engine, Cloud Storage APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.
Erforderliche Rollen
Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen für Ihr Projekt zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Ausführen dieser Anleitung benötigen:
-
Cloud SQL-Administrator (
roles/cloudsql.admin) -
Storage-Administrator (
roles/storage.admin) -
Compute-Netzwerkadministrator (
roles/compute.networkAdmin)
Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.
Sie können die erforderlichen Berechtigungen auch über benutzerdefinierte Rollen oder andere vordefinierte Rollen erhalten.
Beispieldatenbank-Dumpdatei abrufen
Für diese Anleitung verwenden Sie eine kleine Beispieldatenbank mit Ländercodes und Hauptstädten.
Laden Sie die SQL-Datei für die countries Datenbank in Ihre lokale
Umgebung herunter: countries-postgres.sql.
Netzwerk mit Zugriff auf private Dienste erstellen
Bevor Sie die restlichen Ressourcen erstellen, erstellen Sie ein VPC-Netzwerk, auf dem Ihre Dienste ausgeführt werden. Mit dem Zugriff auf private Dienste können Sie den Zugriff auf Ihre Cloud SQL-Datenbank einschränken, indem Sie eine private Verbindung zwischen Ihrem externen Netzwerk und Cloud SQL for PostgreSQL über interne IPv4-Adressen herstellen.
Rufen Sie in der Google Cloud console die Seite VPC-Netzwerke auf.
Klicken Sie auf VPC-Netzwerk erstellen.
Geben Sie im Feld „Name“ den Wert
tutorial-networkein.Wählen Sie unter Modus für Subnetzerstellung die Option Benutzerdefiniert aus.
Geben Sie im Feld „Name“ den Wert
tutorial-subnetein.Wählen Sie eine Region in Ihrer Nähe aus.
Geben Sie unter IPv4-Bereich den Wert
10.0.0.0/24ein.Wählen Sie für Privater Google-Zugriff die Option Ein aus.
Klicken Sie auf Fertig.
Klicken Sie unten auf der Seite auf Erstellen.
Nachdem die Erstellung des VPC-Netzwerk abgeschlossen ist, können Sie den Zugriff auf private Dienste für das Netzwerk konfigurieren.
- Klicken Sie auf dem Bildschirm „VPC-Netzwerke“ auf tutorial-network.
- Klicken Sie in der Menüleiste für tutorial-network auf Zugriff auf private Dienste.
- Klicken Sie auf Diensten zugewiesene IP-Bereiche.
- Klicken Sie auf IP-Bereich zuweisen.
- Geben Sie als Name
tutorial-rangeein. - Wählen Sie für IP-Adressbereich die Option Benutzerdefiniert aus.
- Geben Sie im Feld Bereich den Wert
192.168.0.0/20ein. - Klicken Sie auf Zuweisen.
- Klicken Sie im Untermenü auf Private Verbindungen zu Diensten.
- Klicken Sie auf Verbindung erstellen.
- Wählen Sie im Drop-down-Menü Zugewiesene Bereiche die Option tutorial-range aus.
- Klicken Sie auf Verbinden. Nach ein oder zwei Minuten wird in der Google Cloud console eine Meldung angezeigt, dass Sie eine private Verbindung erstellt haben.
Cloud Storage-Bucket erstellen
Erstellen Sie als Nächstes einen Cloud Storage-Bucket, um die zuvor heruntergeladene SQL-Dumpdatei zu speichern. Das Cloud SQL-Importtool erwartet, dass sich die Dumpdatei in einem Bucket befindet. Ein Cloud Storage-Bucket muss einen global eindeutigen Namen haben.
- Wechseln Sie in der Google Cloud console unter „Cloud Storage“ zur Seite Buckets.
- Klicken Sie auf Erstellen.
- Erstellen Sie für den Bucket-Namen einen global eindeutigen Namen, der aus Kleinbuchstaben, Ziffern und Bindestrichen besteht. Sie können einen Zufallsstring generator wie random.org/strings verwenden, um den Namen zu generieren. Notieren Sie sich den Namen, den Sie auswählen.
- Klicken Sie auf Weiter.
- Wählen Sie unter Standorttyp die Option Region aus. Dies ist die kostengünstigste Option.
- Wählen Sie dieselbe Region aus, die Sie für Ihr Subnetz ausgewählt haben. Wenn Sie Ihre Google Cloud Ressourcen in derselben Region platzieren, wird die Latenz reduziert, die Geschwindigkeit verbessert, die Kosten für die Datenübertragung gesenkt und die Vernetzung vereinfacht.
- Klicken Sie auf Weiter.
- Klicken Sie auf Erstellen.
- Wenn Sie in einem Dialogfeld dazu aufgefordert werden, lassen Sie Verhinderung des öffentlichen Zugriffs für diesen Bucket erzwingen ausgewählt und klicken Sie auf Bestätigen.
Die Seite Bucket-Details für den neuen Bucket wird geöffnet und der Bereich Objekte ist ausgewählt.
Dumpdatei in den Bucket hochladen
Laden Sie die zuvor heruntergeladene SQL-Dumpdatei in Ihren Bucket hoch.
- Klicken Sie auf dem Tab Objekte auf Hochladen und dann auf Dateien hochladen.
- Öffnen Sie die Datei
countries-postgres.sql. - Klicken Sie auf Öffnen. Cloud Storage lädt die Dumpdatei in den Bucket hoch.
Cloud SQL-Instanz erstellen
Erstellen Sie in der Google Cloud console eine Cloud SQL-Instanz mit den folgenden Einstellungen. Behalten Sie für alle anderen Einstellungen die Standardwerte bei. Sie müssen die private IP-Adresse zwar nicht für den Importvorgang aktivieren, aber es ist eine Best Practice, sie für eine Produktionsarbeitslast zu verwenden.
- Rufen Sie in der Google Cloud console die Seite „Cloud SQL-Instanzen“ auf.
Zur Seite „Cloud SQL-Instanzen“ - Klicken Sie auf Instanz erstellen.
- Klicken Sie auf PostgreSQL auswählen.
- Wählen Sie unter Cloud SQL-Version auswählen die Option Enterprise aus.
- Wählen Sie unter Versionsvoreinstellung die Option Sandbox aus.
- Geben Sie als Instanz-ID den Wert
tutorial-instanceein. - Wählen Sie ein Passwort für das Standardnutzerkonto aus und geben Sie es ein. Speichern Sie es für die zukünftige Verwendung.
- Wählen Sie dieselbe Region aus, die Sie für Ihr Subnetz und Ihren Bucket ausgewählt haben.
- Wählen Sie unter Zonale Verfügbarkeit 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 tutorial-network aus. Dadurch wird die neue Cloud SQL-Instanz in dem zuvor erstellten privaten Netzwerk platziert.
- Klicken Sie auf Instanz erstellen und warten Sie, bis die Instanz initialisiert und gestartet wurde. Die Initialisierung kann mehr als fünf Minuten dauern.
Nutzer hinzufügen
Bevor Sie Daten in einer Datenbank lesen oder schreiben können, müssen Sie einen Datenbanknutzer erstellen, der sich vom Root-Nutzer unterscheidet.
- Klicken Sie im SQL-Navigationsmenü auf Nutzer.
- Klicken Sie auf Nutzerkonto hinzufügen.
- Wählen Sie im angezeigten Bereich Integrierte Authentifizierung aus.
- Geben Sie im Feld Nutzername den Wert
tutorial-userein. - Geben Sie ein Passwort für den neuen Nutzer ein. Speichern Sie dieses Passwort zur späteren Verwendung.
- Klicken Sie auf Hinzufügen.
Zieldatenbank erstellen
Für den Importworkflow müssen Sie eine Zieldatenbank auswählen, in die importiert werden soll. Daher müssen Sie eine leere Datenbank erstellen.
- Klicken Sie im SQL-Navigationsmenü auf Datenbanken.
- Klicken Sie auf Datenbank erstellen.
- Geben Sie als Datenbankname
countriesein. - Klicken Sie auf Erstellen.
Daten aus der Dumpdatei importieren
Jetzt können Sie die Datenbank countries mit der
countries-postgres.sql Dumpdatei importieren, die Sie in Ihren Cloud Storage
Bucket hochgeladen haben.
- Klicken Sie im SQL-Navigationsmenü auf Übersicht.
- Klicken Sie auf der Übersichtsseite auf Importieren.
- Wählen Sie unter Dateiformat die Option SQL aus.
- Wählen Sie unter Quelldatei auswählen die Option Datei aus Google Cloud Storage auswählen aus.
- Klicken Sie auf Durchsuchen.
- Maximieren Sie den zuvor erstellten Storage-Bucket.
- Klicken Sie auf countries-postgres.sql.
- Klicken Sie auf Auswählen.
- Klicken Sie im Abschnitt Ziel auf das Drop-down-Menü Datenbank und wählen Sie dann countries aus.
- Klicken Sie auf Importieren.
Wenn der Importvorgang abgeschlossen ist und die Datenbank countries in Cloud SQL for PostgreSQL importiert wurde, wird eine Erfolgsmeldung angezeigt.
Importierte Daten in Cloud SQL for PostgreSQL validieren
Nach Abschluss des Importvorgangs können Sie prüfen, ob die Datenbank importiert wurde. Stellen Sie dazu eine Verbindung mit Cloud SQL Studio her, sehen Sie sich die Liste der Tabellen an und führen Sie eine Testabfrage für die Daten aus.
Authentifizierung bei Cloud SQL Studio
Stellen Sie mit dem zuvor erstellten Nutzerkonto eine Verbindung zur neuen Datenbank her.
- Klicken Sie im SQL-Navigationsmenü auf Cloud SQL Studio. Ein Anmeldedialogfeld wird angezeigt.
- Wählen Sie im Drop-down-Menü Datenbank die Option countries aus.
- Wählen Sie Integrierte Datenbankauthentifizierung aus.
- Wählen Sie im Drop-down-Menü Nutzer die Option tutorial-user aus.
- Geben Sie im Feld Passwort das Passwort ein, das Sie für den Nutzer in dem Abschnitt Nutzer hinzufügen ausgewählt haben.
- Klicken Sie auf Authentifizieren. Cloud SQL Studio wird geöffnet.
Tabellen ansehen und abfragen
- Sehen Sie sich im Bereich Explorer die Datenbank
countriesan und prüfen Sie, ob sie zwei Tabellen enthält:capitalsundcountry_codes. - Klicken Sie auf Abfrage ohne Titel , um den Abfrageeditor zu öffnen.
Fügen Sie den folgenden Code in den Abfrageeditor ein:
SELECT "capitals"."country_capital", "country_codes"."country_name" FROM "capitals" JOIN "country_codes" ON "capitals"."alpha_2_code" = "country_codes"."alpha_2_code" ORDER BY "capitals"."country_capital";Klicken Sie auf Ausführen.
Im Bereich „Ergebnisse“ wird eine alphabetische Liste der Hauptstädte und ihrer Länder angezeigt.
Bereinigen
Wenn Sie vermeiden möchten, dass Ihrem Google Cloud Konto die in dieser Anleitung verwendeten Ressourcen in Rechnung gestellt werden, haben Sie folgende Möglichkeiten:
- Löschen Sie das Projekt, das die Ressourcen enthält.
- Behalten Sie das Projekt bei und löschen Sie die einzelnen Ressourcen.
Projekt löschen
So löschen Sie ein Google Cloud Projekt:
gcloud projects delete PROJECT_ID
Einzelne Ressourcen löschen
Wenn Sie das Projekt beibehalten, aber keine Kosten verursachen möchten, löschen Sie die Cloud SQL-Instanz, den Cloud Storage-Bucket und das VPC-Netzwerk, die Sie während der Anleitung erstellt haben.
Cloud SQL-Instanz löschen
Deaktivieren Sie zuerst den Löschschutz und löschen Sie dann die Cloud SQL-Instanz für die Anleitung:
- Klicken Sie im SQL-Navigationsmenü auf Übersicht.
- Klicken Sie auf Bearbeiten.
- Maximieren Sie den Abschnitt Datenschutz.
- Deaktivieren Sie unter Löschschutz für Instanzen alle Optionen.
- Klicken Sie auf Speichern. Wenn der Vorgang abgeschlossen ist, kann Löschen ausgewählt werden.
- Klicken Sie auf Löschen. Ein Dialogfeld wird angezeigt.
- Geben Sie im Feld Instanz-ID den Wert
tutorial-instanceein. - Klicken Sie auf Löschen.
Cloud Storage-Bucket löschen
Löschen Sie als Nächstes den Storage-Bucket und seinen Inhalt.
- Rufen Sie im Hauptnavigationsmenü der Google Cloud console Cloud Storage > Buckets auf.
- Klicken Sie das Kästchen neben dem Namen des zuvor erstellten Buckets an.
- Klicken Sie auf Löschen.
- Bestätigen Sie im Dialogfeld den Löschvorgang, indem Sie
DELETEeingeben und dann auf Löschen klicken.
VPC-Netzwerk löschen
Nachdem Sie die Ressourcen in Ihrem VPC-Netzwerk gelöscht haben, können Sie das Netzwerk löschen. Bevor Sie das VPC-Netzwerk löschen können, müssen Sie die Peering-Verbindung löschen, die beim Erstellen des VPC-Netzwerks automatisch erstellt wurde.
- Rufen Sie im Hauptnavigationsmenü VPC-Netzwerke > VPC-Netzwerk-Peering auf.
- Klicken Sie das Kästchen neben der Peering-Verbindung mit dem VPC-Netzwerk tutorial-network an.
- Klicken Sie auf Löschen.
- Bestätigen Sie im Dialogfeld, indem Sie auf Löschen klicken.
Nachdem die Peering-Verbindung entfernt wurde, können Sie das VPC-Netzwerk löschen.
- Klicken Sie im Menü VPC-Netzwerk auf VPC-Netzwerke.
- Klicken Sie auf tutorial-network , um die Detailseite zu öffnen.
- Klicken Sie auf VPC-Netzwerk löschen.
- Bestätigen Sie im Dialogfeld den Löschvorgang, indem Sie
tutorial-networkeingeben und dann auf Löschen klicken.
Nächste Schritte
- Best Practices zum Importieren und Exportieren von Daten.
- Mithilfe von SQL-Dumpdateien exportieren und importieren.
- VPC-Netzwerke
- Referenzarchitekturen, Diagramme und Best Practices zu Google Cloud kennenlernen. Weitere Informationen zu Cloud Architecture Center