Condividi tramite


Eseguire la migrazione online da MongoDB ad Azure DocumentDB usando l'estensione di migrazione di Azure DocumentDB (in anteprima pubblica)

In questa esercitazione si usa l'estensione di migrazione di DocumentDB Azure in Visual Studio Code per creare e gestire processi di migrazione da un'istanza locale o cloud di MongoDB per Azure DocumentDB. Questa estensione offre un'interfaccia intuitiva per gli sviluppatori per l'esecuzione di migrazioni senza interruzioni del servizio. L'estensione elimina la necessità di un'infrastruttura aggiuntiva e offre connettività sicura, utilizzo a costo zero e controllo granulare sui database e le raccolte di cui eseguire la migrazione.

L'obiettivo di questo articolo è l'uso del flusso di lavoro integrato dell'estensione per semplificare i passaggi di migrazione direttamente all'interno di Visual Studio Code. Questo approccio è ideale per gli scenari in cui si vuole un'esperienza gestita e semplificata con complessità minima e massima affidabilità.

Prerequisiti

  • Sottoscrizione di Azure

    • Se non si ha una sottoscrizione Azure, creare un account free
  • Un cluster DocumentDB Azure esistente

Prima di avviare la migrazione, preparare il Azure account DocumentDB e l'istanza di MongoDB esistente per la migrazione.

Istanza di MongoDB (origine)

  • Completare la valutazione di pre-migrazione per determinare se sono presenti incompatibilità e avvisi tra l'istanza di origine e l'account di destinazione.
  • Aggiungere un utente con readAnyDatabase e clusterMonitor autorizzazioni, a meno che non ne esista già uno. Questa credenziale viene usata durante la creazione di processi di migrazione nell'estensione.

Azure DocumentDB (destinazione)

  • Raccogliere le credenziali Azure documentDB account.
  • Verificare che l'utente disponga delle autorizzazioni createCollection, dropCollection, createIndex, insert e listCollections.

Autorizzazioni minime necessarie

Usare i ruoli minimi seguenti per creare ed eseguire processi di migrazione.

Ruolo minimo Ambito Si applica alla modalità di connettività Scopo
Lettore Abbonamento Pubblico e privato Elencare sottoscrizioni e gruppi di risorse. Obbligatorio per ogni processo di migrazione.
Collaboratore del servizio di migrazione del database di Azure Gruppo di risorse Pubblico e privato Creare Azure Servizio Migrazione del database. Non è necessario creare un nuovo DMS per ogni migrazione. Un DMS per regione è sufficiente.
Contributor Abbonamento Pubblico e privato Registrare DMS nella sottoscrizione. Si tratta di un'attività una tantum e può essere delegata a un altro utente.
Amministratore dell'accesso degli utenti Rete virtuale Solo privato Assegnare il ruolo di collaboratore di rete all'oggetto principale DMS. Si tratta di un'attività una tantum per ogni rete virtuale e può essere delegata a un altro utente.
Contributor Azure DocumentDB Pubblico e privato Attivare il processo di migrazione.

Per informazioni dettagliate sulla registrazione del provider, vedere Registrare il provider di risorse Microsoft.DataMigration nella tua sottoscrizione.

Importante

L'autenticazione di Microsoft Entra ID non è attualmente supportata nei processi di migrazione. Usare l'autenticazione DocumentDB nativa.

Eseguire la migrazione

Per indicazioni sulla pianificazione del dimensionamento, della velocità e del cutover della migrazione, vedere Procedure consigliate per la migrazione.

Connettersi alla fonte

  1. Aprire l'estensione DocumentDB per VS Code .
  2. Aggiungere il server MongoDB di cui si vuole eseguire la migrazione all'elenco Connessioni al database di documenti .
  3. Selezionare Aggiungi nuova connessione.
  4. Nella barra di spostamento selezionare Stringa di connessione.
  5. Incolla la stringa di connessione: mongodb://<YOUR_USERNAME>:<YOUR_PASSWORD>@localhost:10260/?tls=true&tlsAllowInvalidCertificates=true&authMechanism=SCRAM-SHA-256
  6. In Connessioni documentDB selezionare la connessione ed espanderla per connettersi.

Richiamare l'estensione per la migrazione

