Partager via


Migrer MongoDB vers Azure DocumentDB en ligne à l’aide de l’extension de migration Azure DocumentDB (préversion publique)

Dans ce tutoriel, vous utilisez l’extension de migration Azure DocumentDB dans Visual Studio Code pour créer et gérer des travaux de migration à partir d’une instance locale ou cloud de MongoDB vers Azure DocumentDB. Cette extension fournit une interface conviviale pour effectuer des migrations sans interruptions de service. L’extension élimine la nécessité d’une infrastructure supplémentaire et offre une connectivité sécurisée, une utilisation sans coût et un contrôle granulaire sur les bases de données et collections à migrer.

L’objectif de cet article est d’utiliser le flux de travail intégré de l’extension pour simplifier les étapes de migration directement dans Visual Studio Code. Cette approche est idéale pour les scénarios où vous souhaitez une expérience managée rationalisée avec une complexité minimale et une fiabilité maximale.

Prerequisites

  • Un abonnement Azure

  • Un cluster Azure DocumentDB existant

    • Si vous n’avez pas de cluster, créez un cluster

Avant de commencer la migration, préparez votre compte Azure DocumentDB et votre instance MongoDB existante pour la migration.

Instance MongoDB (source)

  • Effectuez l’évaluation de pré-migration pour déterminer s’il existe des incompatibilités et des avertissements entre votre instance source et votre compte cible.
  • Ajoutez un utilisateur avec readAnyDatabase et clusterMonitor des autorisations, sauf s’il en existe déjà un. Vous utilisez cet identifiant lors de la création de travaux de migration dans l'extension.

Azure DocumentDB (target)

  • Rassemblez les informations d’identification du compte Azure DocumentDB.
  • Vérifiez que l’utilisateur dispose des autorisations createCollection, dropCollection, createIndex, insert et listCollections.

Important

L’authentification microsoft Entra ID n’est actuellement pas prise en charge dans les travaux de migration. Utilisez l’authentification DocumentDB native.

Effectuer la migration

Se connecter à la source

  1. Ouvrez l’extension DocumentDB pour VS Code .
  2. Ajoutez le serveur MongoDB que vous souhaitez migrer vers la liste connexions de base de données document .
  3. Sélectionnez Ajouter une nouvelle connexion.
  4. Dans la barre de navigation, sélectionnez Chaîne de connexion.
  5. Collez votre chaîne de connexion : mongodb://<YOUR_USERNAME>:<YOUR_PASSWORD>@localhost:10260/?tls=true&tlsAllowInvalidCertificates=true&authMechanism=SCRAM-SHA-256
  6. Dans les connexions DocumentDB, sélectionnez la connexion et dépliez-la pour vous connecter.

Appeler l’extension de migration

Vous pouvez appeler l’extension de migration à partir des connexions DocumentDB.

  1. Cliquez avec le bouton droit sur une connexion étendue (connectée).

  2. Sélectionnez Migration de données dans le menu contextuel.

    Capture d’écran du menu contextuel dans Visual Studio Code.

  3. Sélectionnez Migrer vers Azure DocumentDB dans la palette de commandes.

    Capture d’écran de la palette de commandes dans Visual Studio Code.

  4. Un assistant de migration vous guide tout au long du processus.

Créer un travail de migration

Un travail de migration est utilisé pour migrer un groupe de regroupements de la source vers la destination Azure DocumentDB. L’Assistant de création de tâche de migration comporte six étapes.

Étape 1 : Créer un travail

