Esercitazione: Eseguire la migrazione offline di MongoDB ad Azure Cosmos DB per MongoDB ur usando Servizio Migrazione del database di Azure

SI APPLICA A: Mongodb

Importante

Leggere questa guida completa prima di eseguire i passaggi di migrazione. Servizio Migrazione del database di Azure attualmente non supporta le migrazioni a un account vCore di Azure Cosmos DB per MongoDB. Usare l'estensione Azure Cosmos DB per MongoDB in Azure Data Studio per eseguire la migrazione offline dei workfload MongoDB ad Azure Cosmos DB per MongoDB vCore.

Questa guida alla migrazione di MongoDB fa parte della serie sulla migrazione di MongoDB. I passaggi critici per la migrazione di MongoDB sono pre-migrazione, migrazione e post-migrazione, come illustrato di seguito.

Diagram of migration steps.

Panoramica della migrazione dei dati offline da MongoDB ad Azure Cosmos DB tramite Servizio Migrazione del database

Usare Servizio Migrazione del database di Azure per eseguire una migrazione offline monouso dei database da un'istanza locale o cloud di MongoDB ad Azure Cosmos DB per MongoDB.

In questa esercitazione apprenderai a:

  • Creare un'istanza del servizio Migrazione del database di Azure.
  • Creare un progetto di migrazione tramite il Servizio Migrazione del database di Azure.
  • Eseguire la migrazione.
  • Monitorare la migrazione.

In questa esercitazione si esegue la migrazione di un set di dati in MongoDB ospitato in una macchina virtuale di Azure. Usando Servizio Migrazione del database di Azure, si esegue la migrazione del set di dati ad Azure Cosmos DB per MongoDB. Se non è già configurata un'origine MongoDB, vedere Installare e configurare MongoDB in una macchina virtuale Windows in Azure.

Prerequisiti

Per completare questa esercitazione, è necessario:

  • Completare i passaggi di pre-migrazione , ad esempio stimare la velocità effettiva e scegliere una chiave di partizione.

  • Creare un account per Azure Cosmos DB per MongoDB.

    Nota

    Il servizio Migrazione del database non è attualmente supportato se si esegue la migrazione a un account Azure Cosmos DB per MongoDB di cui è stato effettuato il provisioning con modalità serverless.

  • Creare un Rete virtuale di Microsoft Azure per Servizio Migrazione del database di Azure usando Azure Resource Manager. Questo modello di distribuzione fornisce connettività da sito a sito ai server di origine locali usando Azure ExpressRoute o VPN. Per altre informazioni sulla creazione di una rete virtuale, vedere la documentazione di Azure Rete virtuale, in particolare gli articoli di "avvio rapido" con informazioni dettagliate.

    Nota

    Durante la configurazione della rete virtuale, se si usa ExpressRoute con il peering di rete per Microsoft, aggiungere gli endpoint servizio seguenti alla subnet in cui verrà effettuato il provisioning del servizio:

    • Endpoint del database di destinazione (ad esempio, endpoint SQL o endpoint di Azure Cosmos DB)
    • Endpoint di archiviazione
    • Endpoint bus di servizio

    Questa configurazione è necessaria perché il Servizio Migrazione del database di Azure non ha connettività Internet.

  • Assicurarsi che le regole del gruppo di sicurezza di rete (NSG) per la rete virtuale non blocchino le porte di comunicazione seguenti: 53, 443, 445, 9354 e 10000-20000. Per altre informazioni, vedere Filtrare il traffico di rete con gruppi di sicurezza di rete.

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

  • Quando si usa un'appliance firewall davanti al database di origine, potrebbe essere necessario aggiungere regole del firewall per consentire al Servizio Migrazione del database di Azure di accedere al database di origine per la migrazione.

Configurare la funzionalità Ripetizione tentativi lato server

È possibile trarre vantaggio dalle funzionalità di governance delle risorse se si esegue la migrazione da MongoDB ad Azure Cosmos DB. Con queste funzionalità, è possibile usare completamente le unità richiesta di cui è stato effettuato il provisioning (UR/sec) della velocità effettiva. Azure Cosmos DB potrebbe limitare una determinata richiesta di Servizio Migrazione del database durante la migrazione, se tale richiesta supera le UR/sec con provisioning del contenitore. Quindi la richiesta deve essere ritentata.

Servizio Migrazione del database è in grado di eseguire nuovi tentativi. È importante comprendere che il tempo di round trip coinvolto nell'hop di rete tra Servizio Migrazione del database e Azure Cosmos DB influisce sul tempo di risposta complessivo di tale richiesta. Il miglioramento del tempo di risposta per le richieste limitate può ridurre il tempo totale necessario per la migrazione.

