Tutoriel : migrer MongoDB vers l’API Azure Cosmos DB pour MongoDB hors connexion à l’aide de DMSTutorial: Migrate MongoDB to Azure Cosmos DB's API for MongoDB offline using DMS

Vous pouvez utiliser Azure Database Migration Service pour effectuer une migration hors connexion (ponctuelle) de bases de données à partir d’une instance locale ou cloud de MongoDB vers l’API MongoDB Azure Cosmos DB.You can use Azure Database Migration Service to perform an offline (one-time) migration of databases from an on-premises or cloud instance of MongoDB to Azure Cosmos DB's API for MongoDB.

Dans ce tutoriel, vous allez apprendre à :In this tutorial, you learn how to:

  • Créer une instance Azure Database Migration Service.Create an instance of Azure Database Migration Service.
  • Créer un projet de migration en utilisant Azure Database Migration Service.Create a migration project by using Azure Database Migration Service.
  • Exécuter la migration.Run the migration.
  • Surveiller la migration.Monitor the migration.

Dans ce tutoriel, vous allez effectuer la migration d’un jeu de données MongoDB entre une machine virtuelle Azure et l’API Azure Cosmos DB pour MongoDB, à l’aide d’Azure Database Migration Service.In this tutorial, you migrate a dataset in MongoDB hosted in an Azure Virtual Machine to Azure Cosmos DB's API for MongoDB by using Azure Database Migration Service. Si vous n'avez pas encore configuré d'instance source de MongoDB, consultez l'article Installer et configurer MongoDB sur une machine virtuelle Windows dans Azure.If you don't have a MongoDB source set up already, see the article Install and configure MongoDB on a Windows VM in Azure.

PrérequisPrerequisites

Pour suivre ce didacticiel, vous devez effectuer les opérations suivantes :To complete this tutorial, you need to:

  • Les étapesExécuter la prémigration, comme l’estimation du débit, le choix d’une clé de partition et la stratégie d’indexation.Complete the pre-migration steps such as estimating throughput, choosing a partition key, and the indexing policy.

  • Créez un compte d’API Azure Cosmos DB pour MongoDB.Create an Azure Cosmos DB's API for MongoDB account.

  • Créez un réseau virtuel Microsoft Azure pour Azure Database Migration Service à l’aide du modèle de déploiement Azure Resource Manager, qui fournit une connectivité site à site à vos serveurs sources locaux via ExpressRoute ou un VPN.Create a Microsoft Azure Virtual Network for Azure Database Migration Service by using Azure Resource Manager deployment model, which provides site-to-site connectivity to your on-premises source servers by using either ExpressRoute or VPN. Pour plus d’informations sur la création d’un réseau virtuel, consultez la documentation sur le réseau virtuel, en particulier les articles sur le démarrage rapide, qui fournissent des informations pas à pas.For more information about creating a virtual network, see the Virtual Network Documentation, and especially the quickstart articles with step-by-step details.

    Notes

    Pendant la configuration du réseau virtuel, si vous utilisez ExpressRoute avec le peering réseau à Microsoft, ajoutez ces points de terminaison au sous-réseau où doit être provisionné le service :During virtual network setup, if you use ExpressRoute with network peering to Microsoft, add the following service endpoints to the subnet in which the service will be provisioned:

    • Point de terminaison de base de données cible (un point de terminaison SQL ou Cosmos DB, par exemple)Target database endpoint (for example, SQL endpoint, Cosmos DB endpoint, and so on)
    • Point de terminaison de stockageStorage endpoint
    • Point de terminaison Service BusService bus endpoint

    Cette configuration est nécessaire car Azure Database Migration Service ne dispose pas d’une connectivité Internet.This configuration is necessary because Azure Database Migration Service lacks internet connectivity.

  • Vérifiez que les règles de groupe de sécurité de votre réseau virtuel ne bloquent pas les ports de communication suivants : 53, 443, 445, 9354 et 10000-20000.Ensure that your virtual network Network Security Group (NSG) rules don't block the following communication ports: 53, 443, 445, 9354, and 10000-20000. Pour plus d’informations sur le filtrage du trafic de groupe de sécurité réseau de réseau virtuel, consultez l’article Filtrer le trafic avec les groupes de sécurité réseau.For more detail on virtual network NSG traffic filtering, see the article Filter network traffic with network security groups.

  • Ouvrez votre pare-feu Windows pour permettre à Azure Database Migration Service d’accéder au serveur MongoDB source via le port TCP 27017 (par défaut).Open your Windows firewall to allow Azure Database Migration Service to access the source MongoDB server, which by default is TCP port 27017.

  • Lorsque vous utilisez une appliance de pare-feu devant vos bases de données sources, vous devrez peut-être ajouter des règles de pare-feu pour permettre à Azure Database Migration Service d’accéder aux bases de données sources pour la migration.When using a firewall appliance in front of your source database(s), you may need to add firewall rules to allow Azure Database Migration Service to access the source database(s) for migration.

