Esercitazione: Eseguire la migrazione offline di MongoDB all'API di Azure Cosmos DB per MongoDB con il servizio Migrazione del databaseTutorial: Migrate MongoDB to Azure Cosmos DB's API for MongoDB offline using DMS

È possibile usare Servizio Migrazione del database di Azure per eseguire una migrazione offline (una tantum) di database da un'istanza locale o cloud di MongoDB all'API di Azure Cosmos DB per MongoDB.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.

In questa esercitazione si apprenderà come:In this tutorial, you learn how to:

  • Creare un'istanza del Servizio Migrazione del database di Azure.Create an instance of Azure Database Migration Service.
  • Creare un progetto di migrazione tramite il Servizio Migrazione del database di Azure.Create a migration project by using Azure Database Migration Service.
  • Eseguire la migrazione.Run the migration.
  • Monitorare la migrazione.Monitor the migration.

In questa esercitazione si esegue la migrazione di un set di dati in MongoDB ospitato in una macchina virtuale di Azure all'API di Azure Cosmos DB per MongoDB usando Servizio Migrazione del database di Azure.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. Se non è già stata configurata un'origine MongoDB, vedere l'articolo Installare e configurare MongoDB in una VM Windows in 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.

PrerequisitiPrerequisites

Per completare questa esercitazione, è necessario:To complete this tutorial, you need to:

  • Completare la procedura di pre-migrazione, ad esempio stimare la velocità effettiva, scegliere una chiave di partizione e i criteri di indicizzazione.Complete the pre-migration steps such as estimating throughput, choosing a partition key, and the indexing policy.

  • Creare un account dell'API di Azure Cosmos DB per MongoDB.Create an Azure Cosmos DB's API for MongoDB account.

  • Creare una rete virtuale di Azure per Servizio Migrazione del database di Azure usando il modello di distribuzione Azure Resource Manager, che offre la connettività da sito a sito per i server di origine locali con ExpressRoute o VPN.Create an Azure Virtual Network (VNet) 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. Per altre informazioni sulla creazione di una rete virtuale, vedere Documentazione sulla rete virtuale e in particolare gli articoli di avvio rapido con istruzioni dettagliate.For more information about creating a VNet, see the Virtual Network Documentation, and especially the quickstart articles with step-by-step details.

    Nota

    Durante la configurazione della rete virtuale, se si usa ExpressRoute con peering di rete per Microsoft, aggiungere gli endpoint di servizio seguenti alla subnet in cui verrà effettuato il provisioning del servizio:During VNet 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:

    • Endpoint del database di destinazione (ad esempio endpoint SQL, endpoint Cosmos DB e così via)Target database endpoint (for example, SQL endpoint, Cosmos DB endpoint, and so on)
    • Endpoint di archiviazioneStorage endpoint
    • Endpoint bus di servizioService bus endpoint

    Questa configurazione è necessaria perché il Servizio Migrazione del database di Azure non ha connettività Internet.This configuration is necessary because Azure Database Migration Service lacks internet connectivity.

  • Verificare che le regole del gruppo di sicurezza di rete (NSG) per la rete virtuale non blocchino le porte di comunicazione: 53, 443, 445, 9354 e da 10000 a 20000.Ensure that your VNet Network Security Group (NSG) rules don't block the following communication ports: 53, 443, 445, 9354, and 10000-20000. Per informazioni dettagliate sui filtri del traffico dei gruppi di sicurezza di rete relativi alla rete virtuale di Azure, vedere l'articolo Filtrare il traffico di rete con gruppi di sicurezza di rete.For more detail on Azure VNet NSG traffic filtering, see the article Filter network traffic with network security groups.

  • Aprire Windows Firewall per consentire a Servizio Migrazione del database di Azure di accedere al server MongoDB di origine, per impostazione predefinita attraverso la porta TCP 27017.Open your Windows firewall to allow Azure Database Migration Service to access the source MongoDB server, which by default is TCP port 27017.

  • Quando si usa un'appliance firewall all'ingresso dei database di origine, potrebbe essere necessario aggiungere regole del firewall per consentire al Servizio Migrazione del database di Azure di accedere ai database di origine per la migrazione.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.