La funzionalità Di ripetizione dei tentativi lato server di Azure Cosmos DB consente al servizio di intercettare i codici di errore di limitazione e riprovare con un tempo di round trip molto inferiore, migliorando notevolmente i tempi di risposta delle richieste.

Per usare La ripetizione lato server, nel portale di Azure Cosmos DB selezionare Funzionalità>tentativi lato server.

Screenshot that shows where to find the Server Side Retry feature.

Se la funzionalità è disabilitata, selezionare Abilita.

Screenshot that shows how to enable Server Side Retry.

Registrare il provider di risorse

Prima di creare la prima istanza del servizio Migrazione del database, registrare il provider di risorse Microsoft.DataMigration.

  1. Accedi al portale di Azure. Cerca e seleziona Sottoscrizioni.

    Show portal subscriptions

  2. Selezionare la sottoscrizione in cui si vuole creare l'istanza del Servizio Migrazione del database di Azure e quindi selezionare Provider di risorse.

    Show resource providers

  3. Cercare migration e quindi selezionare Registra per Microsoft.DataMigration.

    Register resource provider

Creare un'istanza

  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.

    Screenshot that shows Azure Marketplace.

  2. Nella schermata Servizio Migrazione del database di Azure selezionare Crea.

    Screenshot that shows how to create an instance of Azure Database Migration Service.

  3. In Crea servizio migrazione specificare un nome per il servizio, la sottoscrizione e un gruppo di risorse nuovo o esistente.

  4. Selezionare la località in cui si vuole creare l'istanza del Servizio Migrazione del database di Azure.

  5. Selezionare una rete virtuale esistente o crearne una nuova.

    La rete virtuale consente al Servizio Migrazione del database di Azure di accedere all'istanza di MongoDB di origine e all'account Azure Cosmos DB di destinazione.

    Per altre informazioni su come creare una rete virtuale nella portale di Azure, vedere Creare una rete virtuale usando il portale di Azure.

  6. Selezionare un piano tariffario.

    Per altre informazioni sui costi e i piani tariffari, vedere la pagina relativa ai prezzi.

    Screenshot that shows configuration settings for the instance of Azure Database Migration Service.

  7. Selezionare Crea per creare il servizio.

Creare un progetto di migrazione

Dopo aver creato il servizio, individuarlo all'interno del portale di Azure e aprirlo. Creare quindi un nuovo progetto di migrazione.

  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.

    Screenshot that shows how to locate all instances of Azure Database Migration Service.

  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.

  3. Selezionare + Nuovo progetto di migrazione.

  4. In Nuovo progetto di migrazione specificare un nome per il progetto e nella casella di testo Tipo server di origine selezionare MongoDB. Nella casella di testo Tipo di server di destinazione selezionare Azure Cosmos DB per NoSQL e quindi selezionare Migrazione dei dati offline per Scegliere il tipo di attività.

    Screenshot that shows project options.

  5. Selezionare Crea ed esegui attività per creare il progetto ed eseguire l'attività di migrazione.

Specificare i dettagli dell'origine

  1. Nella schermata Dettagli origine specificare i dettagli di connessione per il server MongoDB di origine.

    Importante

    Servizio Migrazione del database di Azure non supporta Azure Cosmos DB come origine.

    Per la connessione a un'origine sono disponibili tre modalità:

    • Modalità standard, che accetta un nome di dominio completo o un indirizzo IP, un numero di porta e credenziali di connessione.

    • Connessione modalità stringa, che accetta un stringa di connessione MongoDB come descritto in formato URI stringa di Connessione ion.

    • Dati di Archiviazione di Azure, che accetta l'URL di firma di accesso condiviso di un contenitore BLOB. Selezionare BLOB contiene dump BSON se il contenitore BLOB include dump BSON generati dallo strumento bsondump MongoDB. Non selezionare questa opzione se il contenitore contiene file JSON.

      Se si seleziona questa opzione, assicurarsi che l'account di archiviazione stringa di connessione venga visualizzato nel formato seguente:

      https://blobnameurl/container?SASKEY
      

      Questo stringa di connessione sas del contenitore BLOB è disponibile in Archiviazione di Azure Explorer. La creazione della firma di accesso condiviso per il contenitore interessato fornisce l'URL nel formato richiesto.

      Inoltre, in base alle informazioni sul dump dei tipi in Archiviazione di Azure, tenere presente quanto segue:

      • Per i dump BSON, i dati all'interno del contenitore BLOB devono essere nel formato bsondump. Inserire i file di dati in cartelle denominate in base ai database contenenti nel formato collection.bson. Assegnare un nome ai file di metadati usando il formato 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. All'interno di ogni cartella di database, i file di dati devono essere inseriti in una sottocartella denominata data e denominati usando il formato collection.json. Inserire tutti i file di metadati in una sottocartella denominata metadati e denominati usando lo stesso formato, collection.json. I file di metadati devono avere lo stesso formato di quelli prodotti con lo strumento bsondump di MongoDB.

    Importante

    Non è consigliabile usare un certificato autofirmato nel server MongoDB. Se è necessario usarne uno, connettersi al server usando la modalità stringa di connessione e assicurarsi che il stringa di connessione contenga virgolette ("").

    &sslVerifyCertificate=false
    

    È anche possibile usare l'indirizzo IP per situazioni in cui la risoluzione dei nomi DNS non è possibile.

    Screenshot that shows specifying source details.

  2. Seleziona Salva.

