Instanz in einem privaten Netzwerk erstellen und dann eine Datenbank importieren

Bei der Migration einer Arbeitslast von einer anderen Plattform zu Cloud SQL for PostgreSQL müssen Sie häufig die Google Cloud -Konsole verwenden, um Daten aus einer SQL-Dumpdatei zu importieren, die Sie aus Ihrer vorherigen Umgebung exportieren.

In dieser Anleitung wird beschrieben, wie Sie die erforderlichen Google Cloud Ressourcen erstellen und dann eine SQL-Datenbank in eine Cloud SQL for PostgreSQL-Instanz importieren. In der Anleitung werden Best Practices für die Migration zu Cloud SQL for PostgreSQL beschrieben, einschließlich der Verwendung eines VPC-Netzwerks (Virtual Private Cloud) mit Zugriff auf private Dienste und der Aktivierung privater IP-Adressen für Ihre Cloud SQL-Instanz.

Behalten Sie bei den einzelnen Schritten die Standardwerte für die Einstellungen bei, sofern nicht anders angegeben.

Ziele

  1. Laden Sie eine Beispiel-SQL-Dumpdatei herunter.
  2. Erstellen Sie ein neues VPC-Netzwerk (Virtual Private Cloud) mit Zugriff auf private Dienste.
  3. Erstellen Sie einen Cloud Storage-Bucket und laden Sie eine SQL-Dumpdatei in den Bucket hoch.
  4. Erstellen Sie eine Cloud SQL for PostgreSQL-Instanz, die für private IP-Adressen konfiguriert ist.
  5. einen Nutzer erstellen
  6. Erstellen Sie eine Zieldatenbank.
  7. Importieren Sie die Dumpdatei in eine neue Datenbank.
  8. Prüfen Sie, ob die Datenbank erfolgreich importiert wurde, indem Sie sich 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.

Neuen Nutzern von Google Cloud steht möglicherweise ein kostenloser Testzeitraum zur Verfügung.

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.

