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.
Mise à niveau de votre cluster Amazon DocumentDB à l'aide de AWS Database Migration Service
Important
Amazon DocumentDB ne suit pas les mêmes cycles de support que MongoDB et le calendrier de MongoDB ne s'applique pas à Amazon end-of-life DocumentDB. Aucun plan n'est actuellement prévu end-of-life pour Amazon DocumentDB 3.6, et vos pilotes, applications et outils MongoDB 3.6 existants continueront de fonctionner avec Amazon DocumentDB.
Vous pouvez mettre à niveau votre cluster Amazon DocumentDB vers une version supérieure avec un temps d'arrêt minimal. AWS DMS AWS DMS est un service entièrement géré qui facilite la migration des anciennes versions d'Amazon DocumentDB, des bases de données relationnelles et des bases de données non relationnelles vers votre cluster Amazon DocumentDB cible.
Étape 1 : activer les flux de modifications
Pour effectuer une migration avec un temps d'arrêt minimal, AWS DMS il faut accéder aux flux de modifications du cluster. Les flux de modifications Amazon DocumentDB fournissent une séquence chronologique d'événements de mise à jour qui se produisent dans les collections et les bases de données de votre cluster. La lecture depuis le flux de modifications permet d' AWS DMS effectuer la capture des données de modification (CDC) et d'appliquer des mises à jour incrémentielles au cluster Amazon DocumentDB cible.
Pour activer les flux de modification pour toutes les collections d'une base de données spécifique, authentifiez-vous auprès de votre cluster Amazon DocumentDB à l'aide du shell mongo et exécutez les commandes suivantes :
db.adminCommand({modifyChangeStreams: 1, database: "db_name", collection: "", enable: true});
Étape 2 : Modifier la durée de rétention des flux de modifications
Modifiez ensuite la période de rétention du flux de modifications en fonction de la durée pendant laquelle vous souhaitez conserver les événements de changement dans le flux de modifications. Par exemple, si vous prévoyez que la migration de votre cluster Amazon DocumentDB prendra 12 heures, vous devez définir la durée de rétention du flux de modifications sur une valeur supérieure à 12 heures. AWS DMS La période de rétention par défaut pour votre cluster Amazon DocumentDB est de trois heures. Vous pouvez modifier la durée de conservation du journal des flux de modifications pour votre cluster Amazon DocumentDB pour qu'elle soit comprise entre une heure et sept jours en utilisant le AWS Management Console ou le. AWS CLI Pour plus de détails, reportez-vous à la section Modification de la durée de conservation du journal du flux de modifications.
Étape 3 : migrer vos index
Créez les mêmes index sur votre cluster Amazon DocumentDB cible que ceux que vous avez sur votre cluster Amazon DocumentDB source. Bien qu'il AWS DMS gère la migration des données, il ne migre pas les index. Pour migrer les index, utilisez l'outil d'indexation Amazon DocumentDB pour exporter les index depuis le cluster Amazon DocumentDB source. Vous pouvez obtenir l'outil en créant un clone du GitHub référentiel d'outils Amazon DocumentDB et en suivant les instructions fournies dans. README.md
Dans l'exemple suivant, remplacez chacune user input placeholder
par vos propres informations.
Le code suivant extrait les index de votre cluster Amazon DocumentDB source :
python migrationtools/documentdb_index_tool.py --dump-indexes --uri
mongodb://sample-user:user-password@sample-source-cluster.node.us-east 1.docdb.amazonaws.com:27017/?tls=true&tlsCAFile=global-bundle.pem&replicaSet=rs0&readPreference=secondaryPreferred&retryWrites=false'
--dir ~/index.js/ 2020-02-11 21:51:23,245: Successfully authenticated to database: admin2020-02-11 21:46:50,432: Successfully connected to instance docdb-40-xx.cluster-xxxxxxxx.us-east-1.docdb.amazonaws.com:27017 2020-02-11 21:46:50,432: Retrieving indexes from server...2020-02-11 21:46:50,440: Completed writing index metadata to local folder: /home/ec2-user/index.js/
Une fois vos index exportés avec succès, restaurez ces index dans votre cluster Amazon DocumentDB cible. Pour restaurer les index que vous avez exportés à l'étape précédente, utilisez l'outil d'indexation Amazon DocumentDB. La commande suivante restaure les index de votre cluster Amazon DocumentDB cible à partir du répertoire spécifié.
python migrationtools/documentdb_index_tool.py --restore-indexes --uri
mongodb://sample-user:user-password@sample-destination-cluster.node.us-east 1.docdb.amazonaws.com:27017/?tls=true&tlsCAFile=global-bundle.pem&replicaSet=rs0&readPreference=secondaryPreferred&retryWrites=false'
--dir ~/index.js/ 2020-02-11 21:51:23,245: Successfully authenticated to database: admin2020-02-11 21:51:23,245: Successfully connected to instance docdb-50-xx.cluster-xxxxxxxx.us-east-1.docdb.amazonaws.com:27017 2020-02-11 21:51:23,264: testdb.coll: added index: _id
Pour vérifier que vous avez correctement restauré les index, connectez-vous à votre cluster Amazon DocumentDB cible à l'aide du shell mongo et listez les index d'une collection donnée. Consultez le code suivant :
mongo --ssl --host docdb-xx-xx.cluster-xxxxxxxx.us-east-1.docdb.amazonaws.com:27017 --sslCAFile rds-ca-2019-root.pem --username documentdb --password documentdb db.coll.getIndexes()
Étape 4 : Création d'une instance AWS DMS de réplication
Une instance de AWS DMS réplication connecte et lit les données de votre cluster Amazon DocumentDB source et les écrit dans votre cluster Amazon DocumentDB cible. L'instance de AWS DMS réplication peut effectuer à la fois des opérations de chargement en masse et des opérations CDC. La plupart de ces traitements se font en mémoire. Toutefois, les opérations de grande envergure peuvent nécessiter une certaine mise en mémoire tampon sur le disque. Les transactions mises en cache et les fichiers journaux sont également écrits sur le disque. Une fois les données migrées, l'instance de réplication diffuse également tous les événements de modification pour s'assurer que la source et la cible sont synchronisées.
Pour créer une instance AWS DMS de réplication :
-
Ouvrez la AWS DMS console
. -
Dans le volet de navigation, sélectionnez Instances de réplication.
-
Choisissez Create replication instance (Créer une instance de réplication) et indiquez les informations suivantes :
Dans Nom, entrez le nom de votre choix. Par exemple,
docdb36todocdb40
.-
Dans Description, entrez la description de votre choix. Pour listitem, instance de réplication Amazon DocumentDB 3.6 vers Amazon DocumentDB 4.0.
-
Pour la classe d'instance, choisissez la taille en fonction de vos besoins.
-
Pour la version du moteur, choisissez
3.4.1.
-
Pour Amazon VPC, choisissez l'Amazon VPC qui héberge vos clusters Amazon DocumentDB source et cible.
-
Pour le stockage alloué (GiB), utilisez la valeur par défaut de 50 GiB. Si votre charge de travail est élevée en termes de débit d'écriture, augmentez cette valeur pour l'adapter à votre charge de travail.
-
Pour le mode Multi-AZ, choisissez Oui si vous avez besoin d'une haute disponibilité et d'une assistance en cas de basculement.
Pour Accessible publiquement, activez cette option.
Choisissez Créer instance de réplication.
Étape 5 : Création d'un point de terminaison AWS DMS source
Le point de terminaison source est utilisé pour le cluster Amazon DocumentDB source.
Pour créer un point de terminaison source
-
Ouvrez la AWS DMS console
. -
Dans le volet de navigation, choisissez Points de terminaison.
-
Choisissez
Create endpoint
et saisissez les informations suivantes :Pour Type de point de terminaison, choisissez Source.
>Pour l'identifiant du point de terminaison, entrez un nom facile à retenir, par exemple
docdb-source
.Pour le moteur source, sélectionnez
docdb
.Dans Nom du serveur, entrez le nom DNS de votre cluster Amazon DocumentDB source.
Pour Port, entrez le numéro de port de votre cluster Amazon DocumentDB source.
Pour le mode SSL, choisissez
verify-full
.Pour le certificat CA, choisissez Ajouter un nouveau certificat CA. Téléchargez le nouveau certificat CA (nouveau certificat
pour créer un bundle de connexions TLS. Dans le champ Identifiant du certificat, entrez rds-combined-ca-bundle
. Dans Import certificate file (Importer un fichier de certificat), choisissez Choose file (Choisir un fichier) et accédez au fichier.pem
que vous avez téléchargé précédemment. Sélectionnez et ouvrez le fichier. Choisissez Importer un certificat, puisrds-combined-ca-bundle
choisissez dans le menu déroulant Choisir un certificat-
Dans Nom d'utilisateur, entrez le nom d'utilisateur principal de votre cluster Amazon DocumentDB source.
-
Pour Mot de passe, entrez le mot de passe principal de votre cluster Amazon DocumentDB source.
-
Dans Nom de la base de données, entrez le nom de la base de données que vous souhaitez mettre à niveau.
Testez votre connexion pour vérifier qu'elle a été correctement configurée.
Choisissez Créer un point de terminaison.
Note
AWS DMS ne peut migrer qu'une seule base de données à la fois.
Étape 6 : Création d'un point de terminaison AWS DMS cible
Le point de terminaison cible correspond à votre cluster Amazon DocumentDB cible.
Pour créer un point de terminaison cible :
-
Ouvrez la AWS DMS console
. -
Dans le volet de navigation, choisissez Points de terminaison.
-
Choisissez Créer un point de terminaison et entrez les informations suivantes :
Pour Type de point de terminaison, choisissez Cible.
Pour ID du point de terminaison, entrez un nom facile à mémoriser, par exemple
docdb-target
.Pour le moteur source, sélectionnez
docdb
.Dans Nom du serveur, entrez le nom DNS de votre cluster Amazon DocumentDB cible.
Pour Port, entrez le numéro de port de votre cluster Amazon DocumentDB cible.
Pour le mode SSL, choisissez
verify-full
.-
Pour le certificat CA, choisissez le
rds-combined-ca-bundle
certificat existant dans le menu déroulant Choisir un certificat. -
Dans Nom d'utilisateur, entrez le nom d'utilisateur principal de votre cluster Amazon DocumentDB cible.
Pour Mot de passe, entrez le mot de passe principal de votre cluster Amazon DocumentDB cible.
-
Dans Nom de la base de données, entrez le même nom de base de données que celui que vous avez utilisé pour configurer votre point de terminaison source.
-
Testez votre connexion pour vérifier qu'elle a été correctement configurée.
-
Choisissez Créer un point de terminaison.
Étape 7 : créer et exécuter une tâche de migration
Une AWS DMS tâche lie l'instance de réplication à vos instances source et cible. Lorsque vous créez une tâche de migration, vous spécifiez le point de terminaison source, le point de terminaison cible, l'instance de réplication et tous les paramètres de migration souhaités. Une AWS DMS tâche peut être créée avec trois types de migration différents : migrer des données existantes, migrer des données existantes et répliquer les modifications en cours ou répliquer uniquement les modifications de données. Le but de cette procédure pas à pas étant de mettre à niveau un cluster Amazon DocumentDB avec un temps d'arrêt minimal, les étapes utilisent l'option permettant de migrer les données existantes et de répliquer les modifications en cours. Avec cette option, AWS DMS capture les modifications lors de la migration de vos données existantes. AWS DMS continue de capturer et d'appliquer les modifications même après le chargement des données en masse. Les bases de données source et cible sont finalement synchronisées, permettant ainsi une migration avec un temps d'indisponibilité minimal.
Vous trouverez ci-dessous les étapes à suivre pour créer une tâche de migration afin de minimiser les interruptions de service :
-
Ouvrez la AWS DMS console
. -
Dans le volet de navigation, choisissez, Tâches de migration de base de données.
-
Choisissez Créer une tâche de migration de base de données et entrez les informations suivantes dans la section Configuration des tâches :
Pour Identifiant de tâche, entrez un nom facile à retenir, par exemple
my-dms-upgrade-task
.Pour le nom descriptif de la ressource Amazon (ARN), entrez un nom convivial pour remplacer l'ARN DMS par défaut.
Pour Replication instance (Instance de réplication), choisissez l'instance de réplication que vous avez créée à l'Étape 4 : Création d'une instance AWS DMS de réplication.
Pour Point de terminaison de base de données source, choisissez le point de terminaison source que vous avez créé dansÉtape 5 : Création d'un point de terminaison AWS DMS source.
Pour Point de terminaison de base de données cible, choisissez le point de terminaison cible que vous avez créé dansÉtape 6 : Création d'un point de terminaison AWS DMS cible.
-
Pour le type de migration, choisissez Migrer et répliquer.
-
Entrez les informations suivantes dans la section Paramètres des tâches :
-
Pour la section Mode de préparation de la table cible, choisissez Ne rien faire. Cela garantira que les index créés à l'étape 3 ne seront pas supprimés.
-
Dans la sous-section Journaux des tâches, sélectionnez Activer les CloudWatch journaux.
-
Pour la configuration du démarrage de la tâche de migration, choisissez Automatiquement lors de la création. Cela lancera automatiquement la tâche de migration une fois que vous l'aurez créée.
-
Choisissez Créer une tâche de migration de base de données.
-
AWS DMS commence maintenant à migrer les données de votre cluster Amazon DocumentDB source vers votre cluster Amazon DocumentDB cible. L'état de la tâche doit passer de Démarrage à Exécution. Vous pouvez suivre la progression en choisissant Tâches dans la AWS DMS console. Au bout de quelques minutes/heures (en fonction de la taille de votre migration), le statut devrait passer à Chargement terminé, réplication en cours. Cela signifie que vous AWS DMS avez effectué une migration complète de votre cluster Amazon DocumentDB source vers un cluster Amazon DocumentDB cible et que vous répliquez désormais les événements de modification.

Votre source et votre cible finiront par être synchronisées. Vous pouvez vérifier s'ils sont synchronisés en exécutant une count()
opération sur vos collections pour vérifier que tous les événements de modification ont été migrés.
Étape 8 : remplacement du point de terminaison de l'application par le cluster Amazon DocumentDB cible
Une fois le chargement complet terminé et le processus CDC répliqué en continu, vous êtes prêt à changer le point de terminaison de connexion à la base de données de votre application de votre cluster Amazon DocumentDB source vers votre cluster Amazon DocumentDB cible.