È possibile richiamare l'estensione per la migrazione dalle connessioni documentDB.

  1. Fare clic con il pulsante destro del mouse su una connessione espansa (connessa).

  2. Selezionare Migrazione dei dati dal menu di scelta rapida.

    Screenshot del menu di scelta rapida in Visual Studio Code.

  3. Nel riquadro comandi selezionare Migration per Azure DocumentDB. Screenshot del riquadro comandi che elenca gli strumenti di migrazione in Visual Studio Code.

  4. Selezionare quindi Migrate per Azure DocumentDB. Screenshot del riquadro comandi che mostra l'opzione di migrazione in Visual Studio Code.

  5. Una procedura guidata per la migrazione consente di scorrere il processo.

Creare un processo di migrazione

Viene usato un processo di migrazione per eseguire la migrazione di un gruppo di raccolte dall'origine alla destinazione Azure DocumentDB. La procedura guidata per creare un processo di migrazione ha sei fasi.

Passaggio 1: Creare un'attività

In questo passaggio fornisci i dettagli di base per l'incarico.

  • Nome dell'attività: Fornire un nome intuitivo per identificare l'attività di migrazione.

  • Modalità di migrazione: selezionare la modalità di migrazione più appropriata per il caso d'uso.

    • La migrazione online copia i dati della raccolta, assicurandosi che gli aggiornamenti vengano replicati anche durante il processo. Questo metodo è vantaggioso con tempi di inattività minimi, consentendo operazioni continue per la continuità aziendale. Usare questa opzione quando le operazioni in corso sono cruciali e la riduzione del tempo di inattività è una priorità.
    • La migrazione offline acquisisce uno snapshot del database all'inizio, offrendo un approccio più semplice e prevedibile. Funziona bene quando usare una copia statica del database è accettabile e non sono essenziali gli aggiornamenti in tempo reale.

    Importante

    Per garantire la corretta esecuzione delle migrazioni online da MongoDB, ChangeStream deve essere abilitato nel server MongoDB di origine. Senza ChangeStream, le modifiche apportate ai dati dopo la migrazione iniziale non vengono acquisite. Pertanto, usare la modalità di migrazione online solo se ChangeStream è abilitato nel server MongoDB di origine.

  • Connettività: a seconda del mandato di sicurezza e della configurazione della rete dell'organizzazione, scegliere tra Pubblico e Privato.

    • Usare Public quando i server di origine e di destinazione sono accessibili tramite Internet tramite indirizzi IP pubblici. Abilita il supporto per i servizi che richiedono l'accessibilità esterna.
    • Usare Private quando i server di origine o di destinazione sono accessibili esclusivamente tramite indirizzi IP privati all'interno di una rete virtuale. Migliora la sicurezza eliminando l'esposizione alla rete Internet pubblica.

Seleziona Avanti per continuare.

Screenshot della fase di creazione del processo nella procedura guidata.

Passaggio 2: Selezionare la destinazione

In questo passaggio si seleziona un account documentDB Azure esistente e si specifica il relativo stringa di connessione.

  1. Selezionare la sottoscrizione, il gruppo di risorse e Azure account DocumentDB dagli elenchi a discesa.

  2. Specificare la stringa di connessione per l'account DocumentDB di Azure.

  3. Verificare che l'INDIRIZZO IP elencato nella schermata sia consentito nel firewall Azure DocumentDB.

  4. Seleziona Avanti per continuare.

Screenshot del passaggio di selezione della destinazione nella procedura guidata.

Passaggio 3: Selezionare Servizio Migrazione del database(DMS)

Azure Servizio Migrazione del database è un servizio che esegue la migrazione dei dati da e verso Azure piattaforme dati usando l'infrastruttura cloud per il trasferimento dei dati, invece di basarsi sulle risorse locali. Scegliere un'istanza di Azure Servizio Migrazione del database esistente dall'elenco a discesa oppure selezionare Crea Servizio Migrazione del database per creare un nuovo servizio di migrazione.

Importante

Assicurarsi che il provider di risorse Microsoft.DataMigration sia registrato nella propria sottoscrizione. È necessario eseguire questa operazione una sola volta per ogni sottoscrizione.

Seleziona Avanti per continuare.

Screenshot del passaggio seleziona il servizio di migrazione del database nell'assistente.

Passaggio 4: Configurare la connettività

Questa schermata dipende dalla modalità di connettività scelta nel passaggio 1.

Connettività pubblica

