Complete a 3 Question Survey and Earn a re:Post Badge
Help improve AWS Support Official channel in re:Post and share your experience - complete a quick three-question survey to earn a re:Post badge!
Wie kann ich meine DynamoDB-Tabellen von einem AWS-Konto auf ein anderes migrieren?
Ich möchte Daten in meiner Amazon DynamoDB-Tabelle in eine neue Tabelle in einem anderen Konto im selben oder einem anderen Konto kopieren
Kurzbeschreibung
Du hast mehrere Methoden, mit denen du Daten aus einer DynamoDB-Tabelle in einem AWS-Konto auf ein anderes übertragen können. Die beste Wahl kann von mehreren Faktoren abhängen, darunter dem Datenvolumen, der Notwendigkeit von Aktualisierungen in Echtzeit und der Komplexität von Datentransformationen.
Um DynamoDB-Tabellen von einem AWS-Konto auf ein anderes zu migrieren, wähle eine der folgenden Optionen:
- AWS Backup
- DynamoDB-Export nach Amazon Simple Storage Service (Amazon S3) und Import
- Amazon EMR
- AWS-Datenpipeline
- Amazon S3 und AWS Glue
- Benutzerdefiniertes Export- und Import-Skript
Lösung
Führe je nach Anwendungsfall die folgenden Aufgaben aus.
AWS Backup
Für AWS-Quell- und Zielkonten in derselben AWS Organizations-Organisation kann AWS Backup regionsübergreifende und kontoübergreifende DynamoDB-Datenübertragungen durchführen. Weitere Informationen findest du unter Erstellen von Sicherungskopien für mehrere AWS-Konten.
Führe im Zielkonto die folgenden Schritte aus:
- Erstelle einen AWS-Backup-Tresor im Zielkonto in der AWS-Region, in der Ihre DynamoDB präsent ist. Verwende beim Erstellen des Tresors den AWS Key Management Service (AWS KMS)-Schlüssel, den du konfiguriert hast. Dies ist der Schlüssel, der mit dem Quellkonto in derselben Organisation geteilt wurde.
- Füge dem Tresor eine AWS Identity and Access Management (IAM)-Richtlinie hinzu, mit der du Backups im Tresor erstellen kannst. Wähle dazu die Option Zugriff auf einen Backup-Tresor der Organisation zulassen aus. Dadurch können andere Konten innerhalb derselben Organisation in den Tresor kopiert werden.
Führe im Quellkonto die folgenden Aufgaben aus:
- Erstelle einen AWS Backup-Tresor in der Region, in die du die Tabellendaten migrieren musst. Verwende beim Erstellen des Tresors den AWS-KMS-Schlüssel, den du bereits konfiguriert hast. Dies ist der Schlüssel, der mit anderen Konten in der Organisation geteilt wurde.
- Füge dem Tresor eine IAM-Richtlinie hinzu, die es anderen Konten in der Organisation ermöglicht, in den Tresor zu kopieren. Wähle dazu die Option Zugriff auf einen Backup-Tresor der Organisation zulassen aus.
- Erstelle einen Backup-Plan, um Backups der DynamoDB-Tabellen im Quellkonto für das Zielkonto zu erstellen. Wähle für den Backup-Tresor den Tresor aus, den du im Quellkonto erstellt hast.
- Wähle die Option In den Tresor eines anderen Kontos kopieren aus.
- Wähle für Ressourcen zuweisen die Option Bestimmte Ressourcentypen einbeziehen, um die Ressourcen einzubeziehen, die du sichern musst.
- Wähle für Ausgewählte Ressourcentypen wählen die Option DynamoDB aus. Wähle dann alle Tabellen oder nur die Tabellen aus, die du sichern musst.
Gehe wie folgt vor, um die Konfiguration zu überprüfen und eine Tabelle wiederherzustellen:
- Navigiere im Zielkonto zu dem Tresor, den du erstellt hast. Du kannst sehen, dass die Wiederherstellungspunkte dieselben sind wie im Quellkonto.
- DynamoDB-Tabelle im Zielkonto wiederherstellen.
Hinweis: Diese Option wird nur für Konten unterstützt, die Teil derselben AWS-Organisation sind.
DynamoDB-Export nach Amazon S3 und Import
Verwende die Funktion DynamoDB-Export nach Amazon S3, um Daten aus einer Amazon DynamoDB-Tabelle zu einem beliebigen Zeitpunkt innerhalb des Point-in-Time-Wiederherstellungsfensters zu exportieren. Ein Beispiel für die Verwendung dieser Funktion findest du unter Amazon DynamoDB-Tabellendaten in den Data Lake in Amazon S3 exportieren, ohne dass Code geschrieben werden muss.
Gehe wie folgt vor, um die Funktion DynamoDB-Export nach Amazon S3 zu verwenden:
- Migriere die DynamoDB-Tabellendaten, indem du die Tabelle in einen Amazon S3-Bucket im Zielkonto exportierst.
Hinweis: DynamoDB muss über s3:ListBucket-Berechtigungen für diesen S3-Bucket verfügen. Der S3-Bucket kann keine Zugriffskontrolllisten enthalten, die den Zugriff auf die exportierten Daten verweigern. - Importiere die Daten aus dem S3-Bucket in eine neue Tabelle im Zielkonto.
Hinweis: Für diese Option musst du AWS Data Pipeline, kontoübergreifende Berechtigungen und IAM-Rollen einrichten und verwalten.
Amazon EMR
Verwende eine der folgenden Methoden, um Amazon EMR zum Exportieren der Daten in einen S3-Bucket zu verwenden:
- Verwende DynamoDBStorageHandler, um Hive- oder Spark-Abfragen für DynamoDB-Tabellen auszuführen. Weitere Informationen findest du unter Exportieren von Daten aus DynamoDB.
- Verwende das Open-Source-Tool emr-dynamodb-tool auf GitHub, um DynamoDB-Tabellen zu exportieren/importieren.
Gehe wie folgt vor, um Amazon EMR für die Migration einer DynamoDB-Tabelle zu verwenden:
- Starte EMR-Cluster sowohl im Quell- als auch im Zielkonto. Wähle Abschnitt Softwarekonfiguration eine Option aus, die Apache Hive beinhaltet.
Hinweis: Es ist eine bewährte Methode, Amazon-EMR-Cluster in privaten Subnetzen zu starten. Die privaten Subnetze müssen über einen Amazon-S3-VPC-Endpunkt und eine Route zu DynamoDB verfügen. Wenn die Cluster auf das Internet zugreifen müssen, verwende ein NAT-Gateway, dass sich in einem öffentlichen Subnetz befindet. Weitere Informationen findest du unter VPC mit Servern in privaten Subnetzen und NAT. - Aktualisiere die IAM-Rollen EMR_EC2_DefaultRole in beiden Konten, damit du die Berechtigung hast, in den S3-Bucket des Zielkontos zu schreiben. Weitere Informationen findest du unter Konfigurieren von IAM-Servicerollen für Amazon-EMR-Berechtigungen für AWS-Services und -Ressourcen.
- Verwende im Quellkonto SSH, um eine Verbindung zum Leader-Knoten herzustellen.
- Verwende im Quellkonto Hive-Befehle um die DynamoDB-Tabellendaten in den S3-Bucket im Zielkonto zu exportieren.
- Importiere im Zielkonto die Amazon S3-Daten in die neue DynamoDB-Tabelle.
Hinweis: Wenn du eine Staging-Tabelle verwendest, um Schreibvorgänge zu erfassen, die während der Migration stattgefunden haben, wiederhole die Schritte 3 und 4 in der Staging-Tabelle.
Um Ausfallzeiten zu verringern, kannst du alle Transaktionen, die während der Migration auftreten, in einer Staging-Tabelle speichern. Nachdem die Quelltabelle auf das andere Zielkonto migriert wurde, übertrage die neuen Transaktionen von der Staging-Tabelle in die Zieltabelle.
Die Zeit, die für die Migration von Tabellen mit Amazon EMR benötigt wird, kann unterschiedlich sein. Die Zeit hängt von der bereitgestellten Durchsatz-Netzwerkleistung der DynamoDB-Tabelle und der Menge der in der Tabelle gespeicherten Daten ab.
Hinweis: Für diese Option musst du einen EMR-Cluster erstellen und verwalten.
AWS-Datenpipeline
Verwende AWS Data Pipeline, um Daten aus einer DynamoDB-Tabelle in eine Datei in einem Amazon S3-Bucket zu exportieren. Mit dieser Option werden verwaltete Hadoop-Cluster in Amazon EMR ausgeführt, um Lese- und Schreibvorgänge zwischen DynamoDB und Amazon S3 durchzuführen.
Hinweis: Für diese Option musst du AWS Data Pipeline, kontoübergreifende Berechtigungen und IAM-Rollen einrichten und verwalten.
Amazon S3 und AWS Glue
AWS Glue ETL-Jobs unterstützen das Lesen von Daten aus der DynamoDB-Tabelle eines anderen Kontos und das Schreiben von Daten in die DynamoDB-Tabelle eines anderen Kontos. Verwende den Parameter dynamodb.sts.roleArn, um eine kontoübergreifende Rolle im Job-Skript anzunehmen. Wenn du die Rolle übernimmst, erhältst du temporäre Anmeldeinformationen, die für den kontoübergreifenden Zugriff auf DynamoDB verwendet werden müssen. Weitere Informationen findest du unter Konto- und regionsübergreifender Zugriff auf DynamoDB-Tabellen und So exportierst du eine Amazon-DynamoDB-Tabelle mit AWS Step Functions und AWS Glue nach Amazon S3.
Hinweis: Diese Option erfordert eine umfangreiche Nutzung von Spark und die Pflege des Quellcodes für Ihren AWS Glue-ETL-Job. Weitere Informationen findest du unter DynamoDB-Verbindungen.
Benutzerdefiniertes Export- und Import-Skript
Für kleinere Datensätze mit etwa 2 GB oder für einmalige Übertragungen kannst du einen manuellen Export- und Importvorgang verwenden. Du kannst beispielsweise einen C#-Code verwenden, der DynamoDB-Scanvorgänge verwendet, um Elemente aus der Quelltabelle zu lesen. Anschließend verwendet der Code BatchWriteItem-API-Aufrufe, um die Daten in eine Zieltabelle im Zielkonto zu schreiben.
Hinweis: Dieser Vorgang kann bei großen Datensätzen zeitaufwändig sein und erfordert benutzerdefiniertes Scripting. Für die IAM-Entität, die das Skript ausführt, musst du den kontoübergreifenden S3-Zugriff konfigurieren.
Ähnliche Informationen
Wie kann ich meine Amazon-DynamoDB-Tabellen von einem AWS-Konto auf ein anderes migrieren?
Ähnliche Videos


Relevanter Inhalt
- AWS OFFICIALAktualisiert vor 2 Jahren
- AWS OFFICIALAktualisiert vor 8 Monaten
- AWS OFFICIALAktualisiert vor 2 Jahren
- AWS OFFICIALAktualisiert vor 3 Jahren