Amazon Redshift-Daten mit einem VPC-Netzwerk migrieren
In diesem Dokument wird erläutert, wie Daten mithilfe einer VPC von Amazon Redshift zu BigQuery migriert werden.
Wenn Sie eine private Amazon Redshift-Instanz in AWS haben, können Sie diese Daten zu BigQuery migrieren. Erstellen Sie dazu ein VPC-Netzwerk (Virtual Private Cloud) und verbinden Sie es mit dem Amazon-Netzwerk Redshift-VPC-Netzwerk. Der Datenmigrationsprozess funktioniert so:
- Sie erstellen ein VPC-Netzwerk in dem Projekt, das Sie für die Übertragung verwenden möchten. Das VPC-Netzwerk kann kein freigegebenes VPC-Netzwerk sein.
- Sie richten ein virtuelles privates Netzwerk (VPN) ein und verbinden Ihr Projekt-VPC-Netzwerk und das Amazon Redshift-VPC-Netzwerk.
- Sie geben Ihr VPC-Netzwerk und einen reservierten IP-Bereich beim Einrichten der Übertragung an.
- BigQuery Data Transfer Service erstellt ein Mandantenprojekt und hängt es an das Projekt an, das Sie für die Übertragung verwenden.
- BigQuery Data Transfer Service erstellt ein VPC-Netzwerk mit einem Subnetz im Mandantenprojekt mithilfe des von Ihnen angegebenen reservierten IP-Bereichs.
- BigQuery Data Transfer Service erstellt ein VPC-Peering zwischen Ihrem VPC-Netzwerk des Projekts und dem VPC-Netzwerk des Mandantenprojekts.
- Die Migration von BigQuery Data Transfer Service wird im Mandantenprojekt ausgeführt. Sie löst einen Entladevorgang von Amazon Redshift zu einem Staging-Bereich in einem Amazon S3-Bucket aus. Die Geschwindigkeit des Entladevorgangs wird von der Clusterkonfiguration bestimmt.
- Die BigQuery Data Transfer Service-Migration überträgt Ihre Daten aus dem Amazon S3-Bucket zu BigQuery.
Wenn Sie Daten von Ihrer Amazon Redshift-Instanz über öffentliche IP-Adressen übertragen möchten, können Sie Ihre Amazon Redshift-Daten mit dieser Anleitung zu BigQuery migrieren.
Vorbereitung
- 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.
-
Die Abrechnung für das Google Cloud-Projekt muss aktiviert sein.
-
Enable the BigQuery and BigQuery Data Transfer Service APIs.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Die Abrechnung für das Google Cloud-Projekt muss aktiviert sein.
-
Enable the BigQuery and BigQuery Data Transfer Service APIs.
Erforderliche Berechtigungen festlegen
Führen Sie die folgenden Schritte aus, bevor Sie eine Amazon Redshift-Übertragung erstellen:
Sorgen Sie dafür, dass die Person, die die Übertragung erstellt, die folgenden Berechtigungen für Identity and Access Management (IAM) in BigQuery hat:
bigquery.transfers.update
-Berechtigungen zum Erstellen der Übertragungbigquery.datasets.update
-Berechtigungen für das Ziel-Dataset
Die vordefinierte IAM-Rolle
role/bigquery.admin
enthält die Berechtigungenbigquery.transfers.update
undbigquery.datasets.update
. Weitere Informationen zu IAM-Rollen in BigQuery Data Transfer Service finden Sie unter Zugriffssteuerung.Prüfen Sie anhand der Dokumentation zu Amazon S3, ob Sie alle erforderlichen Berechtigungen zum Aktivieren der Übertragung konfiguriert haben. Auf die Amazon S3-Quelldaten muss mindestens die AWS-Verwaltungsrichtlinie
AmazonS3ReadOnlyAccess
angewendet werden.Erteilen Sie der Person, die die Übertragung einrichtet, die entsprechenden IAM-Berechtigungen zum Erstellen und Löschen von VPC-Netzwerk-Peering. Der Dienst verwendet die Google Cloud-Nutzeranmeldedaten der Person, um die VPC-Peering-Verbindung herzustellen.
- Berechtigungen zum Erstellen von VPC-Peering:
compute.networks.addPeering
- Berechtigungen zum Löschen von VPC-Peering:
compute.networks.removePeering
Die vordefinierten IAM-Rollen
roles/project.owner
,roles/project.editor
undroles/compute.networkAdmin
enthalten standardmäßig die Berechtigungencompute.networks.addPeering
undcompute.networks.removePeering
.- Berechtigungen zum Erstellen von VPC-Peering:
Dataset erstellen
Erstellen Sie ein BigQuery-Dataset zum Speichern Ihrer Daten. Sie müssen keine Tabellen erstellen.
Zugriff auf Amazon Redshift-Cluster erlauben
Befolgen Sie die Anleitung unter Eingangsregeln für SQL-Clients konfigurieren, um die IP-Bereiche Ihres privaten Amazon Redshift-Clusters auf die Zulassungsliste zu setzen. Wenn Sie in einem späteren Schritt die Übertragung einrichten, definieren Sie den privaten IP-Bereich in diesem VPC-Netzwerk.
Zugriff auf Amazon S3-Bucket erlauben
Sie benötigen einen Amazon S3-Bucket als Staging-Bereich, um die Amazon Redshift-Daten nach BigQuery zu übertragen. Eine ausführliche Anleitung finden Sie in der Amazon-Dokumentation:
Es empfiehlt sich, einen dedizierten Amazon IAM-Nutzer zu erstellen und diesem Nutzer nur Lesezugriff auf Amazon Redshift und Lese-/Schreibzugriff auf Amazon S3 zu gewähren. Dazu können Sie die folgenden Richtlinien anwenden:
Erstellen Sie ein IAM-Nutzer-Zugriffsschlüsselpaar für Amazon.
Arbeitslaststeuerung durch separate Migrationswarteschlange konfigurieren
Optional können Sie eine Amazon Redshift-Warteschlange für Migrationszwecke definieren, um die für die Migration verwendeten Ressourcen zu begrenzen und zu trennen. Sie können diese Migrationswarteschlange mit einer maximalen Anzahl gleichzeitiger Abfragen konfigurieren. Anschließend können Sie der Warteschlange eine bestimmte Migrationsnutzergruppe zuordnen und diese Anmeldedaten verwenden, wenn Sie die Migration zur Übertragung von Daten nach BigQuery einrichten. Der Transfer Service hat so nur Zugriff auf die Migrationswarteschlange.
Übertragungsinformationen erfassen
Erfassen Sie die Informationen, die Sie zum Einrichten der Migration mit BigQuery Data Transfer Service benötigen:
- Rufen Sie die VPC und den reservierten IP-Bereich in Amazon Redshift ab.
- Folgen Sie diesen Anweisungen zum Abrufen der JDBC-URL.
- Rufen Sie den Nutzernamen und das Passwort eines Nutzers mit den entsprechenden Berechtigungen für Ihre Amazon Redshift-Datenbank ab.
- Folgen Sie der Anleitung unter Zugriff auf Amazon S3-Bucket erlauben, um ein AWS-Zugriffsschlüsselpaar abzurufen.
- Rufen Sie den URI des Amazon S3-Buckets ab, den Sie für die Übertragung verwenden möchten. Wir empfehlen, für diesen Bucket eine Lebenszyklusrichtlinie einzurichten, um unnötige Gebühren zu vermeiden. Die empfohlene Ablaufzeit beträgt 24 Stunden, damit genügend Zeit vorhanden ist, um alle Daten nach BigQuery zu übertragen.
Daten bewerten
Im Rahmen der Datenübertragung schreibt BigQuery Data Transfer Service Daten als CSV-Dateien aus Amazon Redshift in Cloud Storage. Wenn diese Dateien das ASCII-0-Zeichen enthalten, können sie nicht in BigQuery geladen werden. Wir empfehlen Ihnen, Ihre Daten zu bewerten, um festzustellen, ob dies ein Problem für Sie ist. Sollte dies der Fall sein, können Sie dieses Problem umgehen. Exportieren Sie dazu Ihre Daten als Parquet-Dateien in Amazon S3 und importieren Sie diese Dateien dann mit BigQuery Data Transfer Service. Weitere Informationen finden Sie unter Übersicht über Amazon S3-Übertragungen.
VPC-Netzwerk und VPN einrichten
Prüfen Sie, ob Sie Berechtigungen für VPC-Peering haben. Weitere Informationen finden Sie unter Erforderliche Berechtigungen festlegen.
Folgen Sie den Anweisungen in dieser Anleitung, um ein Google Cloud VPC-Netzwerk einzurichten, ein VPN zwischen dem VPC-Netzwerk Ihres Google Cloud-Projekts und dem Amazon Redshift VPC-Netzwerk einzurichten und VPC-Peering zu aktivieren.
Konfigurieren Sie Amazon Redshift so, dass eine Verbindung zu Ihrem VPN zugelassen wird. Weitere Informationen finden Sie unter Amazon Redshift-Cluster-Sicherheitsgruppen.
Rufen Sie in der Google Cloud Console die Seite VPC-Netzwerke auf, um zu prüfen, ob Ihr Google Cloud VPC-Netzwerk in Ihrem Google Cloud-Projekt existiert und über das VPN mit Amazon Redshift verbunden ist.
Auf der Konsolenseite werden alle VPC-Netzwerke aufgeführt.
Amazon Redshift-Übertragung einrichten
Verwenden Sie die folgenden Anleitungen, um eine Amazon Redshift-Übertragung einzurichten:
Öffnen Sie in der Google Cloud Console die Seite BigQuery.
Klicken Sie auf Datenübertragungen.
Klicken Sie auf Übertragung erstellen.
Wählen Sie im Abschnitt Quelltyp die Option Migration: Amazon Redshift aus der Liste Quelle aus.
Geben Sie im Abschnitt Transfer config name (Konfigurationsname für Übertragung) im Feld Display name (Anzeigename) einen Namen für die Übertragung ein, z. B.
My migration
. Der Anzeigename kann ein beliebiger Wert sein, mit dem Sie die Übertragung einfach identifizieren können, wenn Sie sie später ändern möchten.Wählen Sie im Abschnitt Destination settings (Zieleinstellungen) das von Ihnen erstellte Dataset aus der Liste Dataset aus.
Führen Sie im Abschnitt Details zur Datenquelle folgende Schritte aus:
- Geben Sie im Feld JDBC connection url for Amazon Redshift (JDBC-Verbindungs-URL für Amazon Redshift) die JDBC-URL für den Zugriff auf Ihren Amazon Redshift-Cluster ein.
- Geben Sie als Username of your database (Nutzername für Ihre Datenbank) den Nutzernamen für die Amazon Redshift-Datenbank ein, die Sie migrieren möchten.
Geben Sie im Feld Password of your database (Passwort für Ihre Datenbank) das Datenbankpasswort ein.
Geben Sie bei Access key ID (Zugriffsschlüssel-ID) und Secret access key (Geheimer Zugriffsschlüssel) das Zugriffsschlüsselpaar ein, das Sie im Schritt Zugriff auf S3-Bucket erlauben erhalten haben.
Geben Sie im Feld Amazon S3 URI (Amazon S3-URI) den URI des S3-Buckets ein, den Sie als Staging-Bereich verwenden möchten.
Geben Sie im Feld Redshift Schema (Redshift-Schema) das Amazon Redshift-Schema ein, das Sie migrieren.
Geben Sie bei Table name patterns (Tabellennamensmuster) einen Namen oder ein Muster für übereinstimmende Tabellennamen im Schema an. Sie können das Muster mit regulären Ausdrücken in folgendem Format angeben:
<table1Regex>;<table2Regex>
. Das Muster sollte der Java-Syntax für reguläre Ausdrücke folgen. Beispiel:lineitem;ordertb
führt zu Übereinstimmungen mit Tabellen, dielineitem
undordertb
heißen..*
führt zu Übereinstimmung mit allen Tabellen.
Lassen Sie dieses Feld leer, um alle Tabellen aus dem angegebenen Schema zu migrieren.
Geben Sie für VPC und den reservierten IP-Bereich den Namen Ihres VPC-Netzwerks und den privaten IP-Adressbereich an, der im VPC-Netzwerk des Mandantenprojekts verwendet werden soll. Geben Sie den IP-Adressbereich als CIDR-Block an.
- Das Format ist
VPC_network_name:CIDR
, z. B.:my_vpc:10.251.1.0/24
. - Verwenden Sie Standardadressbereiche für private VPC-Netzwerke in der CIDR-Notation, beginnend mit
10.x.x.x
. - Der IP-Bereich muss mehr als 10 IP-Adressen haben.
- Der IP-Bereich darf sich nicht mit einem Subnetz in Ihrem VPC-Netzwerk oder dem Amazon Redshift-VPC-Netzwerk überschneiden.
- Wenn Sie mehrere Übertragungen für dieselbe Amazon Redshift-Instanz konfiguriert haben, stellen Sie sicher, dass Sie jeweils denselben
VPC_network_name:CIDR
-Wert verwenden, damit mehrere Übertragungen dieselbe Migrationsinfrastruktur wiederverwenden können.
- Das Format ist
Optional: Gehen Sie im Abschnitt Benachrichtigungsoptionen so vor:
- Klicken Sie auf den Umschalter, um E-Mail-Benachrichtigungen zu aktivieren. Wenn Sie diese Option aktivieren, erhält der Übertragungsadministrator eine E-Mail-Benachrichtigung, wenn ein Übertragungsvorgang fehlschlägt.
- Wählen Sie unter Pub/Sub-Thema auswählen Ihr Thema aus oder klicken Sie auf Thema erstellen. Mit dieser Option werden Pub/Sub-Ausführungsbenachrichtigungen für Ihre Übertragung konfiguriert.
Klicken Sie auf Speichern.
Die Google Cloud Console zeigt alle Details zur Übertragungseinrichtung an, einschließlich eines Ressourcennamens für diese Übertragung.
Kontingente und Limits
Durch die Migration einer privaten Amazon Redshift-Instanz mit einem VPC-Netzwerk wird der Migrations-Agent auf einer einzelnen Mandanteninfrastruktur ausgeführt. Aufgrund von Ressourcenbeschränkungen sind höchstens 5 gleichzeitige Übertragungen zulässig.
BigQuery hat ein Ladekontingent von 15 TB pro Ladejob und für jede Tabelle. Amazon Redshift komprimiert die Tabellendaten intern. Daher ist das Datenvolumen der exportierten Tabelle größer als bei Amazon Redshift angezeigt wird. Wenden Sie sich bitte zuvor an Cloud Customer Care, wenn Sie eine Tabelle mit mehr als 15 TB migrieren möchten.
Durch die Nutzung dieses Dienstes können Kosten außerhalb von Google anfallen. Weitere Informationen finden Sie auf den Preisseiten von Amazon Redshift und Amazon S3.
Aufgrund des Konsistenzmodells von Amazon S3 kann es sein, dass einige Dateien nicht in die Übertragung nach BigQuery einbezogen werden.
Nächste Schritte
- Erfahren Sie mehr über Amazon Redshift-Standardmigrationen.
- Weitere Informationen zum BigQuery Data Transfer Service
- Migrieren Sie SQL-Code mit der Batch-SQL-Übersetzung.