Nella connettività pubblica, il processo di migrazione si connette all'origine e alla destinazione usando Internet pubblico. Per abilitare la comunicazione, è necessario aggiornare i firewall di origine e di destinazione. Per abilitare la comunicazione dai server DMS, aggiungere gli indirizzi IP elencati nella schermata ai firewall di origine e di destinazione. Per altre informazioni sul modello di rete, vedere Connettività pubblica. Per indicazioni sulla configurazione del firewall, vedere configurare Azure cluster DocumentDB firewall.

Screenshot del passaggio di configurazione della connettività pubblica nella procedura guidata.

Connettività privata

Nella connettività privata, il processo di migrazione viene eseguito all'interno della rete virtuale. Per comunicare in modo sicuro con le reti virtuali, viene usato il peering di rete virtuale. Per altre informazioni sul modello di rete, vedere Connettività privata.

  1. Lo strumento consente il peering con due reti virtuali, una per l'origine e l'altra per la destinazione. A seconda della configurazione di rete, selezionare la sottoscrizione, il gruppo di risorse e le reti virtuali nell'elenco a discesa.

  2. Nella sezione Configurazione DMS, seleziona un intervallo CIDR che non sia in conflitto con le tue reti virtuali.

  3. Eseguire gli script di PowerShell forniti sullo schermo per abilitare l'integrazione della rete virtuale.

  4. Seleziona Avanti per continuare.

Screenshot del passaggio di configurazione della connettività privata nella procedura guidata.

Passaggio 5: Selezionare le raccolte

In questo passaggio si selezionano le raccolte da includere nel processo di migrazione. Selezionare dall'elenco delle raccolte usando le opzioni di ricerca disponibili. Le raccolte già presenti nella destinazione vengono contrassegnate automaticamente come nella colonna Exists in Target.

Suggerimento

Assicurarsi di selezionare tutte le raccolte da includere perché l'elenco delle raccolte non può essere aggiunto dopo la creazione del processo di migrazione.

Seleziona Avanti per continuare.

Screenshot del passaggio Seleziona raccolte nella procedura guidata.

Passaggio 6: Confermare e avviare

Esaminare i dettagli del processo di migrazione prima di selezionare Avvia migrazione. Se i dettagli devono essere aggiornati, usare il pulsante Modifica dettagli .

Dopo aver creato correttamente il processo di migrazione, si viene reindirizzati automaticamente alla pagina Visualizza processi esistenti

Suggerimento

Le attività di migrazione dei dati vengono eseguite in Azure Servizio Migrazione del database. Pertanto, non è necessario essere connessi agli ambienti di origine e di destinazione durante la migrazione dei dati. Lo stato viene aggiornato nel dashboard a intervalli frequenti.

Monitorare i processi di migrazione esistenti

Usare la scheda Visualizza processi esistenti per monitorare lo stato della migrazione dei processi inizializzati. I lavori sono elencati in base al DMS selezionato. Usa il pulsante Cambia DMS per cambiare la selezione.

Lo stato viene aggiornato automaticamente a intervalli frequenti. Le operazioni offline vengono completate automaticamente una volta che gli snapshot della raccolta selezionata sono copiati nella destinazione. Tuttavia, le migrazioni online devono ricevere il cutover manuale.

Screenshot della schermata di visualizzazione dei lavori esistenti.

Per visualizzare lo stato a livello di raccolta, selezionare una riga dalla tabella.

Screenshot che mostra lo stato delle collezioni per la migrazione offline.

Monitorare le migrazioni online

Le migrazioni online, a differenza delle migrazioni offline, non vengono completate automaticamente. Vengono invece eseguiti continuamente fino a quando non vengono finalizzati manualmente selezionando Cutover.

Per completare la migrazione online, seguire questa procedura nell'ordine specificato:

  1. Il pulsante Cutover viene abilitato al termine del caricamento iniziale dei dati per tutte le raccolte. In questa fase, il processo si trova nella fase di replica, copiando continuamente gli aggiornamenti dall'istanza di origine all'istanza di destinazione per mantenerlo up-to-date con le modifiche più recenti.

  2. Quando si è pronti per eseguire il cutover della migrazione, arrestare tutte le transazioni in ingresso nelle raccolte di origine di cui viene eseguita la migrazione.

  3. Il gap di replica indica il divario di tempo tra l'ultimo aggiornamento e l'ora corrente.

  4. Monitorare le modifiche della replica nella tabella e attendere che la metrica Modifiche di replica eseguite si stabilizzi. Una metrica stabile Modifiche di replica eseguite indica che tutti gli aggiornamenti dall'origine vengono copiati correttamente nella destinazione.

  5. Selezionare Cutover quando il divario della replica è minimo per tutte le raccolte e la metrica Modifiche di Replica Eseguite è stabile.

  6. Verificare manualmente che il numero di righe sia lo stesso tra le raccolte di origine e di destinazione.