Hinweise

  1. 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.
  2. 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 the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Wenn Sie für diese Anleitung ein vorhandenes Projekt verwenden, prüfen Sie, ob Sie die erforderlichen Berechtigungen haben. Wenn Sie ein neues Projekt erstellt haben, haben Sie bereits die erforderlichen Berechtigungen.

  4. Verify that billing is enabled for your Google Cloud project.

  5. 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 the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

  6. 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 the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  7. Wenn Sie für diese Anleitung ein vorhandenes Projekt verwenden, prüfen Sie, ob Sie die erforderlichen Berechtigungen haben. Wenn Sie ein neues Projekt erstellt haben, haben Sie bereits die erforderlichen Berechtigungen.

  8. Verify that billing is enabled for your Google Cloud project.

  9. 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 the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

  10. 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:

    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

    In dieser Anleitung verwenden Sie eine kleine Beispieldatenbank, die Ländercodes und Hauptstädte enthält.

    Laden Sie die SQL-Datei für die Datenbank countries in Ihre lokale Umgebung herunter: countries-postgres.sql.

    Netzwerk mit privatem Dienstzugriff erstellen

    Bevor Sie die restlichen Ressourcen erstellen, erstellen Sie ein VPC-Netzwerk, in 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.

    1. Rufen Sie in der Google Cloud Console die Seite VPC-Netzwerke auf.

      Zur VPC-Netzwerkseite

    2. Klicken Sie auf VPC-Netzwerk erstellen.

    3. Geben Sie im Feld "Name" den Wert tutorial-network ein.

    4. Wählen Sie unter Modus für Subnetzerstellung die Option Benutzerdefiniert aus.

    5. Geben Sie im Feld "Name" den Wert tutorial-subnet ein.

    6. Wählen Sie eine Region in Ihrer Nähe aus.

    7. Geben Sie unter IPv4-Bereich 10.0.0.0/24 ein.

    8. Wählen Sie für Privater Google-Zugriff die Option Ein aus.

    9. Klicken Sie auf Fertig.

    10. Klicken Sie unten auf der Seite auf Erstellen.

    Nachdem das VPC-Netzwerk erstellt wurde, können Sie den Zugriff auf private Dienste für das Netzwerk konfigurieren.

    1. Klicken Sie auf dem Bildschirm „VPC-Netzwerke“ auf tutorial-network.
    2. Klicken Sie in der Menüleiste für tutorial-network auf Zugriff auf private Dienste.
    3. Klicken Sie auf Diensten zugewiesene IP-Bereiche.
    4. Klicken Sie auf IP-Bereich zuweisen.
    5. Geben Sie als Name tutorial-range ein.
    6. Wählen Sie für IP-Adressbereich die Option Benutzerdefiniert aus.
    7. Geben Sie im Feld Bereich den Wert 192.168.0.0/20 ein.
    8. Klicken Sie auf Zuweisen.
    9. Klicken Sie im Untermenü auf Private Verbindungen zu Diensten.
    10. Klicken Sie auf Verbindung erstellen.
    11. Wählen Sie im Drop-down-Menü Zugewiesene Zuordnung die Option tutorial-range aus.
    12. Klicken Sie auf Verbinden. Nach ein oder zwei Minuten wird in der Google Cloud -Konsole 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 SQL-Dumpdatei zu speichern, die Sie zuvor heruntergeladen haben. Das Cloud SQL-Importtool erwartet, dass sich die Dumpdatei in einem Bucket befindet. Ein Cloud Storage-Bucket muss einen global eindeutigen Namen haben.

    1. Wechseln Sie in der Google Cloud Console unter „Cloud Storage“ zur Seite Buckets.

      Buckets aufrufen

    2. Klicken Sie auf Erstellen.
    3. Erstellen Sie für den Bucket-Namen einen global eindeutigen Namen, der aus Kleinbuchstaben, Ziffern und Bindestrichen besteht. Sie können den Namen mit einem Tool zur Generierung zufälliger Strings erstellen, z. B. random.org/strings. Notieren Sie sich den Namen, den Sie auswählen.
    4. Klicken Sie auf Weiter.
    5. Wählen Sie unter Standorttyp die Option Region aus. Das ist die kostengünstigste Option.
    6. Wählen Sie dieselbe Region aus, die Sie für Ihr Subnetz ausgewählt haben. Wenn sich IhreGoogle Cloud -Ressourcen in derselben Region befinden, werden Latenz und Datenübertragungskosten reduziert, die Geschwindigkeit erhöht und die Vernetzung vereinfacht.
    7. Klicken Sie auf Weiter.
    8. Klicken Sie auf Erstellen.
    9. Wenn Sie 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.

    1. Klicken Sie auf dem Tab Objekte auf Hochladen und dann auf Dateien hochladen.
    2. Wählen Sie die Datei countries-postgres.sql aus.
    3. Klicken Sie auf Öffnen. Cloud Storage lädt die Dumpdatei in den Bucket hoch.

    Cloud SQL-Instanz erstellen

    Erstellen Sie eine Cloud SQL-Instanz in der Google Cloud Console mit den folgenden Einstellungen. Behalten Sie für alle anderen Einstellungen die Standardeinstellungen bei. Sie müssen zwar keine private IP-Adresse für den Importprozess aktivieren, es wird jedoch empfohlen, eine private IP-Adresse für eine Produktionsarbeitslast zu verwenden.

    1. Rufen Sie in der Google Cloud Console die Seite „Cloud SQL-Instanzen“ auf.
      Zur Seite „Cloud SQL-Instanzen“
    2. Klicken Sie auf Instanz erstellen.
    3. Klicken Sie auf PostgreSQL auswählen.
    4. Wählen Sie unter Cloud SQL-Version auswählen die Option Enterprise aus.
    5. Wählen Sie unter Versionsvoreinstellung die Option Sandbox aus.
    6. Geben Sie als Instanz-ID tutorial-instance ein.
    7. Wählen Sie ein Passwort für das Standardnutzerkonto aus, geben Sie es ein und speichern Sie es für die zukünftige Verwendung.
    8. Wählen Sie dieselbe Region aus, die Sie für Ihr Subnetz und Ihren Bucket ausgewählt haben.
    9. Wählen Sie unter Zonale Verfügbarkeit die Option Einzelne Zone aus.
    10. Maximieren Sie Konfigurationsoptionen einblenden.
    11. Maximieren Sie Verbindungen.
    12. Löschen Sie Öffentliche IP-Adresse.
    13. Wählen Sie Private IP-Adresse aus.
    14. Wählen Sie im Drop-down-Menü Netzwerk die Option tutorial-network aus. Dadurch wird die neue Cloud SQL-Instanz in dem privaten Netzwerk platziert, das Sie zuvor erstellt haben.
    15. 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.

    1. Klicken Sie im SQL-Navigationsmenü auf Nutzer.
    2. Klicken Sie auf Nutzerkonto hinzufügen.
    3. Wählen Sie im angezeigten Bereich Integrierte Authentifizierung aus.
    4. Geben Sie im Feld Nutzername tutorial-user ein.
    5. Geben Sie ein Passwort für den neuen Nutzer ein. Speichern Sie dieses Passwort zur späteren Verwendung.
    6. Klicken Sie auf Hinzufügen.

    Zieldatenbank erstellen

    Für den Importworkflow müssen Sie eine Zieldatenbank für den Import auswählen. Daher müssen Sie eine leere Datenbank erstellen.

    1. Klicken Sie im SQL-Navigationsmenü auf Datenbanken.
    2. Klicken Sie auf Datenbank erstellen.
    3. Geben Sie als Datenbankname countries ein.
    4. Klicken Sie auf Erstellen.

    Aus der Dumpdatei importieren

    Jetzt können Sie die countries-Datenbank mit der countries-postgres.sql-Dumpdatei importieren, die Sie in Ihren Cloud Storage-Bucket hochgeladen haben.

    1. Klicken Sie im SQL-Navigationsmenü auf Übersicht.
    2. Klicken Sie auf der Übersichtsseite auf Importieren.
    3. Wählen Sie unter Dateiformat die Option SQL aus.
    4. Wählen Sie unter Quelldatei auswählen die Option Datei aus Google Cloud Storage auswählen aus.
    5. Klicken Sie auf Durchsuchen.
    6. Maximieren Sie den Storage-Bucket, den Sie zuvor erstellt haben.
    7. Klicken Sie auf countries-postgres.sql.
    8. Klicken Sie auf Auswählen.
    9. Klicken Sie im Bereich Ziel auf das Drop-down-Menü Datenbank und wählen Sie dann Länder aus.
    10. Klicken Sie auf Importieren.

    Wenn der Import 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 mit Cloud SQL Studio eine Verbindung zur Datenbank her, sehen Sie sich die Liste der Tabellen an und führen Sie eine Testabfrage für die Daten aus.

    Bei Cloud SQL Studio authentifizieren

    Stellen Sie mit dem zuvor erstellten Nutzerkonto über Cloud SQL Studio eine Verbindung zur neuen Datenbank her.

    1. Klicken Sie im SQL-Navigationsmenü auf Cloud SQL Studio. Ein Anmeldedialogfeld wird angezeigt.
    2. Wählen Sie im Drop-down-Menü Datenbank die Option countries aus.
    3. Wählen Sie Integrierte Datenbankauthentifizierung aus.
    4. Wählen Sie im Drop-down-Menü Nutzer die Option tutorial-user aus.
    5. Geben Sie im Feld Passwort das Passwort ein, das Sie für den Nutzer im Abschnitt Nutzer hinzufügen ausgewählt haben.
    6. Klicken Sie auf Authentifizieren. Cloud SQL Studio wird geöffnet.

    Tabellen ansehen und abfragen

    1. Sehen Sie sich im Bereich Explorer die Datenbank countries an und prüfen Sie, ob sie zwei Tabellen enthält: capitals und country_codes.
    2. Klicken Sie auf Unbenannte Abfrage, um den Abfrageeditor zu öffnen.
    3. 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";
      
    4. Klicken Sie auf Ausführen.

    Im Ergebnisbereich wird eine alphabetische Liste der Hauptstädte und ihrer Länder angezeigt.

    Bereinigen

    So vermeiden Sie, dass Ihrem Google Cloud Konto die in dieser Anleitung verwendeten Ressourcen in Rechnung gestellt werden:

    • Projekt löschen, das die Ressourcen enthält
    • Behalten Sie das Projekt bei und löschen Sie die einzelnen Ressourcen.

    Projekt löschen

    1. In the Google Cloud console, go to the Manage resources page.

      Go to Manage resources

    2. In the project list, select the project that you want to delete, and then click Delete.
    3. In the dialog, type the project ID, and then click Shut down to delete the project.

    Einzelne Ressourcen löschen

    Wenn Sie das Projekt beibehalten, aber Gebühren vermeiden möchten, löschen Sie die Cloud SQL-Instanz, den Cloud Storage-Bucket und das VPC-Netzwerk, die Sie während des Tutorials erstellt haben.

    Cloud SQL-Instanz löschen

    Deaktivieren Sie zuerst den Löschschutz und löschen Sie dann die Cloud SQL-Instanz für das Tutorial:

    1. Klicken Sie im SQL-Navigationsmenü auf Übersicht.
    2. Klicken Sie auf Bearbeiten.
    3. Maximieren Sie den Abschnitt Datenschutz.
    4. Deaktivieren Sie unter Schutz vor Instanzlöschungen alle Optionen.
    5. Klicken Sie auf Speichern. Wenn der Vorgang abgeschlossen ist, kann Löschen ausgewählt werden.
    6. Klicken Sie auf Löschen. Ein Dialogfeld wird angezeigt.
    7. Geben Sie im Feld Instanz-ID den Wert tutorial-instance ein.
    8. Klicken Sie auf Löschen.

    Cloud Storage-Bucket löschen

    Löschen Sie als Nächstes den Storage-Bucket und seinen Inhalt.

    1. Rufen Sie im Hauptnavigationsmenü der Google Cloud Console Cloud Storage > Buckets auf.
    2. Aktivieren Sie das Kästchen neben dem Namen des Buckets, den Sie zuvor erstellt haben.
    3. Klicken Sie auf  Löschen.
    4. Bestätigen Sie im Dialogfeld den Löschvorgang, indem Sie DELETE eingeben, und klicken Sie dann auf Löschen.

    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.

    1. Klicken Sie im Hauptnavigationsmenü auf VPC-Netzwerke > VPC-Netzwerk-Peering.
    2. Klicken Sie das Kästchen neben der Peering-Verbindung mit dem VPC-Netzwerk tutorial-network an.
    3. Klicken Sie auf Löschen.
    4. Klicken Sie im Dialogfeld auf Löschen, um die Aktion zu bestätigen.

    Nachdem die Peering-Verbindung entfernt wurde, können Sie das VPC-Netzwerk löschen.

    1. Klicken Sie im Menü VPC-Netzwerk auf VPC-Netzwerke.
    2. Klicken Sie auf tutorial-network, um die Detailseite zu öffnen.
    3. Klicken Sie auf  VPC-Netzwerk löschen.
    4. Bestätigen Sie den Löschvorgang im Dialogfeld, indem Sie tutorial-network eingeben und dann auf Löschen klicken.

    Nächste Schritte