Registrare il provider di risorse Microsoft.DataMigrationRegister the Microsoft.DataMigration resource provider

  1. Accedere al portale di Azure, selezionare Tutti i servizi, quindi selezionare Sottoscrizioni.Sign in to the Azure portal, select All services, and then select Subscriptions.

    Mostra le sottoscrizioni del portale

  2. Selezionare la sottoscrizione in cui si desidera creare l'istanza del Servizio Migrazione del database di Azure e quindi selezionare Provider di risorse.Select the subscription in which you want to create the instance of the Azure Database Migration Service, and then select Resource providers.

    Visualizzare i provider di risorse

  3. Ricercare la migrazione e quindi a destra del Microsoft.DataMigration selezionare Registro.Search for migration, and then to the right of Microsoft.DataMigration, select Register.

    Registrare il provider di risorse

Creare un'istanzaCreate an instance

  1. Nel portale di Azure selezionare + Crea una risorsa, cercare Servizio Migrazione del database di Azure e quindi selezionare Servizio Migrazione del database di Azure dall'elenco a discesa.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.

    Azure Marketplace

  2. Nella schermata Servizio Migrazione del database di Azure selezionare Crea.On the Azure Database Migration Service screen, select Create.

    Creare l'istanza del Servizio Migrazione del database di Azure

  3. Nella schermata Crea servizio Migrazione specificare un nome per il servizio, la sottoscrizione e un gruppo di risorse nuovo o esistente.On the Create Migration Service screen, specify a name for the service, the subscription, and a new or existing resource group.

  4. Selezionare la località in cui si vuole creare l'istanza del Servizio Migrazione del database di Azure.Select the location in which you want to create the instance of Azure Database Migration Service.

  5. Selezionare una rete virtuale esistente o crearne una nuova.Select an existing VNet or create a new one.

    La rete virtuale consente a Servizio Migrazione del database di Azure di accedere all'istanza di MongoDB di origine e all'account Azure Cosmos DB di destinazione.The VNet provides Azure Database Migration Service with access to the source MongoDB instance and the target Azure Cosmos DB account.

    Per altre informazioni su come creare una rete virtuale nel portale di Azure, vedere l'articolo Creare una rete virtuale usando il portale di Azure.For more information about how to create a VNet in the Azure portal, see the article Create a virtual network using the Azure portal.

  6. Selezione di un piano tariffario.Select a pricing tier.

    Per altre informazioni sui costi e i piani tariffari, vedere la pagina relativa ai prezzi.For more information on costs and pricing tiers, see the pricing page.

    Configurare le impostazioni dell'istanza del Servizio Migrazione del database di Azure

  7. Selezionare Crea per creare il servizio.Select Create to create the service.

Creare un progetto di migrazioneCreate a migration project

Dopo aver creato il servizio, individuarlo nel portale di Azure, aprirlo e creare un nuovo progetto di migrazione.After the service is created, locate it within the Azure portal, open it, and then create a new migration project.

  1. Nel portale di Azure selezionare Tutti i servizi, eseguire la ricerca di Servizio Migrazione del database di Azure e quindi selezionare Servizio Migrazione del database di Azure.In the Azure portal, select All services, search for Azure Database Migration Service, and then select Azure Database Migration Services.

    Individuare tutte le istanze di Servizio Migrazione del database di Azure

  2. Nella schermata Servizi Migrazione del database di Azure cercare il nome dell'istanza di Servizio Migrazione del database di Azure appena creata e quindi selezionare l'istanza.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. Selezionare + Nuovo progetto di migrazione.Select + New Migration Project.

  4. Nella schermata Nuovo progetto di migrazione specificare un nome per il progetto e quindi selezionare MongoDB nella casella di testo Tipo del server di origine, CosmosDB (API MongoDB) nella casella di testo Tipo del server di destinazione e Migrazione dei dati offline per Scegli il tipo di attività.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.

    Creare un progetto del servizio Migrazione del database

  5. Selezionare Crea ed esegui attività per creare il progetto ed eseguire l'attività di migrazione.Select Create and run activity to create the project and run the migration activity.