Annotazioni

L'esecuzione dell'operazione di cutover senza convalidare la sincronizzazione dell'origine e della destinazione può comportare la perdita di dati.

Screenshot che mostra lo stato della raccolta per la migrazione online

Scenari di migrazione

L'estensione di migrazione di DocumentDB Azure supporta diversi ambienti di origine, tra cui istanze di MongoDB in esecuzione in Azure, data center locali e altri provider di servizi cloud. L'estensione offre opzioni di connettività flessibili per soddisfare diverse configurazioni di rete e requisiti di sicurezza.

Ambienti di origine supportati

La tabella seguente riepiloga le origini di migrazione supportate:

Ambiente di origine Description
All'interno di Azure Istanze di MongoDB in esecuzione in Macchine virtuali di Azure o in altri servizi ospitati da Azure
In sede Server MongoDB in esecuzione nel data center locale o nell'infrastruttura privata
Altri provider di servizi cloud Istanze di MongoDB ospitate in altre piattaforme cloud

Connettività pubblica

In modalità di connettività pubblica, il Azure Servizio Migrazione del database (DMS) si connette ai server di origine e di destinazione tramite Internet pubblico. DMS fornisce indirizzi IP statici che puoi aggiungere agli elenchi di indirizzi consentiti del firewall sia per i server di origine che di destinazione. DMS utilizza una rete virtuale pubblica condivisa per tutte le migrazioni all'interno di una determinata regione. Anche se questa rete virtuale viene condivisa tra i clienti, ogni processo di migrazione viene eseguito nel proprio nodo di lavoro privato isolato per garantire l'isolamento a livello di processo.

Usare la connettività pubblica quando:

  • I server di origine e di destinazione sono accessibili tramite indirizzi IP pubblici.
  • I criteri di sicurezza dell'organizzazione consentono le connessioni tramite Internet pubblico.
  • È necessaria una configurazione più semplice senza la configurazione della rete virtuale.

Diagramma che mostra l'architettura di rete per la connettività pubblica.

Per abilitare la connettività pubblica:

  1. Nella migrazione guidata selezionare Pubblico come modalità di connettività.

  2. Prendere nota degli indirizzi IP statici visualizzati nella procedura guidata.

  3. Aggiungere questi indirizzi IP all'elenco di indirizzi consentiti del firewall nel server MongoDB di origine.

  4. Aggiungere questi indirizzi IP al firewall di Azure DocumentDB.

Connettività privata

In modalità di connettività privata, DMS effettua il provisioning di una rete virtuale privata dedicata per ogni processo di migrazione e la effettua il peering con le reti virtuali di origine e di destinazione. Ciò significa che ogni processo ottiene sia nodi di lavoro isolati che una rete isolata, assicurando che nessun traffico interseca tra processi e non esistano percorsi di rete condivisi tra i clienti.

L'estensione supporta fino a due reti virtuali:

  • Rete virtuale di origine: la rete virtuale in cui è accessibile il server MongoDB di origine.
  • Rete virtualeTarget: la rete virtuale in cui è accessibile il cluster documentDB Azure.

Usare la connettività privata quando:

  • I server di origine o di destinazione non sono accessibili tramite la rete Internet pubblica.
  • L'organizzazione richiede che tutto il traffico attraversi le reti private.
  • È necessario evitare l'esposizione a Internet pubblico.

Da altri provider di servizi cloud o locali

Usare gli strumenti VPN preferiti per configurare la connettività di rete tra Azure e l'ambiente di origine in un altro cloud o in locale.

Diagramma che mostra l'architettura di rete per la connettività privata da un altro provider di servizi cloud o locale.

Da un endpoint privato in Azure

Configurare endpoint privati per le reti virtuali di origine e di destinazione.

Diagram che mostra l'architettura di rete per la connettività privata all'interno di Azure