Dans cette étape, vous fournissez les détails de base du travail.

  • Nom du travail : indiquez un nom convivial pour identifier la tâche de migration.

  • Mode de migration : sélectionnez le mode de migration le plus approprié pour votre cas d’usage.

    • La migration en ligne copie les données de collecte, ce qui garantit que les mises à jour sont également répliquées pendant le processus. Cette méthode est avantageuse avec un temps d’arrêt minimal, ce qui permet des opérations continues pour la continuité d’activité. Utilisez cette option lorsque les opérations en cours sont essentielles et que la réduction des temps d’arrêt est une priorité.
    • La migration hors connexion capture un instantané de la base de données au début, offrant une approche plus simple et prévisible. Cela fonctionne bien lorsque vous utilisez une copie statique de la base de données et que les mises à jour en temps réel ne sont pas essentielles.

    Important

    Pour garantir la réussite des migrations en ligne à partir de MongoDB, ChangeStream doit être activé sur le serveur MongoDB source. Sans ChangeStream, les modifications apportées aux données après la migration initiale ne sont pas capturées. Par conséquent, utilisez le mode de migration en ligne uniquement si ChangeStream est activé sur votre serveur MongoDB source.

  • Connectivité : selon le mandat de sécurité et la configuration réseau de votre organisation, choisissez parmi Public et Privé.

    • Utilisez Public lorsque les serveurs source et cible sont accessibles via Internet via des adresses IP publiques. Il permet la prise en charge des services qui nécessitent une accessibilité externe.
    • Utilisez Private lorsque les serveurs source ou cible sont accessibles exclusivement via des adresses IP privées au sein d’un réseau virtuel. Elle améliore la sécurité en éliminant l’exposition à l’Internet public.

Sélectionnez Suivant pour continuer.

Capture d’écran de l’étape de création d’une tâche dans l’assistant.

Étape 2 : Sélectionner la cible

Dans cette étape, vous sélectionnez un compte Azure DocumentDB existant et fournissez sa chaîne de connexion.

  1. Sélectionnez l’abonnement, le groupe de ressources et le compte Azure DocumentDB dans les listes déroulantes.

  2. Indiquez la chaîne de connexion au compte Azure DocumentDB.

  3. Vérifiez que l’adresse IP répertoriée dans l’écran est autorisée sur le pare-feu Azure DocumentDB.

  4. Sélectionnez Suivant pour continuer.

Capture d’écran de l’étape de sélection de la cible dans l’Assistant.

Étape 3 : Sélectionner Database Migration Service(DMS)

L’Azure Database Migration Service est un service qui permet de migrer des données vers et depuis les plateformes de données Azure en utilisant l'infrastructure cloud pour le transfert de données, au lieu de dépendre des ressources locales. Choisissez une instance Azure Database Migration Service existante dans la liste déroulante ou sélectionnez Créer DMS pour créer un service de migration.

Important

Assurez-vous que le fournisseur de ressources Microsoft.DataMigration est inscrit dans votre abonnement. Il vous suffit de le faire une seule fois par abonnement.

Sélectionnez Suivant pour continuer.

Capture d’écran de l’étape de sélection du Service de Migration de Base de Données dans l’Assistant.

Étape 4 : Configurer la connectivité

Cet écran dépend du mode de connectivité que vous avez choisi à l’étape 1.

Connectivité publique

Dans la connectivité publique, la tâche de migration se connecte à votre source et à votre cible à l’aide d’Internet public. Pour activer la communication, vous devez mettre à jour les pare-feu source et cible. Pour activer la communication à partir des serveurs DMS, ajoutez les adresses IP répertoriées dans l’écran aux pare-feu source et cible. Pour plus d’informations, consultez configurer le pare-feu de cluster Azure DocumentDB .

Capture d’écran de l’étape de configuration de la connectivité publique dans l’Assistant.

Connectivité privée

Dans la connectivité privée, le travail de migration s’exécute dans son réseau virtuel. Pour communiquer en toute sécurité avec votre réseau virtuel, nous utilisons l'interconnexion de réseaux virtuels.

  1. Sélectionnez l’abonnement, le groupe de ressources et le réseau virtuel dans les listes déroulantes.

  2. Exécutez le script PowerShell fourni à l’écran pour activer l’intégration du réseau virtuel.

  3. Sélectionnez Suivant pour continuer.