Inscrire le fournisseur de ressources Microsoft.DataMigrationRegister the Microsoft.DataMigration resource provider

  1. Connectez-vous au portail Azure, sélectionnez Tous les services, puis Abonnements.Sign in to the Azure portal, select All services, and then select Subscriptions.

    Afficher les abonnements au portail

  2. Sélectionnez l’abonnement dans lequel vous souhaitez créer l’instance Azure Database Migration Service, puis sélectionnez Fournisseurs de ressources.Select the subscription in which you want to create the instance of the Azure Database Migration Service, and then select Resource providers.

    Afficher les fournisseurs de ressources

  3. Recherchez migration, puis à droite de Microsoft.DataMigration, sélectionnez Inscrire.Search for migration, and then to the right of Microsoft.DataMigration, select Register.

    S’inscrire auprès du fournisseur de ressources

Créer une instanceCreate an instance

  1. Dans le portail Azure, sélectionnez + Créer une ressource, recherchez Azure Database Migration Service, puis sélectionnez Azure Database Migration Service dans la liste déroulante.In the Azure portal, select + Create a resource, search for Azure Database Migration Service, and then select Azure Database Migration Service from the drop-down list.

    Place de marché Azure

  2. Dans l’écran Azure Database Migration Service, sélectionnez Créer.On the Azure Database Migration Service screen, select Create.

    Créer une instance Azure Database Migration Service

  3. Dans l’écran Créer un service de migration, spécifiez un nom pour le service, l’abonnement, et un réseau virtuel nouveau ou existant.On the Create Migration Service screen, specify a name for the service, the subscription, and a new or existing resource group.

  4. Sélectionnez l’emplacement dans lequel vous souhaitez créer l’instance Azure Database Migration Service.Select the location in which you want to create the instance of Azure Database Migration Service.

  5. Sélectionnez un réseau virtuel existant ou créez-en un.Select an existing virtual network or create a new one.

    Le réseau virtuel fournit à Azure Database Migration Service un accès à l’instance MongoDB source et au compte Azure Cosmos DB cible.The virtual network provides Azure Database Migration Service with access to the source MongoDB instance and the target Azure Cosmos DB account.

    Pour plus d’informations sur la création d’un réseau virtuel dans le portail Azure, consultez l’article Créer un réseau virtuel au moyen du portail Azure.For more information about how to create a virtual network in the Azure portal, see the article Create a virtual network using the Azure portal.

  6. Sélectionnez un niveau tarifaire.Select a pricing tier.

    Pour plus d’informations sur les coûts et les niveaux de tarification, consultez la page de tarification.For more information on costs and pricing tiers, see the pricing page.

    Configurer des paramètres d’instance Azure Database Migration Service

  7. Sélectionnez Créer pour créer le service.Select Create to create the service.

Créer un projet de migrationCreate a migration project

