Mise à niveau de votre cluster Amazon DocumentDB à l'aide de AWS Database Migration Service - 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.

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 Change Streams

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 conservation 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 Vous pouvez exécuter l'outil à partir d'une instance Amazon EC2 ou d'un AWS Cloud9 environnement exécuté dans le même Amazon VPC que votre cluster Amazon DocumentDB.

Dans les exemples suivants, remplacez chaque espace réservé pour l'entrée utilisateur 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 :

  1. Ouvrez la AWS DMS console.

  2. Dans le volet de navigation, sélectionnez Instances de réplication.

  3. 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.

    Image : boîte de dialogue de configuration de l'instance de réplication affichant 10 champs et boutons configurables.
  4. 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

  1. Ouvrez la AWS DMS console.

  2. Dans le panneau de navigation, choisissez Points de terminaison.

  3. 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 exempledocdb-source.

    • Pour le moteur source, sélectionnezdocdb.

    • 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, choisissezverify-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, puis rds-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.

    Image : boîte de dialogue de configuration du point de terminaison pour la AWS DMS source contenant neuf champs configurables et des menus déroulants.
  4. Testez votre connexion pour vérifier qu'elle a été correctement configurée.

    Image : boîte de dialogue de connexion du point de terminaison de test pour la AWS DMS source affichant deux menus déroulants, un bouton de test et une liste des tests exécutés.
  5. 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 :

  1. Ouvrez la AWS DMS console.

  2. Dans le panneau de navigation, choisissez Points de terminaison.

  3. 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électionnezdocdb.

    • 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, choisissezverify-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.

    Image : boîte de dialogue de configuration du point de terminaison pour la AWS DMS cible contenant neuf champs configurables et des menus déroulants.
  4. Testez votre connexion pour vérifier qu'elle a été correctement configurée.

    Image : boîte de dialogue de connexion du point de terminaison de test pour la AWS DMS cible affichant deux menus déroulants, un bouton de test et une liste des tests exécutés.
  5. 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 :

  1. Ouvrez la AWS DMS console.

  2. Dans le volet de navigation, choisissez Tasks.

  3. Choisissez Create task (Créer une tâche) et indiquez les informations suivantes :

    Image : boîte de dialogue de configuration des tâches pour la tâche de migration.
  4. Dans la section Paramètres des tâches, activez CloudWatch les journaux.

  5. Pour la section Mappages de tables, choisissez Ne rien faire. Cela garantira que les index créés à l'étape 3 ne seront pas supprimés.

  6. Pour la configuration de 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.

  7. Choisissez Créer tâche.

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.

Image : boîte de dialogue récapitulative de la migration.

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.