Manuel de migration vers Amazon DocumentDB - Amazon DocumentDB

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.

Manuel de migration vers Amazon DocumentDB

Ce runbook fournit un guide complet pour la migration d'une base de données MongoDB vers Amazon DocumentDB à l'aide de (DMS). AWS Database Migration Service Il est conçu pour aider les administrateurs de bases de données, les ingénieurs cloud et les développeurs tout au long du processus de end-to-end migration, de la découverte initiale à la validation après la migration.

Compte tenu des différences d'implémentation et de fonctionnalités prises en charge entre MongoDB et Amazon DocumentDB, ce runbook met l'accent sur une approche structurée et systématique. Il décrit les principales évaluations préalables à la migration, met en évidence les considérations relatives à la compatibilité et détaille les principales tâches requises pour garantir une migration réussie avec un minimum de perturbations.

Le runbook est organisé selon les rubriques suivantes :

  • Compatibilité— Découvrez les fonctionnalités et les types de données MongoDB pris en charge dans Amazon DocumentDB, et identifiez les incompatibilités potentielles.

  • Découverte de la charge— Analysez les charges de travail MongoDB existantes, y compris les read/write modèles, les volumes de données et les niveaux de performance de référence.

  • Migration d'index— Analysez les stratégies d'extraction et de transformation des index MongoDB pour des performances optimales dans Amazon DocumentDB.

  • Migration d'utilisateur— Détaillez l'approche de migration des utilisateurs, des rôles et des contrôles d'accès de la base de données vers Amazon DocumentDB.

  • Migrations des données— Couvrir les différentes méthodes utilisées pour la migration des données AWS DMS, notamment le chargement complet et la capture des données modifiées (CDC).

  • Surveillance— Détaillez les différentes approches de surveillance lors de la migration à l'aide d'un DMS ou d'outils natifs.

  • Validation— Fournir des procédures pour les contrôles d'intégrité des données, la validation fonctionnelle et la comparaison des performances après la migration.

En suivant les instructions de ce manuel, les équipes peuvent garantir une transition fluide, sécurisée et efficace vers Amazon DocumentDB, tout en préservant les fonctionnalités des applications et en minimisant les risques.

Compatibilité

Lors de la migration de MongoDB vers Amazon DocumentDB, une évaluation initiale approfondie et un contrôle de compatibilité des fonctionnalités sont essentiels pour une migration réussie. Ce processus commence par un inventaire complet de vos fonctionnalités MongoDB, y compris les opérateurs de pipeline d'agrégation, les modèles de requêtes, les index et les modèles de données.

Amazon DocumentDB étant compatible avec les API MongoDB 3.6, 4.0 et 5.0, les applications utilisant de nouvelles fonctionnalités spécifiques à MongoDB peuvent nécessiter une refactorisation. Les domaines critiques à évaluer incluent les mécanismes de partitionnement (Amazon DocumentDB utilise une approche différente), les implémentations de transactions, les fonctionnalités des flux de modifications et les types d'index (en particulier les index épars et partiels).

Les caractéristiques de performance diffèrent également, Amazon DocumentDB étant optimisé pour les charges de travail d'entreprise avec des performances prévisibles. Les tests doivent impliquer l'exécution de charges de travail représentatives sur les deux systèmes afin d'identifier les modèles de requêtes susceptibles de nécessiter une optimisation.

Le suivi des plans d'exécution pour détecter les écarts de performance potentiels est important pendant la phase d'évaluation. Cela permet de créer une feuille de route de migration claire, d'identifier les modifications nécessaires aux applications et d'établir des délais réalistes pour une transition en douceur.

Compatibilité avec les fonctionnalités de base

Support complet des fonctionnalités

  • Opérations CRUD : bénéficiez d'une prise en charge complète de toutes les opérations de base de création, de lecture, de mise à jour et de suppression, y compris les opérateurs de requêtes et de blocs, ce qui garantit une compatibilité parfaite entre les applications.

  • Fonctionnalités d'indexation étendues — Tirez parti de la prise en charge complète des index à champ unique, composés, TTL, partiels, épars et à deux sphères, afin d'optimiser les performances de vos requêtes et les index de texte (version 5) pour les recherches basées sur du texte.

  • Réplication à l'échelle de l'entreprise : bénéficiez d'un mécanisme de basculement automatique robuste avec des répliques en lecture pour une haute disponibilité supérieure sans frais d'exploitation.

  • Solutions de sauvegarde avancées — Ayez l'esprit tranquille grâce au système de sauvegarde automatique doté de fonctions de Point-in-Time restauration (PITR) et de snapshots manuels à la demande pour la protection des données.

AWS Fonctionnalités intégrées améliorées

  • Agrégation rationalisée — Tirez parti des étapes d'agrégation les plus couramment utilisées ($match,$group,, $sort$project, etc.) avec des performances optimisées pour les charges de travail des entreprises.

  • Assistance aux transactions — Mettez en œuvre des transactions comportant plusieurs documents et plusieurs collections, ce qui est parfait pour répondre à la plupart des besoins des applications commerciales.

  • Suivi des données en temps réel : activez les flux de modifications à l'aide d'une simple commande et augmentez la durée de rétention des flux de modifications grâce à un simple réglage de groupe de paramètres pour une surveillance en temps réel des modifications des données.

  • Services basés sur la localisation : implémentez des applications géospatiales prenant en charge les index des $geoNear opérateurs et des index 2dsphere.

  • Capacités de recherche de texte : utilisez la fonctionnalité de recherche de texte intégrée pour les besoins de découverte de contenu.

Les avantages de l'architecture moderne

  • Conception native pour le cloud : profitez d'une architecture AWS optimisée qui remplace les fonctionnalités existantes, telles que des opérations de pipeline MapReduce d'agrégation plus efficaces.

  • Sécurité améliorée — Bénéficiez de l'authentification par certificat AWS Identity and Access Management (IAM), SCRAM-SHA-1, SCRAM-SHA-256, X.509 et de l'authentification par mot de passe.

  • Performances prévisibles : bénéficiez de performances constantes optimisées spécifiquement pour les charges de travail des entreprises.

Pour une présentation complète des fonctionnalités d'Amazon DocumentDB, reportez-vous à la section MongoDB APIs, opérations et types de données pris en charge dans Amazon DocumentDB et Différences fonctionnelles : Amazon DocumentDB et MongoDB pour optimiser le potentiel de votre base de données.

