Migrieren einer Tabelle mithilfe des Exports nach S3 und des Imports aus S3
Voraussetzungen
-
Sie müssen die zeitpunktbezogene Wiederherstellung (PITR) für Ihre Tabelle aktivieren, um den Export nach S3 durchführen zu können. Weitere Informationen finden Sie unter Zeitpunktbezogene Wiederherstellung in DynamoDB.
-
Gültige IAM-Berechtigungen zur Durchführung des Exports. Weitere Informationen finden Sie unter Anfordern eines Tabellenexports in DynamoDB.
-
Gültige IAM-Berechtigungen, die für die Durchführung des Imports ausreichen. Weitere Informationen finden Sie unter Anfordern eines Tabellenexports in DynamoDB.
Preisinformationen
AWS erhebt Gebühren für PITR (basierend auf der Größe der Tabelle und der Dauer, für die PITR aktiviert ist). Wenn Sie PITR außer für den Export nicht benötigen, können Sie die Option nach Abschluss des Exports deaktivieren. AWS erhebt außerdem Gebühren für Anforderungen an S3, für das Speichern der exportierten Daten in S3 und für den Import (basierend auf der unkomprimierten Größe der importierten Daten).
Weitere Informationen zu DynamoDB-Preisen finden Sie unter DynamoDB – Preise
Anmerkung
Beim Import von S3 nach DynamoDB gibt es Beschränkungen für die Größe und Anzahl der Objekte. Weitere Informationen finden Sie unter Importkontingente.
Anfordern eines Tabellenexports nach Amazon S3
-
Melden Sie sich bei der AWS-Managementkonsole an und öffnen Sie die DynamoDB-Konsole.
-
Klicken Sie im Navigationsbereich links in der Konsole auf Exports to S3 (Exporte nach S3).
-
Wählen Sie eine Quelltabelle und den Ziel-S3-Bucket aus. Geben Sie andernfalls die URL des Zielkonto-Buckets ein und verwenden Sie dabei das
s3://bucketname/prefix-Format./prefixist ein optionaler Ordner, um Ihren Ziel-Bucket organisiert zu halten. -
Wählen Sie Vollständiger Export aus. Bei einem vollständigen Export wird der vollständige Tabellen-Snapshot Ihrer Tabelle zu dem von Ihnen angegebenen Zeitpunkt ausgegeben.
-
Wählen Sie Aktuelle Zeit aus, um den letzten vollständigen Tabellen-Snapshot zu exportieren.
-
Wählen Sie unter Exportiertes Dateiformat „DynamoDB JSON“ oder „Amazon Ion“ aus. Die Standardoption ist „DynamoDB JSON“.
-
-
Klicken Sie auf das Symbol Export (Exportieren), um mit dem Export zu beginnen.
-
Der Export kleiner Tabellen sollte in wenigen Minuten abgeschlossen sein, aber bei Tabellen im Terabyte-Bereich kann der Vorgang mehr als eine Stunde dauern.
Anfordern eines Tabellenimports aus Amazon S3
-
Melden Sie sich bei der AWS-Managementkonsole an und öffnen Sie die DynamoDB-Konsole.
-
Klicken Sie im Navigationsbereich links in der Konsole auf Import from S3 (Import aus S3).
-
Wählen Sie auf der angezeigten Seite Import from S3 (Import aus S3).
-
Geben Sie die Quell-URL aus Amazon S3 ein. Sie können diese auch über die Schaltfläche S3 durchsuchen finden. Das erwartete Format des Pfades ist
s3://bucket/prefix/AWSDynamoDB/<XXXXXXXX-XXXXXX>/data/. -
Geben Sie an, ob Sie der S3-Bucket-Besitzer sind.
-
Wählen Sie unter Dateikomprimierung importieren die Option GZIP aus, die dem Export entspricht.
-
Wählen Sie unter Dateiformat importieren die Option DynamoDB JSON aus, die dem Export entspricht.
-
Klicken Sie auf Weiter. Wählen Sie unter Tabellendetails angeben die Optionen für die neue Tabelle aus, die zum Speichern Ihrer Daten erstellt wird.
-
Klicken Sie auf Weiter. Passen Sie unter Tabelleneinstellungen konfigurieren gegebenenfalls zusätzliche Tabelleneinstellungen an.
-
Wählen Sie erneut Next (Weiter), um Ihre Importoptionen zu überprüfen, und klicken Sie dann auf Import (Importieren), um die Importaufgabe zu starten. Ihre neue Tabelle wird unter Importe aus S3 mit dem Status Wird importiert aufgeführt. Während dieser Zeit können Sie nicht auf die Tabelle zugreifen. Der Import kleiner Tabellen sollte in wenigen Minuten abgeschlossen sein, aber bei Tabellen im Terabyte-Bereich kann der Vorgang mehr als eine Stunde dauern.
-
Sobald der Import abgeschlossen ist, wird der Status Aktiv angezeigt und Sie können die Tabelle verwenden.
Synchronisieren von Tabellen während der Migration
Wenn Sie Schreibvorgänge in der Quelltabelle für die Dauer der Migration unterbrechen können, sollten die Quelle und Ausgabe nach der Migration exakt übereinstimmen. Wenn Sie Schreibvorgänge nicht unterbrechen können, liegt die Zieltabelle nach der Migration normalerweise etwas hinter der Quelltabelle zurück. Um im Vergleich zur Quelltabelle aufzuholen, können Sie mithilfe von Streaming (DynamoDB Streams oder Kinesis Data Streams für DynamoDB) die Schreibvorgänge wiedergeben, die seit dem Backup oder Export in der Quelltabelle stattgefunden haben.
Sie sollten mit dem Lesen der Stream-Datensätze vor dem Zeitstempel beginnen, an dem Sie die Quelltabelle nach S3 exportiert haben. Wenn der Export nach S3 beispielsweise um 14:00 Uhr erfolgte und der Import in die Zieltabelle um 23:00 Uhr abgeschlossen wurde, sollten Sie das Lesen des DynamoDB-Streams um 13:58 Uhr starten. In der Tabelle mit den Streaming-Optionen für die Erfassung von Änderungsdaten sind die Funktionen der einzelnen Streaming-Modelle zusammengefasst.
Die Verwendung von DynamoDB Streams mit Lambda bietet einen optimierten Ansatz für die Synchronisierung von Daten zwischen den DynamoDB-Quell- und -Zieltabellen. Sie können eine Lambda-Funktion verwenden, um jeden Schreibvorgang in der Zieltabelle erneut wiederzugeben.
Anmerkung
Die Elemente werden 24 Stunden lang in DynamoDB Streams aufbewahrt. Planen Sie deshalb, Ihr Backup und die Wiederherstellung oder den Export und Import innerhalb dieses Zeitfensters abzuschließen.