Une fois le service créé, recherchez-le dans le portail Azure, ouvrez-le, puis créez un projet de migration.After the service is created, locate it within the Azure portal, open it, and then create a new migration project.

  1. Dans le portail Azure, sélectionnez Tous les services, recherchez Azure Database Migration Service, puis sélectionnez Azure Database Migration Services.In the Azure portal, select All services, search for Azure Database Migration Service, and then select Azure Database Migration Services.

    Localiser toutes les instances Azure Database Migration Service

  2. Dans l’écran Azure Database Migration Services, recherchez le nom de l’instance Azure Database Migration Service que vous avez créée, puis sélectionnez l’instance.On the Azure Database Migration Services screen, search for the name of Azure Database Migration Service instance that you created, and then select the instance.

  3. Sélectionnez + Nouveau projet de migration.Select + New Migration Project.

  4. Sur l'écran Nouveau projet de migration, spécifiez un nom pour le projet. Dans la zone de texte Type de serveur source, sélectionnez MongoDB. Dans la zone de texte Type de serveur cible, sélectionnez CosmosDB (API MongoDB) . Enfin, dans la zone de texte Choisir un type d’activité, sélectionnez Migration de données hors connexion.On the New migration project screen, specify a name for the project, in the Source server type text box, select MongoDB, in the Target server type text box, select CosmosDB (MongoDB API), and then for Choose type of activity, select Offline data migration.

    Créer un projet Azure Database Migration Service

  5. Sélectionnez Créer et exécuter une activité pour créer le projet et exécuter l’activité de migration.Select Create and run activity to create the project and run the migration activity.

Spécifier les détails de la sourceSpecify source details

  1. Sur l'écran Détails de la source, spécifiez les détails de connexion du serveur MongoDB source.On the Source details screen, specify the connection details for the source MongoDB server.

    Important

    Azure Database Migration Service ne prend pas en charge Azure Cosmos DB comme source.Azure Database Migration Service does not support Azure Cosmos DB as a source.

    Il existe trois modes de connexion à une source :There are three modes to connect to a source:

    • Mode standard, qui accepte un nom de domaine complet ou une adresse IP, un numéro de port et des informations d’identification de connexion.Standard mode, which accepts a fully qualified domain name or an IP address, Port number, and connection credentials.

    • Mode de chaîne de connexion, qui accepte une chaîne de connexion MongoDB comme décrit dans l’article sur le format d’URI de la chaîne de connexion.Connection string mode, which accepts a MongoDB Connection string as described in the article Connection String URI Format.

    • Mode de données du stockage Azure, qui accepte une URL SAP du conteneur d’objets blob.Data from Azure storage, which accepts a blob container SAS URL. Sélectionnez L’objet blob contient des images mémoire BSON si le conteneur d’objets blob contient des images mémoire BSON produites par l’outil bsondump MongoDB, et désélectionnez-le si le conteneur contient des fichiers JSON.Select Blob contains BSON dumps if the blob container has BSON dumps produced by the MongoDB bsondump tool, and de-select it if the container contains JSON files.

      Si vous sélectionnez cette option, vérifiez que la chaîne de connexion de compte de stockage s’affiche au format suivant :If you select this option, be sure that the storage account connection string appears in the format:

      https://blobnameurl/container?SASKEY
      

      Cette chaîne de connexion SAP du conteneur d’objets blob se trouve dans l’Explorateur Stockage Azure.This blob container SAS connection string can be found in Azure Storage explorer. La création de la signature d’accès partagé pour le conteneur concerné vous fournira l’URL au format requis ci-dessus.Creating the SAS for the concerned container will provide you the URL in above requested format.

      De plus, en fonction des informations d’images mémoire de type qui se trouvent dans le stockage Azure, gardez à l’esprit les informations suivantes.Also, based on the type dump information in Azure Storage, keep the following detail in mind.

      • Pour les images mémoire BSON, les données dans le conteneur d’objets blob doivent être au format bsondump, de sorte que les fichiers de données sont placés dans des dossiers nommés d’après les bases de données conteneur au format collection.bson.For BSON dumps, the data within the blob container must be in bsondump format, such that data files are placed into folders named after the containing databases in the format collection.bson. Les fichiers de métadonnées (le cas échéant) doivent être nommés en utilisant le format collection.metadata.json.Metadata files (if any) should be named using the format collection.metadata.json.

      • Pour les images mémoire JSON, les fichiers présents dans le conteneur d’objets blob doivent être placés dans des dossiers nommés d’après les bases de données conteneur.For JSON dumps, the files in the blob container must be placed into folders named after the containing databases. Dans chaque dossier de base de données, les fichiers de données doivent être placés dans un sous-dossier appelé « data » et nommé en utilisant le format collection.json.Within each database folder, data files must be placed in a subfolder called "data" and named using the format collection.json. Les fichiers de métadonnées (le cas échéant) doivent être placés dans un sous-dossier appelé « metadata » et nommé en utilisant le même format, collection.json.Metadata files (if any) must be placed in a subfolder called "metadata" and named using the same format, collection.json. Les fichiers de métadonnées doivent être au même format que celui produit par l’outil de bsondump MongoDB.The metadata files must be in the same format as produced by the MongoDB bsondump tool.

    Important

    Il est déconseillé d’utiliser un certificat autosigné sur le serveur mongo.It is discouraged to use a self-signed certificate on the mongo server. Toutefois, si un tel certificat est utilisé, connectez-vous au serveur en utilisant le mode chaîne de connexion et vérifiez que votre chaîne de connexion a “”However, if one is used, please connect to the server using connection string mode and ensure that your connection string has “”

    &sslVerifyCertificate=false
    

    Vous pouvez également utiliser l’adresse IP quand la résolution de noms DNS est impossible.You can also use the IP Address for situations in which DNS name resolution isn't possible.

    Spécifier les détails de la source

  2. Sélectionnez Enregistrer.Select Save.