Capture d’écran de l’étape de configuration de la connectivité privée dans l’Assistant.

Étape 5 : Sélectionner des regroupements

Dans cette étape, vous sélectionnez les collections à inclure dans le travail de migration. Sélectionnez dans la liste des regroupements à l’aide des options de recherche fournies. Les collections qui existent déjà dans la cible sont automatiquement marquées Oui dans la colonne Exists in Target .

Conseil / Astuce

Veillez à sélectionner toutes les collections que vous souhaitez inclure, car la liste des regroupements ne peut pas être ajoutée une fois la tâche de migration créée.

Sélectionnez Suivant pour continuer.

Capture d’écran de l’étape Sélection des collections dans l’Assistant.

Étape 6 : Confirmer et démarrer

Passez en revue les détails du travail de migration avant de sélectionner Démarrer la migration. Si les détails doivent être mis à jour, utilisez le bouton Modifier les détails .

Une fois la tâche de migration créée, vous êtes automatiquement redirigé vers la page Afficher les travaux existants

Conseil / Astuce

Les tâches de migration de données sont exécutées sur Azure Database Migration Service. Par conséquent, vous n’êtes pas obligé d’être connecté aux environnements source et cible pendant la migration des données. L’état est mis à jour sur le tableau de bord à intervalles fréquents.

Surveiller les travaux de migration existants

Utilisez l’onglet Afficher les travaux existants pour surveiller l’état de migration des travaux initialisés. Les travaux sont répertoriés en fonction du DMS sélectionné. Utilisez le bouton Modifier DMS pour modifier votre sélection.

L’état est automatiquement mis à jour à intervalles fréquents. Les travaux hors connexion se terminent automatiquement une fois que les instantanés de collection sélectionnés sont copiés vers la cible. Toutefois, les migrations en ligne doivent être coupées manuellement.

Capture d’écran de l’écran Afficher les travaux existants.

Pour afficher l’état de la collection, sélectionnez une ligne dans la table.

Capture d’écran montrant l’état de collecte pour la migration hors connexion.

Surveiller les migrations en ligne

Les migrations en ligne, contrairement aux migrations hors connexion, ne se terminent pas automatiquement. Au lieu de cela, elles s’exécutent en continu jusqu’à ce qu’elles soient finalisées manuellement en sélectionnant Basculement.

Pour effectuer la migration en ligne, procédez comme suit dans l’ordre indiqué :

  1. Le bouton Basculement est activé une fois que le chargement initial des données est terminé pour toutes les collections. À ce stade, le travail se trouve dans la phase de réplication, en copiant en continu les mises à jour de l’instance source vers l’instance cible pour la conserver up-to-date avec les dernières modifications.

  2. Quand vous êtes prêt à effectuer le basculement de migration, arrêtez toutes les transactions entrantes vers les collections sources en cours de migration.

  3. L’intervalle de réplication indique l’intervalle de temps entre la dernière mise à jour et l’heure actuelle.

  4. Surveillez les modifications de réplication dans la table et attendez que la métrique Modifications de réplication appliquées se stabilise. Un indicateur stable Modifications de réplication effectuées indique que toutes les mises à jour de la source sont correctement copiées vers la cible.

  5. Sélectionnez Basculement lorsque l’écart de réplication est minimal pour toutes les collections et que Modifications apportées à la réplication est stable.

  6. Vérifiez manuellement que le nombre de lignes est le même entre les collections source et cible.

Note

L’exécution de l’opération de basculement sans valider que la source et la cible sont synchronisées peut entraîner une perte de données.

Capture d’écran montrant l’état de collecte pour la migration en ligne

Inscrire le fournisseur de ressources Microsoft.DataMigration dans votre abonnement

Pour vous assurer que le fournisseur de ressources Microsoft.DataMigration est inscrit dans votre abonnement, vous pouvez suivre les étapes suivantes :