Specificare i dettagli della destinazione

  1. Nella schermata Dettagli destinazione migrazione specificare i dettagli di connessione per l'account Azure Cosmos DB di destinazione. Questo account è l'account Azure Cosmos DB per MongoDB con provisioning preliminare a cui si esegue la migrazione dei dati di MongoDB.

    Screenshot that shows specifying target details.

  2. Seleziona Salva.

Eseguire il mapping nei database di destinazione

  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.

    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.

    Se Create viene visualizzato accanto al nome del database, indica che Servizio Migrazione del database di Azure non è stato trovato il database di destinazione e il servizio creerà automaticamente il database.

    A questo punto della migrazione è possibile eseguire il provisioning della velocità effettiva. In Azure Cosmos DB è possibile effettuare il provisioning della velocità effettiva a livello di database o singolarmente per ogni raccolta. La velocità effettiva viene misurata in unità richiesta. Vedere altre informazioni sui prezzi di Azure Cosmos DB.

    Screenshot that shows mapping to target databases.

  2. Seleziona Salva.

  3. Nella schermata Impostazioni raccolta espandere l'elenco delle raccolte, quindi esaminare le raccolte di cui verrà eseguita la migrazione.

    Servizio Migrazione del database di Azure seleziona automaticamente tutte le raccolte presenti nell'istanza di MongoDB di origine che non esistono nell'account Azure Cosmos DB di destinazione. Se si desidera rimigrare le raccolte che includono già i dati, è necessario selezionare in modo esplicito le raccolte in questo riquadro.

    È possibile specificare il numero di UR da usare per le raccolte. Servizio Migrazione del database di Azure suggerisce le impostazioni predefinite intelligenti in base alle dimensioni della raccolta.

    Nota

    Eseguire la migrazione e la raccolta del database in parallelo. Se necessario, è possibile usare più istanze di Servizio Migrazione del database di Azure per velocizzare l'esecuzione.

    È anche possibile specificare una chiave di partizione per sfruttare il partizionamento in Azure Cosmos DB per una scalabilità ottimale. Esaminare le procedure consigliate per la selezione di una chiave di partizione/partizione.

    Screenshot that shows selecting collections tables.

  4. Seleziona Salva.

  5. Nella schermata Riepilogo migrazione specificare un nome per l'attività di migrazione nella casella di testo Nome attività.

    Screenshot that shows the nigration summary.

Eseguire la migrazione

Selezionare Esegui migrazione. Viene visualizzata la finestra dell'attività di migrazione e lo stato dell'attività non è avviato.

Screenshot that shows the activity status.

Monitorare la migrazione

Nella schermata dell'attività di migrazione selezionare Aggiorna per aggiornare la visualizzazione fino a quando lo stato della migrazione non viene visualizzato come Completato.

Nota

È possibile selezionare l'attività per ottenere i dettagli delle metriche di migrazione a livello di database e raccolta.

Screnshot that shows the activity status completed.

Verificare i dati in Azure Cosmos DB

Al termine della migrazione, è possibile controllare l'account Azure Cosmos DB per verificare che la migrazione di tutte le raccolte sia stata eseguita correttamente.

Screenshot that shows where to check your Azure Cosmos DB account to verify that all the collections were migrated successfully.

Ottimizzazione della post-migrazione

Dopo la migrazione dei dati archiviati nel database MongoDB ad Azure Cosmos DB per MongoDB, è possibile connettersi ad Azure Cosmos DB e gestire i dati. È anche possibile eseguire altri passaggi di ottimizzazione post-migrazione. Questi potrebbero includere l'ottimizzazione dei criteri di indicizzazione, l'aggiornamento del livello di coerenza predefinito o la configurazione della distribuzione globale per l'account Azure Cosmos DB. Per altre informazioni, vedere Ottimizzazione post-migrazione.

Risorse aggiuntive

Passaggi successivi

Esaminare le indicazioni sulla migrazione per altri scenari nella Guida alla migrazione del database di Azure.