Spécifier les détails de la cibleSpecify target details

  1. Sur l’écran Détails de la cible de migration, spécifiez les détails de connexion du compte Azure Cosmos DB cible, à savoir le compte d’API Azure Cosmos DB pour MongoDB préprovisionné vers lequel vous migrez vos données MongoDB.On the Migration target details screen, specify the connection details for the target Azure Cosmos DB account, which is the pre-provisioned Azure Cosmos DB's API for MongoDB account to which you're migrating your MongoDB data.

    Spécifier les détails de la cible

  2. Sélectionnez Enregistrer.Select Save.

Mapper aux bases de données ciblesMap to target databases

  1. Dans l’écran Mapper aux bases de données cibles, mappez les bases de données source et cible pour la migration.On the Map to target databases screen, map the source and the target database for migration.

    Si la base de données cible porte le même nom que la base de données source, Azure Database Migration Service sélectionne la base de données cible par défaut.If the target database contains the same database name as the source database, Azure Database Migration Service selects the target database by default.

    Si la chaîne Create s’affiche en regard du nom de la base de données, cela indique qu’Azure Database Migration Service n’a pas trouvé la base de données cible et qu’il va créer la base de données pour vous.If the string Create appears next to the database name, it indicates that Azure Database Migration Service didn't find the target database, and the service will create the database for you.

    À ce stade de la migration, vous pouvez configurer le débit.At this point in the migration, you can provision throughput. Dans Cosmos DB, vous pouvez configurer le débit au niveau de la base de données ou individuellement pour chaque collection.In Cosmos DB, you can provision throughput either at the database-level or individually for each collection. Le débit est mesuré en unités de requête (RU).Throughput is measured in Request Units (RUs). Apprenez-en davantage sur les tarifs d'Azure Cosmos DB.Learn more about Azure Cosmos DB pricing.

    Mapper aux bases de données cibles

  2. Sélectionnez Enregistrer.Select Save.

  3. Sur l'écran Paramètre de collection, développez la liste des collections, puis consultez la liste des collections à migrer.On the Collection setting screen, expand the collections listing, and then review the list of collections that will be migrated.

    Azure Database Migration Service sélectionne automatiquement toutes les collections qui se trouvent sur l’instance source de MongoDB et qui ne se trouvent pas dans le compte Azure Cosmos DB cible.Azure Database Migration Service auto selects all the collections that exist on the source MongoDB instance that don't exist on the target Azure Cosmos DB account. Si vous souhaitez migrer à nouveau les collections qui contiennent déjà des données, vous devez sélectionner explicitement ces collections sur ce panneau.If you want to remigrate collections that already include data, you need to explicitly select the collections on this blade.

    Vous pouvez spécifier le nombre de RU à utiliser par les collections.You can specify the amount of RUs that you want the collections to use. Azure Database Migration Service suggère des valeurs par défaut intelligentes en fonction de la taille de la collection.Azure Database Migration Service suggests smart defaults based on the collection size.

    Notes

    Effectuez la migration et la collection de la de base de données en parallèle, en utilisant si nécessaire plusieurs instances d’Azure Database Migration Service, afin d’accélérer l’exécution.Perform the database migration and collection in parallel using multiple instances of Azure Database Migration Service, if necessary, to speed up the run.

    Vous pouvez également spécifier une clé de partition afin de tirer parti du partitionnement dans Azure Cosmos DB pour une extensibilité optimale.You can also specify a shard key to take advantage of partitioning in Azure Cosmos DB for optimal scalability. Veillez à consulter les meilleures pratiques de sélection d'une clé de partition.Be sure to review the best practices for selecting a shard/partition key.

    Sélectionner des tables de collections

  4. Sélectionnez Enregistrer.Select Save.

  5. Dans l’écran Récapitulatif de la migration, spécifiez un nom pour l’activité de migration dans la zone de texte Nom de l’activité.On the Migration summary screen, in the Activity name text box, specify a name for the migration activity.

    Résumé de la migration