Amazon DocumentDB ne prend pas en charge tous les index proposés par MongoDB. Nous fournissons un outil d'indexation gratuit pour vérifier la compatibilité. Nous vous recommandons d'exécuter l'outil d'indexation pour évaluer les incompatibilités et planifier des solutions de contournement en conséquence.

Outil d'évaluation de compatibilité Amazon DocumentDB

L'outil de compatibilité MongoDB vers Amazon DocumentDB est un utilitaire open source disponible sur Amazon DocumentDB GitHub qui permet d'évaluer la compatibilité de la charge de travail MongoDB avec Amazon DocumentDB en analysant les journaux MongoDB ou le code source de l'application.

Fonctions principales

  • Identifie les modèles d'utilisation de l'API MongoDB dans votre charge de travail

  • Signale les problèmes de compatibilité potentiels avant la migration

  • Génère des rapports de compatibilité détaillés avec des recommandations

  • Disponible en tant qu'utilitaire autonome pouvant être exécuté localement

Méthodes d'évaluation

Évaluation basée sur les journaux

  • Avantages :

    • Capture le comportement d'exécution réel et les modèles de requête

    • Identifie les fréquences d'utilisation réelles et les caractéristiques de performance

    • Détecte les requêtes dynamiques susceptibles de ne pas être visibles dans le code source

    • Aucun accès au code source de l'application n'est requis

  • Inconvénients :

    • Nécessite un accès aux journaux MongoDB avec le profilage activé

    • Capture uniquement les opérations survenues pendant la période de journalisation

    • Peut manquer des fonctionnalités peu utilisées ou des charges de travail saisonnières

Analyse du code source

  • Avantages :

    • Couverture complète de toutes les opérations MongoDB potentielles dans la base de code

    • Peut identifier les problèmes dans les chemins de code rarement exécutés

    • Détecte la logique côté client susceptible d'être affectée par les différences d'Amazon DocumentDB

    • Il n'est pas nécessaire d'exécuter l'application pour effectuer une évaluation

  • Inconvénients :

    • Peut signaler un code qui existe mais qui n'est jamais exécuté en production

    • Nécessite l'accès au code source complet de l'application

    • Capacité limitée à analyser des requêtes construites dynamiquement

Pour de meilleurs résultats, nous recommandons d'utiliser les deux méthodes d'évaluation dans la mesure du possible afin d'obtenir une image complète des problèmes de compatibilité avant la migration.

Découverte de la charge

La migration de MongoDB vers Amazon DocumentDB nécessite une connaissance approfondie de la charge de travail de base de données existante. La découverte de la charge de travail consiste à analyser les modèles d'utilisation de votre base de données, les structures de données, les performances des requêtes et les dépendances opérationnelles afin de garantir une transition fluide avec un minimum de perturbations. Cette section décrit les principales étapes de la découverte de la charge de travail afin de faciliter une migration efficace de MongoDB vers Amazon DocumentDB.

Évaluation du déploiement MongoDB existant

Avant la migration, il est essentiel d'évaluer l'environnement MongoDB actuel, notamment :

  • Architecture du cluster : identifiez le nombre de nœuds, d'ensembles de répliques et de configurations de partitionnement. Lors de la migration de MongoDB vers Amazon DocumentDB, il est important de comprendre votre configuration de partitionnement MongoDB, car Amazon DocumentDB ne prend pas en charge le sharding contrôlé par l'utilisateur. Les applications conçues pour un environnement MongoDB fragmenté nécessiteront des modifications architecturales, car Amazon DocumentDB utilise une approche de dimensionnement différente avec son architecture basée sur le stockage. Vous devrez adapter votre stratégie de distribution des données et éventuellement consolider les collections fragmentées lors de la migration vers Amazon DocumentDB.

  • Stockage et volume de données : mesurez la taille totale des données et la taille de l'index de votre cluster. Complétez cela avec l'outil de révision Oplog pour comprendre les modèles d'écriture et la vitesse de croissance des données. Pour plus d'informations sur le dimensionnement de votre cluster, consultezDimensionnement de l'instance.

  • Modèles de charge de travail : analysez le débit de lecture et d'écriture, la fréquence d'exécution des requêtes et l'efficacité de l'indexation.

  • Dépendances opérationnelles — Documentez toutes les applications, tous les services et toutes les intégrations qui s'appuient sur MongoDB.

Identifier les différences entre les modèles de données

Bien qu'Amazon DocumentDB soit compatible avec MongoDB, il existe des différences dans les fonctionnalités prises en charge, telles que :

  • Transactions — Amazon DocumentDB prend en charge les transactions ACID, mais avec certaines d'entre elles. Limites

  • Conception du schéma : assurez-vous que les structures des documents, les documents intégrés et les références sont conformes aux meilleures pratiques d'Amazon DocumentDB.

Analyse des requêtes et des performances

Comprendre le comportement des requêtes permet d'optimiser les performances de migration et de post-migration. Les principaux domaines à analyser sont les suivants :

  • Requêtes lentes : identifiez les requêtes dont le temps d'exécution est élevé à l'aide des outils de profilage de MongoDB.

  • Modèles de requêtes : catégorisez les types de requêtes courants, y compris les opérations CRUD et les agrégations.

  • Utilisation des index : déterminez si les index sont utilisés efficacement ou s'ils ont besoin d'être optimisés dans Amazon DocumentDB. Pour évaluer l'utilisation de l'index et optimiser les performances dans Amazon DocumentDB, utilisez l'étape du pipeline d'$indexStatsagrégation associée à la explain() méthode pour vos requêtes critiques. Commencez par exécuter db.collection.aggregate([{$indexStats{}}]) pour identifier les index utilisés. Vous pouvez effectuer une analyse plus détaillée en exécutant vos requêtes les plus fréquentes avecexplainPlan.

  • Concurrence et répartition de la charge de travail : évaluez les ratios de lecture et d'écriture, le regroupement des connexions et les problèmes de performance.

Examen de la sécurité et du contrôle d'accès

Authentification et autorisation

  • MongoDB RBAC vers Amazon DocumentDB IAM et RBAC — Mappez les utilisateurs et les rôles de contrôle d'accès basés sur les rôles de MongoDB aux politiques ( AWS Identity and Access Management IAM) et aux utilisateurs d'authentification SCRAM d'Amazon DocumentDB.

  • Stratégie de migration des utilisateurs : planifiez la migration des utilisateurs de la base de données, des rôles personnalisés et des privilèges vers les mécanismes d'authentification pris en charge par Amazon DocumentDB.

  • Différences de privilèges : identifiez les privilèges MongoDB sans les équivalents directs d'Amazon DocumentDB (par exemple, les rôles d'administration du cluster).

  • Authentification des applications : mettez à jour les chaînes de connexion et la gestion des informations d'identification pour les politiques de mot de passe d'Amazon DocumentDB. Vous pouvez utiliser le gestionnaire de secrets pour stocker vos informations d'identification et alterner les mots de passe.

  • Gestion des comptes de service — Établissez des processus de gestion des informations d'identification des comptes de service dans AWS Secrets Manager.

  • Implémentation du moindre privilège — Passez en revue et affinez les contrôles d'accès afin de mettre en œuvre les principes du moindre privilège dans le nouvel environnement.

