Comment puis-je migrer mes tables DynamoDB d'un compte AWS à un autre ?

Dernière mise à jour : 24/09/2020

Comment puis-je effectuer une migration de table DynamoDB entre comptes ?

Brève description

Vous pouvez utiliser AWS Data Pipeline ou Amazon EMR pour déplacer des tables DynamoDB vers un autre compte AWS. Data Pipeline est la méthode la plus rapide et la plus simple, mais offre moins d'options de personnalisation. Amazon EMR est un meilleur choix pour les utilisateurs ayant plus d'expertise technique qui veulent plus de contrôle sur le processus.

Solution

Data Pipeline

Pour déplacer une table DynamoDB vers un autre compte à l'aide de Data Pipeline, voir Comment puis-je utiliser Data Pipeline pour sauvegarder une table DynamoDB dans un compartiment S3 situé dans un compte différent ?

Remarque : le compte de destination ne peut pas accéder aux données DynamoDB dans le compartiment Amazon Simple Storage Service (Amazon S3). Pour utiliser les données, restaurez dans une table DynamoDB.

Amazon EMR

Lorsque vous utilisez Amazon EMR pour migrer des tables DynamoDB, vous disposez de deux options, selon votre cas d'utilisation :

  • Si vous pouvez vous permettre un temps d'arrêt pendant la migration, arrêtez les opérations d'écriture dans la table source pour vous assurer que la table cible est synchronisée avec la table source.
  • Si vous ne pouvez pas vous permettre un temps d'arrêt, vous devez stocker toutes les transactions qui se produisent au cours de la migration dans une table intermédiaire. Une fois la table d'origine migrée vers l'autre compte AWS, déplacez les nouvelles transactions de la table intermédiaire vers la table cible.

Remarque : le temps requis pour migrer des tables avec Amazon EMR peut varier considérablement en fonction des performances du réseau, du débit provisionné de la table DynamoDB, de la quantité de données stockées dans la table, etc.

Pour migrer une table DynamoDB à l'aide d'Amazon EMR :

  1. Lancez les clusters EMR dans les comptes source et destination. Dans la section Configuration du logiciel assurez-vous de choisir une option qui inclut Apache Hive.
    Remarque : il est recommandé de lancer des clusters Amazon EMR dans des sous-réseaux privés. Les sous-réseaux privés doivent avoir un point de terminaison d'un VPC Amazon S3 et une route vers DynamoDB. Pour plus d'informations, consultez Sous-réseaux privés. Si les clusters doivent accéder à Internet, utilisez une passerelle NAT qui réside dans un sous-réseau public. Pour plus d'informations, consultez VPC avec des sous-réseaux publics et privés (NAT).
  2. Assurez-vous que les rôles EMR_EC2_DefaultRole AWS Identity and Access Management (IAM) dans les deux comptes ont l'autorisation d'écrire dans le compartiment S3 du compte de destination. Pour plus d'informations, voir Configurer les rôles de service IAM pour les autorisations Amazon EMR sur les services et ressources AWS.
  3. Dans le compte source, connectez-vous au nœud maître à l'aide de SSH.
  4. Dans le compte source, utilisez les commandes Hive pour exporter les données de la table DynamoDB vers le compartiment S3 du compte de destination.
  5. Dans le compte de destination, importez les données Amazon S3 dans la nouvelle table DynamoDB.
  6. Si vous utilisez une table intermédiaire pour capturer les écritures qui se sont produites pendant la migration, répétez les étapes 4 et 5 de la table intermédiaire.

Cet article vous a-t-il été utile ?


Besoin d'aide pour une question technique ou de facturation ?