Portail Azure

  1. Allez sur le portail Azure et accédez à votre abonnement.

  2. Dans le menu de gauche, sélectionnez Fournisseurs de ressources sous Paramètres.

  3. Recherchez Microsoft.DataMigration dans la zone de recherche en haut.

  4. S’il n’est pas inscrit, sélectionnez-le et sélectionnez le bouton Inscrire .

Azure CLI

  1. Ouvrez Azure Cloud Shell ou votre terminal local.

  2. Exécutez la commande suivante pour enregistrer le fournisseur de ressources :

    az provider register --namespace Microsoft.DataMigration
    

PowerShell

  1. Ouvrez Azure Cloud Shell ou votre PowerShell local.

  2. Exécutez la commande suivante pour enregistrer le fournisseur de ressources :

    Register-AzResourceProvider -ProviderNamespace "Microsoft.DataMigration"
    

Questions fréquentes (FAQ)

Pourquoi les vues sont-elles absentes à l'étape de sélection de la collection alors que Azure DocumentDB prend en charge les vues ?

Azure DocumentDB prend en charge la création de nouvelles vues. Toutefois, l’extension de migration ne prend pas en charge la migration des vues existantes.

Une fois la migration terminée, vous pouvez toujours recréer les vues.

Quelles collections et bases de données sont ignorées lors de la migration de MongoDB vers Azure DocumentDB ?

Les bases de données et collections suivantes sont considérées comme internes pour MongoDB :

Catégorie Descriptif
Bases de données administrateur, local, configuration système
Collections N’importe quelle collection avec préfixe system.

Les travaux de migration s’exécutent-ils localement sur mon ordinateur ?

Les bases de données et collections sont répertoriées directement dans l’interface utilisateur de l’Assistant à l’aide de commandes exécutées à partir du client VS Code local. Cette fonctionnalité nécessite une connectivité réseau entre l’ordinateur exécutant VS Code et les environnements source et cible.

Les tâches de migration de données sont exécutées par Azure Database Migration Service (DMS). DMS est un service hébergé par Azure qui orchestre et gère les activités de déplacement des données. Une fois les tâches de migration créées, vous n’avez plus besoin de maintenir la connectivité aux environnements source et cible.

Puis-je renommer des bases de données et des collections pendant la migration ?

L’extension ne prend pas en charge le renommage de base de données et de collecte pendant la migration.

Comment configurer mes pare-feu de serveur source pour éviter les problèmes de connectivité ?

La configuration réseau requise dépend du mode de connectivité sélectionné :

  • Mode public : Vous devez autoriser les adresses IP affichées dans l’Assistant sur les pare-feu source et cible pour activer la communication.
  • Mode privé : Vous devez activer l’intégration de réseau virtuel afin que les serveurs DMS puissent communiquer en toute sécurité avec les points de terminaison source et cible au sein du réseau virtuel.

Référez-vous également à la connectivité VS Code

Combien de bases de données et de regroupements puis-je migrer dans une seule migration ?

Vous pouvez inclure jusqu’à 25 collections dans une seule migration. Toutefois, vous pouvez créer et exécuter plusieurs travaux de migration pour migrer d’autres collections.

Combien de travaux de migration puis-je exécuter simultanément ?

Vous pouvez exécuter plusieurs travaux de migration lors de l’utilisation de l’accès public. Toutefois, lors de l’utilisation d’un accès privé, un seul réseau virtuel ne peut prendre en charge qu’un seul travail actif à la fois. Pour exécuter plusieurs travaux avec accès privé, vous devez utiliser un réseau virtuel différent pour chaque travail.

Quel type de journaux l’extension génère-t-elle ?

L’extension enregistre les erreurs, les avertissements et d’autres journaux de diagnostic dans le répertoire des journaux par défaut :

  • Windows - C:\Users\<username>\.dmamongo\logs\
  • Linux - ~/.dmamongo/logs
  • macOS - /Users/<username>/.dmamongo/logs

Étapes suivantes