Specificare le informazioni di origineSpecify source details

  1. Nella schermata Dettagli origine specificare i dettagli di connessione per il server MongoDB di origine.On the Source details screen, specify the connection details for the source MongoDB server.

    Per la connessione a un'origine sono disponibili tre modalità:There are three modes to connect to a source:

    • Modalità standard, che accetta un nome di dominio completo o un indirizzo IP, il numero di porta e le credenziali di connessione.Standard mode, which accepts a fully qualified domain name or an IP address, Port number, and connection credentials.
    • Modalità stringa di connessione, che accetta una stringa di connessione di MongoDB come illustrato nell'articolo Connection String URI Format (Formato URI della stringa di connessione).Connection string mode, which accepts a MongoDB Connection string as described in the article Connection String URI Format.
    • Dati di Archiviazione di Azure, che accetta l'URL di firma di accesso condiviso di un contenitore BLOB.Data from Azure storage, which accepts a blob container SAS URL. Selezionare Il BLOB contiene i dump BSON se il contenitore BLOB include dump BSON generati dallo strumento bsondump di MongoDB e deselezionare questa opzione se il contenitore contiene file 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.

    Se si seleziona questa opzione, assicurarsi che la stringa di connessione dell'account di archiviazione abbia questo formato:If you select this option, be sure that the storage account connection string appears in the format:

    https://blobnameurl/container?SASKEY
    

    Inoltre, in base alle informazioni sui dump nell'archiviazione di Azure, tenere presenti i dettagli seguenti.Also, based on the type dump information in Azure storage, keep the following detail in mind.

    • Per i dump BSON, i dati all'interno del contenitore di BLOB devono essere in formato bsondump, in modo che i file di dati vengano inseriti in cartelle con gli stessi nomi dei database che li contengono nel formato 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. I nomi dei file di metadati (se presenti) dovranno essere in formato collection.metadata.json.Metadata files (if any) should be named using the format collection.metadata.json.

    • Per i dump JSON, i file nel contenitore di BLOB devono essere inseriti in cartelle con gli stessi nomi dei database che li contengono.For JSON dumps, the files in the blob container must be placed into folders named after the containing databases. All'interno di ogni cartella di database i file di dati devono essere inseriti in una sottocartella chiamata "data" e avere nomi nel formato collection.json.Within each database folder, data files must be placed in a subfolder called "data" and named using the format collection.json. I file di metadati (se presenti) devono essere inseriti in una sottocartella chiamata "metadata" e avere nomi nello stesso formato collection.json.Metadata files (if any) must be placed in a subfolder called "metadata" and named using the same format, collection.json. I file di metadati devono avere lo stesso formato di quelli prodotti con lo strumento bsondump di MongoDB.The metadata files must be in the same format as produced by the MongoDB bsondump tool.

    Nelle situazioni in cui la risoluzione del nome DNS non è possibile, si può usare l'indirizzo IP.You can also use the IP Address for situations in which DNS name resolution isn't possible.

    Specificare le informazioni di origine

  2. Selezionare Salva.Select Save.

Specificare i dettagli della destinazioneSpecify target details

  1. Nella schermata Dettagli destinazione della migrazione specificare i dettagli di connessione dell'account Azure Cosmos DB di destinazione, che è l'account dell'API di Azure Cosmos DB per MongoDB di cui è già stato effettuato il provisioning e verso cui si esegue la migrazione dei dati 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.

    Specificare i dettagli della destinazione

  2. Selezionare Salva.Select Save.