Exécuter la migrationRun the migration

  • Sélectionnez Exécuter la migration.Select Run migration.

    La fenêtre d'activité de migration s'affiche. L'État de l'activité est Non démarré.The migration activity window appears, and the Status of the activity is Not started.

    État de l'activité

Surveiller la migrationMonitor the migration

  • Dans l’écran d’activité de migration, sélectionnez Actualiser pour mettre à jour l’affichage jusqu’à voir l’état de la migration s’afficher comme Completed (Terminé).On the migration activity screen, select Refresh to update the display until the Status of the migration shows as Completed.

    Notes

    Vous pouvez sélectionner l'activité pour obtenir des détails sur les métriques de migration au niveau des bases de données et des collections.You can select the Activity to get details of database- and collection-level migration metrics.

    État de l'activité - Terminé

Vérifier les données dans Cosmos DBVerify data in Cosmos DB

  • Au terme de la migration, vous pouvez consulter votre compte Azure Cosmos DB pour vérifier que toutes les collections ont bien été migrées.After the migration completes, you can check your Azure Cosmos DB account to verify that all the collections were migrated successfully.

    État de l'activité - Terminé

Optimisation de la post-migrationPost-migration optimization

Après avoir migré les données stockées dans la base de données MongoDB vers l’API Azure Cosmos DB pour MongoDB, vous pouvez vous connecter à Azure Cosmos DB et gérer les données.After you migrate the data stored in MongoDB database to Azure Cosmos DB’s API for MongoDB, you can connect to Azure Cosmos DB and manage the data. Vous pouvez également effectuer d’autres étapes d’optimisation de la post-migration, comme l’optimisation de la stratégie d’indexation, la mise à jour du niveau de cohérence par défaut ou la configuration de la distribution mondiale pour votre compte Azure Cosmos DB.You can also perform other post-migration optimization steps such as optimizing the indexing policy, update the default consistency level, or configure global distribution for your Azure Cosmos DB account. Pour plus d’informations, consultez l’article Optimisation de la post-migration.For more information, see the Post-migration optimization article.

Ressources supplémentairesAdditional resources

Étapes suivantesNext steps