Migration d’une table à l’aide de l’exportation vers S3 et de l’importation depuis S3 - Amazon DynamoDB

Migration d’une table à l’aide de l’exportation vers S3 et de l’importation depuis S3

Prérequis

Informations sur la tarification

Frais AWS pour la PITR (en fonction de la taille de la table et de la durée pendant laquelle la PITR est activée). Si vous n’avez pas besoin de la PITR sauf pour l’exportation, vous pouvez la désactiver une fois l’exportation terminée. AWS facture également 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 DynamoDB, consultez Tarification de DynamoDB.

Note

La taille et le nombre d’objets sont limités lors de l’importation depuis S3 vers DynamoDB. Pour en savoir plus, consultez Quotas d’importation.

Demande d’une exportation de table vers Amazon S3

  1. Connectez-vous à Gestion de la console AWS 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. Saisissez l’URL du compartiment du compte de destination avec le format s3://bucketname/prefix. /prefix est un dossier facultatif qui vous permet de garder votre compartiment de destination organisé.

  4. Choisissez Exportation complète. Une exportation complète sort l’instantané complet de votre table telle qu’elle était au moment spécifié.

    1. Sélectionnez Heure actuelle pour exporter le dernier instantané complet de la table.

    2. Pour Format de fichier exporté, choisissez entre JSON DynamoDB 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 s’achever en quelques minutes, mais elles peuvent durer plus d’une heure pour les tables de l’ordre du téraoctet.

Demande d’importation de table à partir d’Amazon S3

  1. Connectez-vous à Gestion de la console AWS 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 d’accès possède le format 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 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 de la table, personnalisez les paramètres de table supplémentaires, 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 Importations depuis S3 avec le statut Importation. Vous ne pouvez pas accéder à votre table pendant cette période. Les petites importations devraient s’achever en quelques minutes, mais elles peuvent durer plus d’une heure pour les tables de l’ordre du téraoctet.

  11. Une fois l’importation terminée, le statut indique Actif et vous pouvez commencer à utiliser la table.

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 doivent 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 pour 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 après avoir 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écapitule 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 DynamoDB Streams pendant 24 heures. Vous devez donc prévoir de terminer votre sauvegarde et la restauration ou l’exportation et l’importation dans cette fenêtre.