Chiffrement

Assurez-vous que le chiffrement au repos et en transit est conforme aux exigences de conformité.

Configuration réseau

Planifiez la configuration du Virtual Private Cloud (VPC) et les règles du groupe de sécurité.

Considérations relatives au fonctionnement et à la surveillance

Pour garantir la fiabilité du système, la découverte de la charge de travail doit également inclure :

  • Stratégie de sauvegarde et de restauration : évaluez les méthodes de sauvegarde existantes et les fonctionnalités de sauvegarde d'Amazon DocumentDB.

  • AWS Backup intégration — Tirez parti AWS Backup de la gestion centralisée des sauvegardes sur l'ensemble des AWS services, notamment Amazon DocumentDB.

  • CloudWatch métriques — Mappez les métriques de surveillance MongoDB aux métriques Amazon CloudWatch DocumentDB pour le processeur, la mémoire, les connexions et le stockage.

  • Informations sur les performances : implémentez Amazon DocumentDB Performance Insights pour visualiser le chargement de la base de données et analyser les problèmes de performances grâce à des analyses de requêtes détaillées.

  • Profileur : configurez le profileur Amazon DocumentDB pour capturer les opérations lentes (similaire au profileur de MongoDB mais avec des paramètres spécifiques à Amazon DocumentDB).

    • Activez via des groupes de paramètres avec des seuils appropriés.

    • Analyser les données du profileur pour identifier les opportunités d'optimisation

  • CloudWatch Événements — Configurez la surveillance pilotée par les événements pour les événements du cluster Amazon DocumentDB.

    • Configurez les notifications pour les événements de sauvegarde, les fenêtres de maintenance et les basculements.

    • Intégrez Amazon SNS pour les alertes et les réponses AWS Lambda automatisées.

  • Journalisation des audits : planifiez la configuration de la journalisation des audits afin de suivre l'activité des utilisateurs et les événements liés à la sécurité.

  • Surveillance améliorée — Activez une surveillance améliorée des mesures granulaires au niveau du système d'exploitation à intervalles d'une seconde.

Migration d'index

La migration de MongoDB vers Amazon DocumentDB implique le transfert non seulement de données, mais également d'index afin de maintenir les performances des requêtes et d'optimiser les opérations de base de données. Cette section décrit le step-by-step processus détaillé de migration des index de MongoDB vers Amazon DocumentDB tout en garantissant la compatibilité et l'efficacité.

Utilisation de l'outil d'indexation Amazon DocumentDB

Cloner l'outil d'indexation

git clone https://github.com/aws-samples/amazon-documentdb-tools.git cd amazon-documentdb-tools/index-tool
pip install -r requirements.txt

Exporter des index depuis MongoDB (en cas de migration depuis MongoDB)

python3 migrationtools/documentdb_index_tool.py --dump-indexes --dir mongodb_index_export --uri 'mongodb://localhost:27017'

Exporter des index depuis Amazon DocumentDB (en cas de migration depuis Amazon DocumentDB)

python3 migrationtools/documentdb_index_tool.py --dump-indexes --dir docdb_index_export --uri 'mongodb://user:password@mydocdb.cluster-cdtjj00yfi95.eu-west- 2.docdb.amazonaws.com:27017/?tls=true&tlsCAFile=rds-combined-ca- bundle.pem&replicaSet=rs0&retryWrites=false'

Indexes d'importation

python3 migrationtools/documentdb_index_tool.py --restore-indexes --skip-incompatible --dir mongodb_index_export --uri 'mongodb://user:password@mydocdb.cluster-cdtjj00yfi95.eu-west- 2.docdb.amazonaws.com:27017/?tls=true&tlsCAFile=rds-combined-ca- bundle.pem&replicaSet=rs0&retryWrites=false'

Vérifier les index

python3 migrationtools/documentdb_index_tool.py --show-issues --dir mongodb_index_export

Migration d'utilisateur

La migration des utilisateurs de MongoDB vers Amazon DocumentDB est essentielle pour garantir le contrôle d'accès, l'authentification et la sécurité des bases de données. Cette section décrit les étapes détaillées pour réussir la migration des utilisateurs de MongoDB tout en préservant leurs rôles et leurs autorisations à l'aide de l'outil utilisateur d'exportation Amazon DocumentDB.

Utilisation de l'outil d'exportation pour les utilisateurs d'Amazon DocumentDB

Les utilisateurs et les rôles sont Export Users toolexportés depuis MongoDB ou Amazon DocumentDB JavaScript vers des fichiers, qui peuvent ensuite être utilisés pour les recréer dans un autre cluster.

Prérequis

# Clone the repository git clone https://github.com/awslabs/amazon-documentdb-tools.git cd amazon-documentdb-tools/migration/export-users
# Install required dependencies pip install pymongo

Étape 1 : Exporter les utilisateurs et les rôles

# Export users and roles to JavaScript files python3 docdbExportUsers.py \ --users-file mongodb-users.js \ --roles-file mongodb-roles.js \ --uri "mongodb://admin:password@source-host:27017/"

Étape 2 : Modifier le fichier utilisateur

// Example of how to update the users.js file // Find each user creation statement and add the password db.getSiblingDB("admin").createUser({ user: "appuser", // Add password here pwd: "newpassword", roles: [ { role: "readWrite", db: "mydb" } ] })

Étape 3 : restauration des rôles personnalisés sur Amazon DocumentDB

# Import roles first mongo --ssl \ --host target-host:27017 \ --sslCAFile rds-combined-ca-bundle.pem \ --username admin \ --password password \ mongodb-roles.js

Étape 4 : restaurer les utilisateurs sur Amazon DocumentDB

# Import users after roles are created mongo --ssl \ --host target-host:27017 \ --sslCAFile rds-combined-ca-bundle.pem \ --username admin \ --password password \ mongodb-users.js

