Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
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
- Se non si ha un cluster, creare un nuovo cluster
- Installare l'Estensione di migrazione di Azure DocumentDB sul computer. Verrà installato automaticamente il prerequisito, ovvero l'estensione DocumentDB per Visual Studio Code.
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
readAnyDatabaseeclusterMonitorautorizzazioni, 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,insertelistCollections.
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
- Aprire l'estensione DocumentDB per VS Code .
- Aggiungere il server MongoDB di cui si vuole eseguire la migrazione all'elenco Connessioni al database di documenti .
- Selezionare Aggiungi nuova connessione.
- Nella barra di spostamento selezionare Stringa di connessione.
- Incolla la stringa di connessione:
mongodb://<YOUR_USERNAME>:<YOUR_PASSWORD>@localhost:10260/?tls=true&tlsAllowInvalidCertificates=true&authMechanism=SCRAM-SHA-256 - 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.
Fare clic con il pulsante destro del mouse su una connessione espansa (connessa).
Selezionare Migrazione dei dati dal menu di scelta rapida.
Nel riquadro comandi selezionare Migration per Azure DocumentDB.
Selezionare quindi Migrate per Azure DocumentDB.
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.
Passaggio 2: Selezionare la destinazione
In questo passaggio si seleziona un account documentDB Azure esistente e si specifica il relativo stringa di connessione.
Selezionare la sottoscrizione, il gruppo di risorse e Azure account DocumentDB dagli elenchi a discesa.
Specificare la stringa di connessione per l'account DocumentDB di Azure.
Verificare che l'INDIRIZZO IP elencato nella schermata sia consentito nel firewall Azure DocumentDB.
Seleziona Avanti per continuare.
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.
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.
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.
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.
Nella sezione Configurazione DMS, seleziona un intervallo CIDR che non sia in conflitto con le tue reti virtuali.
Eseguire gli script di PowerShell forniti sullo schermo per abilitare l'integrazione della rete virtuale.
Seleziona Avanti per continuare.
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 Sì 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.
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.
Per visualizzare lo stato a livello di raccolta, selezionare una riga dalla tabella.
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:
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.
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.
Il gap di replica indica il divario di tempo tra l'ultimo aggiornamento e l'ora corrente.
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.
Selezionare Cutover quando il divario della replica è minimo per tutte le raccolte e la metrica Modifiche di Replica Eseguite è stabile.
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.
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.
Per abilitare la connettività pubblica:
Nella migrazione guidata selezionare Pubblico come modalità di connettività.
Prendere nota degli indirizzi IP statici visualizzati nella procedura guidata.
Aggiungere questi indirizzi IP all'elenco di indirizzi consentiti del firewall nel server MongoDB di origine.
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.
Da un endpoint privato in Azure
Configurare endpoint privati per le reti virtuali di origine e di destinazione.
Per abilitare la connettività privata:
Nella migrazione guidata selezionare Privato come modalità di connettività.
Selezionare la sottoscrizione, il gruppo di risorse e la rete virtuale per l'ambiente di origine.
Selezionare la sottoscrizione, il gruppo di risorse e la rete virtuale per l'ambiente di destinazione.
Nella sezione Configurazione DMS, selezionare un intervallo CIDR che non confligge con le reti virtuali esistenti.
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
Passare al portale di Azure e passare alla sottoscrizione.
Nel menu a sinistra selezionare Provider di risorse in Impostazioni.
Cercare Microsoft. DataMigration nella casella di ricerca nella parte superiore.
Se non è registrato, selezionarlo e selezionare il pulsante Registra .
interfaccia della riga di comando di Azure
Aprire il Azure Cloud Shell o il terminale locale.
Eseguire il comando seguente per registrare il provider di risorse:
az provider register --namespace Microsoft.DataMigration
PowerShell
Apri l'Azure Cloud Shell o il PowerShell locale.
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