Migrer une table à l'aide de l'exportation vers S3 et de l'importation depuis S3 - Amazon DynamoDB

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Migrer une table à l'aide de l'exportation vers S3 et de l'importation depuis S3

Prérequis

Informations sur les prix

AWS frais pour le PITR (en fonction de la taille de la table et de la durée pendant laquelle le PITR est activé). Si vous n'avez pas besoin du PITR sauf pour l'exportation, vous pouvez le désactiver une fois l'exportation terminée. AWS des frais sont également facturés pour les demandes adressées à S3, pour le stockage des données exportées dans S3 et pour l'importation (en fonction de la taille non compressée des données importées).

Pour plus d'informations sur la tarification de DynamoDB, consultez la section Tarification de DynamoDB.

Note

La taille et le nombre d'objets sont limités lors de l'importation depuis S3 vers DynamoDB. Pour de plus amples informations, veuillez consulter Quotas d'importation.

Demande d'exportation d'une table vers Amazon S3

  1. Connectez-vous à la console AWS de gestion et ouvrez la console DynamoDB.

  2. Dans le panneau de navigation sur le côté gauche de la console, choisissez Exportations vers S3.

  3. Choisissez une table source et un compartiment S3 de destination. Entrez l'URL du compartiment de comptes de destination en utilisant le s3://bucketname/prefix format. /prefixest un dossier facultatif destiné à vous aider à organiser votre compartiment de destination.

  4. Choisissez Exportation complète. Une exportation complète produit l'instantané complet de votre tableau, au moment que vous spécifiez.

    1. Sélectionnez Heure actuelle pour exporter le dernier instantané complet du tableau.

    2. Pour le format de fichier exporté, choisissez entre DynamoDB JSON et Amazon Ion. L'option par défaut est DynamoDB JSON.

  5. Cliquez sur le bouton Export (Exporter) pour commencer l'exportation.

  6. Les exportations de petites tables devraient être terminées en quelques minutes, mais les tables de l'ordre du téraoctet peuvent prendre plus d'une heure.

Demande d'importation d'une table depuis Amazon S3

  1. Connectez-vous à la console AWS de gestion et ouvrez la console DynamoDB.

  2. Dans le panneau de navigation sur le côté gauche de la console, choisissez Importer depuis S3.

  3. Sur la page qui s'affiche, sélectionnez Import from S3 (Importer depuis S3).

  4. Entrez l'URL source d'Amazon S3. Vous pouvez également le trouver en utilisant le bouton Parcourir S3. Le chemin attendu est au formats3://bucket/prefix/AWSDynamoDB/<XXXXXXXX-XXXXXX>/data/.

  5. Spécifiez si vou s êtes lePropriétaire du compartiment S3.

  6. Sous Compression de fichier d'importation, sélectionnez GZIP pour qu'il corresponde à l'exportation.

  7. Sous Format de fichier d'importation, sélectionnez DynamoDB JSON pour qu'il corresponde à l'exportation.

  8. Sélectionnez Suivant. Pour Spécifier les détails de la table, choisissez les options de la nouvelle table qui sera créée pour stocker vos données.

  9. Sélectionnez Suivant. Pour Configurer les paramètres du tableau, personnalisez les paramètres supplémentaires du tableau, le cas échéant.

  10. Sélectionnez à nouveau Next (Suivant) pour vérifier vos options d'importation, puis cliquez sur Import (Importer) pour commencer la tâche d'importation. Vous verrez votre nouvelle table répertoriée sous Imports depuis S3 avec le statut Importation. Vous ne pouvez pas accéder à votre table pendant cette période. Les petites importations devraient être effectuées en quelques minutes, mais les tables de l'ordre du téraoctet peuvent prendre plus d'une heure.

  11. Une fois l'importation terminée, le statut apparaît comme Actif et vous pouvez commencer à utiliser le tableau.

Synchronisation des tables pendant la migration

Si vous pouvez suspendre les opérations d'écriture sur la table source pendant la durée de la migration, la source et la sortie devraient correspondre exactement après la migration. Si vous ne pouvez pas suspendre les opérations d'écriture, la table cible sera normalement légèrement en retard par rapport à la source après la migration. Pour récupérer la table source, vous pouvez utiliser le streaming (DynamoDB Streams ou Kinesis Data Streams for DynamoDB) pour rejouer les écritures effectuées dans la table source depuis la sauvegarde ou l'exportation.

Vous devez commencer à lire les enregistrements du flux avant l'horodatage lorsque vous avez exporté la table source vers S3. Par exemple, si l'exportation vers S3 a eu lieu à 14 h 00 et que l'importation vers la table cible s'est terminée à 23 h 00, vous devez lancer la lecture du flux DynamoDB à 13 h 58. Le tableau des options de streaming pour la capture des données de modification résume les fonctionnalités de chaque modèle de streaming.

L'utilisation de DynamoDB Streams avec Lambda offre une approche rationalisée pour synchroniser les données entre les tables DynamoDB source et cible. Vous pouvez utiliser une fonction Lambda pour rejouer chaque écriture dans la table cible.

Note

Les éléments sont conservés dans les DynamoDB Streams pendant 24 heures. Vous devez donc prévoir de terminer votre sauvegarde et votre restauration ou d'exportation et d'importation dans cette fenêtre.