Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
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
- Si vous n’avez pas d’abonnement Azure, créez un compte gratuit
Un cluster Azure DocumentDB existant
- Si vous n’avez pas de cluster, créez un cluster
- Installez l’extension de migration Azure DocumentDB sur votre machine. Cette opération installe automatiquement ses prérequis, l’extension DocumentDB pour Visual Studio Code .
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
readAnyDatabaseetclusterMonitordes 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,insertetlistCollections.
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
- Ouvrez l’extension DocumentDB pour VS Code .
- Ajoutez le serveur MongoDB que vous souhaitez migrer vers la liste connexions de base de données document .
- Sélectionnez Ajouter une nouvelle connexion.
- Dans la barre de navigation, sélectionnez Chaîne de connexion.
- Collez votre chaîne de connexion :
mongodb://<YOUR_USERNAME>:<YOUR_PASSWORD>@localhost:10260/?tls=true&tlsAllowInvalidCertificates=true&authMechanism=SCRAM-SHA-256 - 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.
Cliquez avec le bouton droit sur une connexion étendue (connectée).
Sélectionnez Migration de données dans le menu contextuel.
Sélectionnez Migrer vers Azure DocumentDB dans la palette de commandes.
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.
Étape 2 : Sélectionner la cible
Dans cette étape, vous sélectionnez un compte Azure DocumentDB existant et fournissez sa chaîne de connexion.
Sélectionnez l’abonnement, le groupe de ressources et le compte Azure DocumentDB dans les listes déroulantes.
Indiquez la chaîne de connexion au compte Azure DocumentDB.
Vérifiez que l’adresse IP répertoriée dans l’écran est autorisée sur le pare-feu Azure DocumentDB.
Sélectionnez Suivant pour continuer.
É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.
É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 .
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.
Sélectionnez l’abonnement, le groupe de ressources et le réseau virtuel dans les listes déroulantes.
Exécutez le script PowerShell fourni à l’écran pour activer l’intégration du réseau virtuel.
Sélectionnez Suivant pour continuer.
É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.
É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.
Pour afficher l’état de la collection, sélectionnez une ligne dans la table.
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é :
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.
Quand vous êtes prêt à effectuer le basculement de migration, arrêtez toutes les transactions entrantes vers les collections sources en cours de migration.
L’intervalle de réplication indique l’intervalle de temps entre la dernière mise à jour et l’heure actuelle.
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.
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.
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.
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
Allez sur le portail Azure et accédez à votre abonnement.
Dans le menu de gauche, sélectionnez Fournisseurs de ressources sous Paramètres.
Recherchez Microsoft.DataMigration dans la zone de recherche en haut.
S’il n’est pas inscrit, sélectionnez-le et sélectionnez le bouton Inscrire .
Azure CLI
Ouvrez Azure Cloud Shell ou votre terminal local.
Exécutez la commande suivante pour enregistrer le fournisseur de ressources :
az provider register --namespace Microsoft.DataMigration
PowerShell
Ouvrez Azure Cloud Shell ou votre PowerShell local.
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