Remarques importantes

  • Les mots de passe ne sont pas exportés pour des raisons de sécurité et doivent être ajoutés manuellement au fichier users.js.

  • Les rôles doivent être importés avant les utilisateurs afin de garantir une attribution correcte des rôles.

  • L'outil génère JavaScript des fichiers qui peuvent être exécutés directement avec le shell mongo.

  • Les rôles personnalisés et leurs privilèges sont préservés pendant la migration.

  • Cette approche permet de revoir et de modifier les autorisations des utilisateurs avant l'importation.

Cette méthode fournit une approche sécurisée et flexible pour la migration des utilisateurs et des rôles de MongoDB vers Amazon DocumentDB tout en permettant la réinitialisation des mots de passe pendant le processus de migration.

Migrations des données

Migration en ligne

Cette section fournit des étapes détaillées pour effectuer une migration en ligne de MongoDB vers Amazon DocumentDB en minimisant les temps d'arrêt et AWS DMS en garantissant une réplication continue. Pour commencer, vous configurez un cluster Amazon DocumentDB comme cible et vous vous assurez que votre instance MongoDB est correctement configurée en tant que source, ce qui nécessite généralement le mode Replica Set pour la capture des données de modification. Ensuite, vous créez une instance de réplication DMS et définissez les points de terminaison source et cible avec les détails de connexion nécessaires. Après avoir validé les points de terminaison, vous configurez et lancez une tâche de migration qui peut inclure le chargement complet des données, la réplication continue, ou les deux.

Configurer la cible (Amazon DocumentDB)

Note

Si vous avez déjà provisionné un cluster Amazon DocumentDB vers lequel effectuer la migration, vous pouvez ignorer cette étape.

Création d'un groupe de paramètres personnalisé

Consultez les AWS CLI procédures AWS Management Console ou dansCréation de groupes de paramètres de cluster Amazon DocumentDB.

Création d'un cluster Amazon DocumentDB

Note

Bien qu'il existe d'autres procédures pour créer un cluster Amazon DocumentDB dans ce guide, les étapes de cette section s'appliquent spécifiquement à la tâche de migration de grandes quantités de données vers un nouveau cluster.

  1. Connectez-vous à la AWS Management Console console Amazon DocumentDB et ouvrez-la à https://console.aws.amazon.com l'adresse /docdb.

  2. Dans le panneau de navigation, choisissez Clusters.

    Astuce

    Si vous ne voyez pas le volet de navigation sur le côté gauche de votre écran, choisissez l'icône de menu (Hamburger menu icon with three horizontal lines.) dans le coin supérieur gauche de la page.

  3. Sur la console de gestion Amazon DocumentDB, sous Clusters, choisissez Create.

  4. Sur la page Créer un cluster Amazon DocumentDB, dans la section Type de cluster, sélectionnez Cluster basé sur une instance (il s'agit de l'option par défaut).

  5. Dans la section Configuration du cluster :

    • Dans le champ Identifiant du cluster, entrez un nom unique, tel quemydocdbcluster. Notez que la console remplacera tous les noms de cluster en minuscules, quelle que soit la manière dont ils sont saisis.

    • Pour la version Engine, choisissez 5.0.0.

  6. Dans la section Configuration du stockage en cluster, laissez le paramètre Amazon DocumentDB Standard tel quel (il s'agit de l'option par défaut).

  7. Dans la section Configuration de l'instance :

    • Pour la classe d'instance de base de données, choisissez Classes optimisées pour la mémoire (inclure les classes r) (par défaut).

    • Pour Classe d'instance, choisissez une classe d'instance en fonction de la charge de travail. Par exemple :

      • db.r6g.large : pour les petites charges de travail

      • db.r6g.4xlarge : pour les charges de travail plus importantes

      Il est recommandé de choisir une instance aussi grande que possible pour un débit de chargement complet optimal, et de la réduire une fois la migration terminée.

    • Pour Nombre d'instances, sélectionnez 1 instance. Le choix d'une instance permet de minimiser les coûts. Nous vous recommandons de passer à trois instances pour une haute disponibilité une fois la migration à chargement complet terminée.

  8. Dans la section Authentification, entrez un nom d'utilisateur pour l'utilisateur principal, puis choisissez Autogéré. Entrez un mot de passe, puis confirmez-le.

  9. Dans la section Paramètres réseau, choisissez un VPC et un groupe de sous-réseaux, puis configurez le groupe de sécurité VPC. Assurez-vous que votre groupe de sécurité Amazon DocumentDB autorise les connexions entrantes depuis le groupe de sécurité de l'instance DMS en mettant à jour les règles entrantes.

  10. Dans la ncryption-at-rest section E, activez le chiffrement (recommandé) et choisissez ou entrez une clé KMS.

  11. Dans la section Backup, définissez la période de conservation des sauvegardes (1 à 35 jours).

  12. Passez en revue votre configuration et choisissez Create cluster.

    Le temps de déploiement prend généralement entre 10 et 15 minutes,

Configuration de la source