Per abilitare la connettività privata:

  1. Nella migrazione guidata selezionare Privato come modalità di connettività.

  2. Selezionare la sottoscrizione, il gruppo di risorse e la rete virtuale per l'ambiente di origine.

  3. Selezionare la sottoscrizione, il gruppo di risorse e la rete virtuale per l'ambiente di destinazione.

  4. Nella sezione Configurazione DMS, selezionare un intervallo CIDR che non confligge con le reti virtuali esistenti.

  5. Eseguire gli script di PowerShell forniti nella procedura guidata per abilitare l'integrazione e il peering della rete virtuale.

Importante

Quando si usa l'accesso privato, una singola rete virtuale può supportare un solo processo di migrazione attivo alla volta. Per eseguire più processi simultanei, usare reti virtuali diverse per ogni processo.

Registrare il provider di risorse Microsoft.DataMigration nella sottoscrizione.

Per assicurarsi che il provider di risorse Microsoft.DataMigration sia registrato nella tua sottoscrizione, puoi seguire questi passaggi:

portale di Azure

  1. Passare al portale di Azure e passare alla sottoscrizione.

  2. Nel menu a sinistra selezionare Provider di risorse in Impostazioni.

  3. Cercare Microsoft. DataMigration nella casella di ricerca nella parte superiore.

  4. Se non è registrato, selezionarlo e selezionare il pulsante Registra .

interfaccia della riga di comando di Azure

  1. Aprire il Azure Cloud Shell o il terminale locale.

  2. Eseguire il comando seguente per registrare il provider di risorse:

    az provider register --namespace Microsoft.DataMigration
    

PowerShell

  1. Apri l'Azure Cloud Shell o il PowerShell locale.

  2. Eseguire il comando seguente per registrare il provider di risorse:

    Register-AzResourceProvider -ProviderNamespace "Microsoft.DataMigration"
    

Domande frequenti

Perché le visualizzazioni non sono presenti nel passaggio selezione della schermata raccolta quando Azure DocumentDB supporta le visualizzazioni?

Azure DocumentDB supporta la creazione di nuove visualizzazioni. Tuttavia, l'estensione per la migrazione non fornisce supporto per la migrazione di viste esistenti.

Al termine della migrazione, è sempre possibile ricreare le visualizzazioni.

Quali raccolte e database vengono ignorati durante la migrazione da MongoDB a Azure DocumentDB?

I database e le raccolte seguenti sono considerati interni per MongoDB:

Categoria Description
Basi di dati amministratore, locale, configurazione del sistema
Raccolte Qualsiasi raccolta con prefisso system.

I processi di migrazione vengono eseguiti localmente nel computer?

La migrazione guidata in VS Code richiede la connettività di rete dal computer locale agli ambienti di origine e di destinazione. Questa connettività viene usata per enumerare database e raccolte e per inviare il processo di migrazione. Dopo l'invio del processo, è possibile chiudere VS Code o disconnettersi dagli ambienti di origine e di destinazione.

La migrazione dei dati viene eseguita interamente da Azure Servizio Migrazione del database (DMS), un servizio Azure ospitato che gestisce tutti gli spostamenti dei dati. DMS non si basa sul computer locale o su VS Code per l'esecuzione del processo, quindi la connettività locale non è necessaria dopo la sottomissione del processo.

È possibile rinominare database e raccolte durante la migrazione?

L'estensione non supporta la ridenominazione del database e della raccolta durante la migrazione.

Come configurare i firewall del server di origine per evitare problemi di connettività?

La configurazione di rete necessaria dipende dalla modalità di connettività selezionata:

  • Modalità pubblica: È necessario consentire gli indirizzi IP visualizzati nella procedura guidata nei firewall di origine e di destinazione per abilitare la comunicazione.
  • Modalità privata: È necessario abilitare l'integrazione della rete virtuale in modo che i server del Servizio Migrazione del database possano comunicare in modo sicuro con gli endpoint di origine e di destinazione all'interno della rete virtuale.

Fare riferimento anche alla connettività di VS Code

Quanti database e raccolte è possibile eseguire la migrazione in una singola migrazione?

È possibile includere un numero illimitato di raccolte in una singola migrazione.

Quanti processi di migrazione è possibile eseguire contemporaneamente?

È possibile eseguire più processi di migrazione quando si usa l'accesso pubblico. Tuttavia, quando si usa l'accesso privato, una singola rete virtuale può supportare un solo processo attivo alla volta. Per eseguire più processi con accesso privato, è necessario usare una rete virtuale diversa per ogni processo.

Quale tipo di log genera l'estensione?

L'estensione registra errori, avvisi e altri log di diagnostica nella directory di log predefinita:

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

Passaggi successivi