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 facture PITR (en fonction de la taille de la table et de la durée PITR d'activation). Si vous n'en avez pas besoin, PITR sauf pour l'exportation, vous pouvez la 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.

Étape 1 : demander une exportation de table vers Amazon S3

  1. Connectez-vous au AWS Console 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 le compartiment URL du compte de destination en utilisant le s3://bucketname/prefix format. Le préfixe est un dossier facultatif qui permet d'organiser votre compartiment de destination.

  4. Choisissez Exportation complète. Une exportation complète sort l'instantané complet de votre table telle qu'elle était à l'instant spécifié.

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

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

  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.

Étape 2 : demander une importation de table depuis Amazon S3

  1. Connectez-vous au AWS Console 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 la source Amazon S3URL. Vous pouvez également le trouver en utilisant le bouton Parcourir S3 :s3://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 GZIPcelle correspondant à l'exportation.

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

  8. Cliquez sur le bouton Suivant et choisissez les options de la nouvelle table qui sera créée pour stocker vos données.

  9. 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 dans les tables avec le statut Création. La table n'est pas accessible pendant cette période.

  10. Une fois l'importation terminée, le statut sera affiché comme Actif et vous pourrez commencer à utiliser le tableau.

  11. Les petites importations devraient se terminer en quelques minutes, mais les tables de l'ordre du téraoctet peuvent prendre plus d'une heure.

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.