MongoDB et Amazon DocumentDB peuvent tous deux servir de sources de migration, selon votre scénario :

  • MongoDB en tant que source : courant lors de la migration d'une base de données MongoDB sur site ou autogérée vers Amazon DocumentDB ou d'autres services de base de données. AWS Nécessite une exécution en mode Replica Set avec un journal de taille adéquate (assurez-vous qu'il est dimensionné pour contenir toutes les opérations pendant le chargement complet) afin de prendre en charge la capture des données de modification pendant la migration.

  • Amazon DocumentDB en tant que source : généralement utilisé pour la réplication entre régions, les mises à niveau de version ou la migration vers d'autres services de base de données tels que MongoDB Atlas. Nécessite Activer les flux de changement de définir le change_stream_log_retention_duration paramètre dans le groupe de paramètres du cluster pour capturer les modifications en cours pendant la migration. Assurez-vous que votre change_stream_log_retention_duration réglage est suffisamment grand pour couvrir le temps nécessaire au chargement complet.

Avant de commencer la migration, configurez votre source pour autoriser AWS DMS l'accès.

Créez un utilisateur MongoDB avec les autorisations appropriées :

db.createUser({ user: "dmsUser", pwd: "yourSecurePassword", roles: [{ role: "readAnyDatabase", db: "admin" }] })

Configurez le réseau et l'authentification.

Lors de la configuration de la connectivité réseau pour la migration de MongoDB vers DMS :

EC2-source MongoDB hébergée

  • Modifiez le groupe EC2 de sécurité pour autoriser le trafic entrant en provenance du groupe de sécurité de l'instance de réplication DMS.

  • Ajoutez une règle pour le port TCP 27017 (ou votre port MongoDB personnalisé).

  • Utilisez l'ID du groupe de sécurité de l'instance de réplication DMS comme source pour un contrôle d'accès précis.

  • Assurez-vous que le sous-réseau de l' EC2 instance dispose d'une route vers le sous-réseau de l'instance de réplication DMS.

Source MongoDB sur site

  • Configurez votre pare-feu pour autoriser les connexions entrantes depuis les adresses IP publiques de l'instance de réplication DMS.

  • Si vous utilisez AWS Direct Connect un VPN, assurez-vous que le routage entre votre réseau et le VPC contenant l'instance DMS est correct.

  • Testez la connectivité à l'aide de commandes telnet ou nc depuis le sous-réseau DMS vers votre serveur MongoDB.

Source de l'Atlas MongoDB

  • Ajoutez les adresses IP d'une instance de réplication DMS à la liste d'adresses IP autorisées de MongoDB Atlas.

  • Configurez le peering VPC entre VPC et AWS MongoDB Atlas VPC si Atlas est exécuté sur. AWS

  • Configurez AWS PrivateLink la connectivité privée (niveau Enterprise), si vous utilisez un autre fournisseur de cloud.

  • Créez un utilisateur dédié doté des read/write autorisations appropriées.

  • Utilisez une chaîne de connexion MongoDB Atlas avec le mode SSL défini sur « verify-full ».

  • Assurez-vous que la taille du journal est suffisante pour la durée de la migration.

Source Amazon DocumentDB

Configurez votre groupe de sécurité Amazon DocumentDB source pour autoriser le trafic entrant en provenance du groupe de sécurité des instances de réplication DMS.

Création d'une instance de réplication DMS

Nous vous recommandons d'utiliser DMS Buddy pour approvisionner votre infrastructure DMS, car il crée une infrastructure de migration optimale avec des paramètres DMS et des tailles d'instance optimaux.

Si vous préférez effectuer la configuration manuellement, procédez comme suit :

  1. Ouvrez la console AWS DMS et choisissez Créer une instance de réplication.

  2. Entrez les détails de l'instance de réplication :

    • Nom de l'instance : choisissez un nom unique.

    • Classe d'instance : sélectionnez en fonction de la charge de travail. Exemple : dms.r5.large (petites charges de travail), dms.r5.4xlarge (charges de travail importantes).

    • Version du moteur : 3.5.4

    • Stockage alloué : la valeur par défaut est de 100 Go (augmentez si nécessaire). Cela dépend de la taille du document updates/second et de la durée du chargement complet.

    • Déploiement multi-AZ : activez la haute disponibilité, si nécessaire.

    • Choisissez le même VPC qu'Amazon DocumentDB.

    • Assurez-vous que les groupes de sécurité autorisent le trafic entrant depuis la source et Amazon DocumentDB.

  3. Cliquez sur Créer une instance de réplication et attendez que le statut soit disponible.

Création de points de terminaison DMS

Création d'un point de terminaison source

Pour une source MongoDB

  1. Dans le volet de navigation de la console DMS, choisissez Migrer ou répliquer, puis Endpoints.

  2. Choisissez Créer un point de terminaison.

  3. Sur la page Créer un point de terminaison, choisissez Point de terminaison source.

  4. Dans la section Configuration du point de terminaison :

    • Entrez un identifiant de point de terminaison unique et significatif (par exemple, « mongodb-source »).

    • Choisissez MongoDB comme moteur source.

    • Pour Accès à la base de données du point de terminaison, choisissez Renseignez les informations d’accès manuellement.

    • Dans Nom du serveur, entrez votreMongoDB server DNS name/IP address.

    • Pour Port, entrez 27017 (port MongoDB par défaut).

    • Pour le mode d'authentification, choisissez le mode approprié pour votre application (mot de passe/SSL) (le gestionnaire de secrets est par défaut).

    • Si le mode d'authentification est un mot de passe, fournissez :

      • Nom d'utilisateur et mot de passe : entrez les informations d'identification MongoDB.

      • Nom de la base de données : nom de votre base de données source.

      • Mécanisme d'authentification : SCRAM-SHA-1 (par défaut) ou mécanisme approprié

  5. Pour le mode Métadonnées, conservez le paramètre par défaut du document.

  6. Attributs de connexion supplémentaires :

    • AuthSource=admin (si la base de données d'authentification est différente)

    • ReplicaSet=< your-replica-set-name > (obligatoire pour le CDC)

Pour une source Amazon DocumentDB

  1. Dans le volet de navigation de la console DMS, choisissez Migrer ou répliquer, puis Endpoints.

  2. Choisissez Créer un point de terminaison.

  3. Sur la page Créer un point de terminaison, choisissez Point de terminaison source.

  4. Dans la section Configuration du point de terminaison :

    • Entrez un identifiant de point de terminaison unique et significatif (par exemple, « docdb-source »).

    • Choisissez Amazon DocumentDB comme moteur source.

    • Pour Accès à la base de données du point de terminaison, choisissez Renseignez les informations d’accès manuellement.

    • Dans Nom du serveur, entrez votresource Amazon DocumentDB cluster endpoint.

    • Pour Port, entrez 27017 (port Amazon DocumentDB par défaut).

    • Pour le mode SSL, choisissez verify-full (recommandé pour Amazon DocumentDB).

    • Pour le certificat CA, choisissez le certificat CA racine Amazon RDS.

    • Pour le mode d'authentification, choisissez le mode approprié pour votre application (mot de passe/SSL) (le gestionnaire de secrets est par défaut).

    • Si le mode d'authentification est un mot de passe, fournissez :

      • Nom d'utilisateur et mot de passe : entrez les informations d'identification Amazon DocumentDB.

      • Nom de la base de données : nom de votre base de données source.

      • Mécanisme d'authentification : SCRAM-SHA-1 (par défaut) ou mécanisme approprié

  5. Pour le mode Métadonnées, conservez le paramètre par défaut du document.

Création d'un point de terminaison cible (Amazon DocumentDB)
  1. Dans le volet de navigation de la console DMS, choisissez Migrer ou répliquer, puis Endpoints.

  2. Choisissez Créer un point de terminaison.

  3. Sur la page Créer un point de terminaison, choisissez un point de terminaison cible.

  4. Dans la section Configuration du point de terminaison :

    • Entrez un identifiant de point de terminaison unique et significatif (par exemple, « docdb-target »).

    • Choisissez Amazon DocumentDB comme moteur cible.

    • Pour l'accès à la base de données des terminaux, choisissez la méthode que vous souhaitez utiliser pour authentifier l'accès à la base de données :

      • Si vous choisissez AWS Secrets Manager, choisissez le secret dans lequel vous stockez vos informations d'identification Amazon DocumentDB dans le champ Secret.

      • Si vous choisissez Fournir les informations d'accès manuellement :

        • Dans Nom du serveur, entrez votretarget Amazon DocumentDB cluster endpoint.

        • Pour Port, entrez 27017 (port Amazon DocumentDB par défaut).

        • Pour le mode SSL, choisissez verify-full (recommandé pour Amazon DocumentDB).

        • Pour le certificat CA, téléchargez et spécifiez le bundle de certificats CA pour la vérification SSL.

        • Pour le mode d'authentification, choisissez le mode approprié pour votre application (mot de passe/SSL) (le gestionnaire de secrets est par défaut).

        • Si le mode d'authentification est un mot de passe, fournissez :

          • Nom d'utilisateur et mot de passe : entrez les informations d'identification Amazon DocumentDB.

          • Nom de la base de données : nom de votre base de données source.

          • Mécanisme d'authentification : SCRAM-SHA-1 (par défaut) ou mécanisme approprié

  5. Pour le mode Métadonnées, conservez le paramètre par défaut du document.

Création d'une tâche de réplication

  1. Dans le volet de navigation de la console DMS, choisissez Migrer ou répliquer, puis Tâches.

  2. Choisissez Créer tâche.

  3. Sur la page Créer une tâche, dans la section Configuration des tâches :

    • Entrez un identifiant de tâche unique et significatif (par exemple, mongodb-docdb-replication « »).

    • Choisissez le point de terminaison source que vous avez créé précédemment dans le menu déroulant point de terminaison de la base de données source.

    • Choisissez le point de terminaison cible que vous avez créé précédemment dans le menu déroulant Point de terminaison de la base de données cible.

    • Pour Type de tâche, choisissez Migrer et répliquer.

  4. Dans la section Paramètres :

    • Pour le mode de préparation de la table Target, conservez le paramètre par défaut.

    • Pour Arrêter la tâche une fois le chargement complet terminé, conservez le paramètre par défaut.

    • Pour les paramètres de colonne LOB, laissez le paramètre du mode LOB limité tel quel.

    • Pour la validation des données, laissez le paramètre par défaut Désactivé.

    • Pour les journaux des tâches, cochez la case Activer CloudWatch les journaux.

    • Pour une application optimisée par lots, laissez le paramètre par défaut non coché (désactivé).

  5. En haut de la section Paramètres des tâches, en mode édition, choisissez l'éditeur JSON et définissez les attributs suivants :

    { "TargetMetadata": { "ParallelApplyThreads": 5 }, "FullLoadSettings": { "MaxFullLoadSubTasks": 16 } }
  6. Dans la section Mappages de tables, ajoutez une nouvelle règle de sélection :

    • Pour le nom du schéma, ajoutez la base de données source à migrer. Utilisez % pour spécifier plusieurs bases de données.

    • Pour le nom de la table de schéma, ajoutez la collection source à migrer. Utilisez % pour spécifier plusieurs collections.

    • Pour Action, laissez le paramètre par défaut Inclure

  7. Pour les collections volumineuses (plus de 100 Go), ajoutez la règle des paramètres de table :

    • Pour le nom du schéma, ajoutez la base de données source à migrer. Utilisez % pour spécifier plusieurs bases de données.

    • Pour le nom de la table de schéma, ajoutez la collection source à migrer. Utilisez % pour spécifier plusieurs collections.

    • Dans le champ Nombre de partitions, entrez 16 (doit être inférieur àMaxFullLoadSubTask).

  8. Dans la section d'évaluation de la prémigration, assurez-vous qu'elle est désactivée.

Migration hors ligne

Cette section décrit le processus de migration hors ligne d'une instance MongoDB autogérée vers Amazon DocumentDB à l'aide des outils natifs de MongoDB : et. mongodump mongorestore

Prérequis

Exigences relatives à la source MongoDB

  • Accès à l'instance MongoDB source avec les autorisations appropriées.

  • Installermongodump. Si nécessaire (il est installé lors d'une installation de MongoDB).

  • Assurez-vous qu'il y a suffisamment d'espace disque pour les fichiers de vidage.

Cibler les exigences d'Amazon DocumentDB

  • Assurez-vous qu'un cluster Amazon DocumentDB est provisionné.

  • Assurez-vous qu'il existe une EC2 instance dans le même VPC qu'Amazon DocumentDB pour faciliter la migration.

  • La connectivité réseau doit être disponible entre votre environnement source et Amazon DocumentDB.

  • mongorestore doit être installé sur l' EC2 instance de migration.

  • Les autorisations IAM appropriées doivent être configurées pour accéder à Amazon DocumentDB,

Prescriptions générales

  • AWS CLI doit être configuré (si vous utilisez AWS des services pour le stockage intermédiaire)

  • Une bande passante suffisante doit être disponible pour le transfert de données.

  • La fenêtre d'indisponibilité doit être approuvée (si vous effectuez une migration en direct, envisagez d'autres approches)

Préparation d'un cluster Amazon DocumentDB

Créez un cluster Amazon DocumentDB dans : AWS

  • Adaptez une taille d'instance en fonction de votre charge de travail.

  • Configurez un VPC, des sous-réseaux et des groupes de sécurité.

  • Activez les paramètres nécessaires via des groupes de paramètres.

Effectuer le vidage des données (mongodump)

Choisissez l'une des options suivantes pour créer un fichier de vidage :

  • Option 1 : Basique

    mongodump -- uri="mongodb://<source_user>:<source_password>@<source_host>:<source_port>/<database>" -- out=/path/to/dump
  • Option 2 : amélioration du contrôle et des performances

    mongodump \ --uri="mongodb://<source_user>:<source_password>@<sourcehost>:<source_port>" \ --out=/path/to/dump \ --gzip \# Compress output --numParallelCollections=4 \# Parallel collections dump --ssl \# If using SSL --authenticationDatabase=admin \ # If auth is required --readPreference=secondaryPreferred # If replica set
  • Option 3 : bases de données volumineuses

    mongodump \ --host=<source_host> \ --port=<source_port> \ --username=<source_user> \ --password=<source_password> \ --db=<specific_db> \# Only dump specific DB --collection=<specific_collection> \ # Only dump specific collection --query='{ "date": { "$gt": "2020-01-01" } }' \ # Filter documents --archive=/path/to/archive.gz \# Single archive output --gzip \ --ssl

Transférer les fichiers de vidage vers l'environnement de restauration

Choisissez une méthode appropriée en fonction de la taille de votre fichier de vidage :

  • Petit — Copiez directement sur votre machine de migration (EC2 instance que vous avez créée précédemment) :

    scp -r /path/to/dump user@migration-machine:/path/to/restore
  • Moyen — Utilisez Amazon S3 comme stockage intermédiaire :

    aws s3 cp --recursive /path/to/dump s3://your-bucket/mongodb-dump/
  • Grande taille : pour les bases de données très volumineuses, envisagez AWS DataSync un transfert physique.

Restaurer les données sur Amazon DocumentDB (mongorestore)

Avant de démarrer le processus de restauration, créez les index dans Amazon DocumentDB. Vous pouvez utiliser l'outil Amazon DocumentDB Index pour exporter et importer des index.

Choisissez l'une des options suivantes pour restaurer les données :

  • Option 1 : restauration de base

    mongorestore --uri="mongodb://<docdb_user>:<docdb_password>@<docdb_endpoint>:27017" /path/to/dump
  • Option 2 : amélioration du contrôle et des performances

    mongorestore \ --uri="mongodb://<docdb_user>:<docdb_password>@<docdb_endpoint>:27017" \ --ssl \ --sslCAFile=/path/to/rds-combined-ca-bundle.pem \ # DocumentDB CA cert --gzip \# If dumped with gzip --numParallelCollections=4 \# Parallel restoration --numInsertionWorkersPerCollection=4 \# Parallel documents insertion --noIndexRestore \# skip indexes as they are pre-created /path/to/dump
  • Option 3 : bases de données volumineuses ou contrôles spécifiques

    mongorestore \ --host=<docdb_endpoint> \ --port=27017 \ --username=<docdb_user> \ --password=<docdb_password> \ --ssl \ --sslCAFile=/path/to/rds-combined-ca-bundle.pem \ --archive=/path/to/archive.gz \# If using archive format --gzip \ --nsInclude="db1.*" \# Only restore specific namespaces --nsExclude="db1.sensitive_data" \ # Exclude specific collections if needed --noIndexRestore \# skip indexes as they are pre-created --writeConcern="{w: 'majority'}" # Ensure write durability

Surveillance

Cette section fournit un processus de surveillance détaillé permettant de suivre la progression, les performances et l'état d'une migration en cours à partir de :

MongoDB vers Amazon DocumentDB

or

Amazon DocumentDB vers Amazon DocumentDB

Les étapes de surveillance s'appliquent quelle que soit la méthode de migration (AWS DMS mongodump/mongorestore ou autres outils).

AWS DMS Surveillance de la migration (le cas échéant)

Surveillez les CloudWatch indicateurs clés suivants :

Métriques de la phase de chargement complet

  • FullLoadThroughputBandwidthTarget— Bande passante réseau (Kb/seconde) pendant le chargement complet

  • FullLoadThroughputRowsTarget— Nombre de rows/documents chargements par seconde

  • FullLoadThroughputTablesTarget— Nombre de tables/collections travaux terminés par minute

  • FullLoadProgressPercent— Pourcentage de chargement complet terminé

  • TablesLoaded— Nombre de fichiers chargés tables/collections avec succès

  • TablesLoading— Nombre de chargements tables/collections en cours

  • TablesQueued— Nombre de tables/collections personnes en attente de chargement

  • TablesErrored— Numéro de ceux tables/collections qui n'ont pas pu être chargés

Métriques de phase du CDC

  • CDCLatencyCible : délai (secondes) entre le changement de source et l'application cible

  • CDCLatencySource — Délai (secondes) entre le changement de source et sa lecture par le DMS

  • CDCThroughputRowsTarget— Nombre de lignes par seconde appliquées pendant la réplication en cours

  • CDCThroughputBandwidthTarget— Bande passante réseau (Kb/seconde) pendant le CDC

  • CDCIncomingModifications : nombre d'événements de modification reçus de la source

  • CDCChangesMemoryTarget— Mémoire utilisée (Mo) pour stocker les modifications du côté cible

Métriques relatives aux ressources

  • CPUUtilization— Utilisation du processeur par l'instance de réplication

  • FreeableMemory— Mémoire disponible sur l'instance de réplication

  • FreeStorageSpace— Stockage disponible sur l'instance de réplication

  • NetworkTransmitThroughput— Débit réseau pour l'instance de réplication

  • NetworkReceiveThroughput— Débit réseau pour l'instance de réplication

Métriques d'erreur

  • ErrorsCount— Nombre total d'erreurs lors de la migration

  • TableErrorsCount— Nombre d'erreurs spécifiques à la table

  • RecordsErrorsCount— Nombre d'erreurs spécifiques à un enregistrement

Créez des CloudWatch alarmes pour les indicateurs critiques, tels que CDCLatencyTarget et CPUUtilization pour recevoir des notifications si les performances de migration se dégradent.

Journaux DMS (CloudWatch journaux)

  1. Accédez à la console Amazon CloudWatch Logs.

  2. Recherchez votre groupe de logs et choisissez-le. Cela ressemblera à « dms-tasks — ».

  3. Recherchez les flux de journaux susceptibles de contenir des informations d'erreur :

    • Streams dont le nom contient le mot « error »

    • Streams avec noms de tâches IDs ou de points de terminaison

    • Les flux de journaux les plus récents au moment de votre migration

  4. Dans ces flux, recherchez des mots clés tels que :

    • « erreur »

    • « exception »

    • « échec »

    • « avertissement »

État de la tâche DMS (en utilisant AWS CLI)

aws dms describe-replication-tasks --filters Name=replication-task id,Values=<task_id> --query "ReplicationTasks[0].Status"

Flux de statut attendu :

création → prêt → exécution → arrêt → arrêté (ou échec)

Surveiller en utilisant docdb-dashboarder

L'docdb-dashboarderoutil fournit une surveillance complète des clusters Amazon DocumentDB en générant automatiquement des CloudWatch tableaux de bord contenant des indicateurs de performance essentiels. Ces tableaux de bord affichent des métriques critiques au niveau du cluster (délai de réplication, compteurs d'opérations), des métriques au niveau de l'instance (processeur, mémoire, connexions) et des métriques de stockage (utilisation du volume, stockage de sauvegarde). Pour les scénarios de migration, l'outil propose des tableaux de bord spécialisés qui suivent la progression de la migration à l'aide de mesures telles que le délai de réplication CDC et les taux d'exploitation. Les tableaux de bord peuvent surveiller plusieurs clusters simultanément et incluent la prise en charge des instances basées sur des NVMe données. En visualisant ces indicateurs, les équipes peuvent identifier de manière proactive les obstacles aux performances, optimiser l'allocation des ressources et garantir le bon fonctionnement de leurs déploiements Amazon DocumentDB. L'outil élimine le besoin de créer manuellement un tableau de bord tout en fournissant une surveillance cohérente dans tous les environnements. Pour les instructions de configuration et les options de configuration avancées, consultez le référentiel Amazon DocumentDB Dashboarder Tool. GitHub

Validation

Cette section fournit un processus de validation détaillé pour garantir la cohérence, l'intégrité et la compatibilité des applications des données après la migration depuis :

MongoDB vers Amazon DocumentDB

or

Amazon DocumentDB vers Amazon DocumentDB

Les étapes de validation s'appliquent quelle que soit la méthode de migration (AWS DMS mongodump/mongorestore ou autres outils).

Liste de contrôle pour la validation

Vérifiez que le nombre de documents de chaque collection correspond à la source et à la cible :

Source de MongoDB

mongo --host <source_host> --port <port> --username <user> -- password <password> --eval "db.<collection>.count()"

Cible Amazon DocumentDB

mongo --host <target_host> --port <port> --username <user> -- password <password> --eval "db.<collection>.count()"

Validation du schéma et de l'index

Assurez-vous que :

  • toutes les collections existent dans la cible.

  • les index sont correctement répliqués.

  • les définitions de schéma (si elles sont appliquées) sont identiques.

Vérifier les collections (source ou cible)

mongo --host <source_host> --eval "show collections" mongo --host <target_host> --ssl --eval "show collections"

vérifier les index (source ou cible)

mongo --host <source_host> --eval" db.<collection>.getIndexes()" mongo --host <target_host> --ssl –eval" db.<collection>.getIndexes()"

Comparez la liste des collections pour vous assurer qu'il n'y a aucune collection manquante ou supplémentaire.

Vérifiez les index en vérifiant les noms d'index, les définitions de clés, les contraintes uniques et les index TTL (le cas échéant).

Vérifiez les règles de validation du schéma (si vous utilisez la validation du schéma dans MongoDB)

mongo --host <source_host> --eval" db.getCollectionInfos({name: '<collection>'}) [0].options.validator" mongo --host <target_host> --ssl –eval" db.getCollectionInfos({name: '<collection>'})[0].options.validator"

Échantillonnage des données et validation sur le terrain

Vous pouvez échantillonner des documents de manière aléatoire et comparer les champs entre la source et la cible.

Échantillonnage manuel

Récupérez cinq documents aléatoires (source) :

mongo --host <source_host> --eval "db.<collection>.aggregate([{ \$sample: { size: 5 } }])"

Récupérez le même document IDs (cible) :

mongo --host <target_host> --ssl –eval "db.<collection>.find({ _id: { \$in: [<list_of_ids>] } })"

Échantillonnage automatique

import pymongo # Connect to source and target source_client = pymongo.MongoClient("<source_uri>") target_client = pymongo.MongoClient("<target_uri>", ssl=True) source_db = source_client["<db_name>"] target_db = target_client["<db_name>"] # Compare 100 random documents for doc in source_db.<collection>.aggregate([{ "$sample": { "size": 100 } }]): target_doc = target_db.<collection>.find_one({ "_id": doc["_id"] }) if target_doc != doc: print(f"❌ Mismatch in _id: {doc['_id']}") else: print(f"✅ Match: {doc['_id']}")

Validation via DataDiffer un outil

L'DataDiffer outil fournit un moyen fiable de comparer les données entre les bases de données source et cible.

Prérequis

Les conditions préalables suivantes doivent être remplies avant d'installer l' DataDiffer outil :

  • Python 3.7 et versions ultérieures

  • PyMongo bibliothèque

  • Connectivité réseau à la fois aux clusters source MongoDB et aux clusters Amazon DocumentDB cibles

Configuration et installation

Clonez le dépôt et naviguez jusqu'au DataDiffer répertoire

git clone https://github.com/awslabs/amazon-documentdb-tools.git cd amazon-documentdb-tools/migration/data-differ

Installer les dépendances requises

pip install -r requirements.txt

Validation des données en cours

Créez un fichier de configuration (par exemple, config.json) avec les détails de connexion

{ "source": { "uri": "mongodb://username:password@source-mongodb- host:27017/?replicaSet=rs0", "db": "your_database", "collection": "your_collection" }, "target": { "uri": "mongodb://username:password@target-docdb- cluster.region.docdb.amazonaws.com:27017/?tls=true&tlsCAFile=global- bundle.pem&replicaSet=rs0", "db": "your_database", "collection": "your_collection" }, "options": { "batch_size": 1000, "threads": 4, "sample_size": 0, "verbose": true } }

Exécutez l' DataDiffer outil

python differ.py --config config.json

Pour les grandes collections, utilisez l'échantillonnage pour valider un sous-ensemble de données

python differ.py --config config.json --sample-size 10000

Pour valider plusieurs collections, créez des fichiers de configuration distincts ou utilisez le mode batch

python differ.py --batch-config batch_config.json

Interprétation des résultats

L'outil produira :

  • Nombre total de documents dans la source et dans la cible

  • Nombre de documents correspondants

  • Nombre de documents manquants

  • Nombre de documents présentant des différences

  • Rapport détaillé des différences (le cas échéant)

Bonnes pratiques

Les meilleures pratiques relatives à l'utilisation de l' DataDiffer outil sont les suivantes :

  • Exécution par étapes : validez d'abord le nombre de documents, puis échantillonnez les documents clés, puis effectuez une comparaison complète, si nécessaire.

  • Vérifiez les différences de schéma : Amazon DocumentDB présente certaines limites par rapport à MongoDB. L'outil mettra en évidence les types de données ou les structures incompatibles.

  • Valider pendant les périodes calmes : exécutez la validation lorsque les opérations d'écriture sont minimales pour garantir la cohérence.

  • Surveiller l'utilisation des ressources — Le processus de comparaison peut être gourmand en ressources. Ajustez la taille du lot et le nombre de fils en conséquence.

  • Valider les index : après la validation des données, assurez-vous que tous les index requis ont été créés sur le cluster Amazon DocumentDB cible.

  • Résultats de validation des documents — Conservez un enregistrement des résultats de validation pour chaque collection dans le cadre de votre documentation de migration.