Eseguire il mapping nei database di destinazioneMap to target databases

  1. Nella schermata Map to target databases (Esegui il mapping nel database di destinazione) eseguire il mapping del database di origine e del database di destinazione per la migrazione.On the Map to target databases screen, map the source and the target database for migration.

    Se il database di destinazione contiene lo stesso nome del database di origine, il Servizio Migrazione del database di Azure seleziona il database di destinazione per impostazione predefinita.If the target database contains the same database name as the source database, Azure Database Migration Service selects the target database by default.

    Se accanto al nome del database viene visualizzata la stringa Create (Crea), ciò indica che Servizio Migrazione del database di Azure non ha trovato il database di destinazione e provvederà quindi a crearlo.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.

    A questo punto della migrazione è possibile eseguire il provisioning della velocità effettiva.At this point in the migration, you can provision throughput. In Cosmos DB è possibile effettuare il provisioning della velocità effettiva a livello di database o di singola raccolta.In Cosmos DB, you can provision throughput either at the database-level or individually for each collection. La velocità effettiva viene misurata in unità richiesta (UR).Throughput is measured in Request Units (RUs). Vedere altre informazioni sui prezzi di Azure Cosmos DB.Learn more about Azure Cosmos DB pricing.

    Eseguire il mapping nei database di destinazione

  2. Selezionare Salva.Select Save.

  3. Nella schermata Impostazioni raccolta espandere l'elenco delle raccolte, quindi esaminare le raccolte di cui verrà eseguita la migrazione.On the Collection setting screen, expand the collections listing, and then review the list of collections that will be migrated.

    Servizio Migrazione del database di Azure seleziona automaticamente tutte le raccolte esistenti nell'istanza di MongoDB di origine che non esistono nell'account Azure Cosmos DB di destinazione.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. Se si vuole eseguire di nuovo la migrazione delle raccolte che includono già dati, occorre selezionarle esplicitamente in questo pannello.If you want to remigrate collections that already include data, you need to explicitly select the collections on this blade.

    È possibile specificare la quantità di UR da usare per le raccolte.You can specify the amount of RUs that you want the collections to use. Servizio Migrazione del database di Azure suggerisce le impostazioni predefinite intelligenti in base alle dimensioni della raccolta.Azure Database Migration Service suggests smart defaults based on the collection size.

    Nota

    Eseguire la migrazione del database e la raccolta in parallelo usando più istanze di Servizio Migrazione del database di Azure, se necessario, per rendere più rapida l'esecuzione.Perform the database migration and collection in parallel using multiple instances of Azure Database Migration Service, if necessary, to speed up the run.

    È anche possibile specificare una chiave di partizione per sfruttare il partizionamento in Azure Cosmos DB per una scalabilità ottimale.You can also specify a shard key to take advantage of partitioning in Azure Cosmos DB for optimal scalability. Esaminare le procedure consigliate per la selezione di una chiave di partizione.Be sure to review the best practices for selecting a shard/partition key.

    Selezionare le tabelle delle collezioni

  4. Selezionare Salva.Select Save.

  5. Nella schermata Riepilogo migrazione specificare un nome per l'attività di migrazione nella casella di testo Nome attività.On the Migration summary screen, in the Activity name text box, specify a name for the migration activity.

    Riepilogo della migrazione

Eseguire la migrazioneRun the migration

  • Selezionare Esegui migrazione.Select Run migration.

    Viene visualizzata la finestra dell'attività di migrazione con il campo Stato dell'attività impostato su Non avviato.The migration activity window appears, and the Status of the activity is Not started.

    Stato dell'attività

Monitorare la migrazioneMonitor the migration

  • Nella schermata dell'attività di migrazione selezionare Aggiorna per aggiornare la visualizzazione finché nel campo Stato delle migrazioni non viene indicato Completata.On the migration activity screen, select Refresh to update the display until the Status of the migration shows as Completed.

    Nota

    È possibile selezionare l'attività per ottenere dettagli sulle metriche di migrazione a livello di database e raccolta.You can select the Activity to get details of database- and collection-level migration metrics.

    Stato dell'attività completato

Verificare i dati in Cosmos DBVerify data in Cosmos DB

  • Al termine della migrazione è possibile verificare l'account Azure Cosmos DB per verificare che sia stata eseguita la migrazione di tutte le raccolte.After the migration completes, you can check your Azure Cosmos DB account to verify that all the collections were migrated successfully.

    Stato dell'attività completato

Ottimizzazione della post-migrazionePost-migration optimization

Dopo aver eseguito la migrazione dei dati archiviati nel database MongoDB nell'API per MongoDB di Azure Cosmos DB, è possibile connettersi ad Azure Cosmos DB e gestire i dati.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. È anche possibile eseguire altre procedure di ottimizzazione della post-migrazione, ad esempio: ottimizzare i criteri di indicizzazione, aggiornare il livello di coerenza predefinito o configurare la distribuzione globale per l'account 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. Per altre informazioni, vedere l'articolo Ottimizzazione della post-migrazione.For more information, see the Post-migration optimization article.

Risorse aggiuntiveAdditional resources

Passaggi successiviNext steps