MongoDB online migreren naar Azure DocumentDB met behulp van Azure DocumentDB-migratieextensie (openbare preview)

In deze handleiding gebruikt u de Azure DocumentDB-migratie-extensie in Visual Studio Code voor het maken en beheren van migratietaken vanuit een on-premises of cloudinstantie van MongoDB naar Azure DocumentDB. Deze extensie biedt een ontwikkelaarsvriendelijke interface voor het uitvoeren van migraties zonder serviceonderbrekingen. De extensie elimineert de noodzaak van extra infrastructuur en biedt veilige connectiviteit, gebruik zonder kosten en gedetailleerde controle over welke databases en verzamelingen moeten worden gemigreerd.

De focus van dit artikel ligt op het gebruik van de geïntegreerde werkstroom van de extensie om migratiestappen rechtstreeks in Visual Studio Code te vereenvoudigen. Deze benadering is ideaal voor scenario's waarin u een gestroomlijnde, beheerde ervaring met minimale complexiteit en maximale betrouwbaarheid wilt.

Prerequisites

  • Een Azure-abonnement

  • Een bestaand Azure DocumentDB-cluster

Voordat u de migratie start, bereidt u uw Azure DocumentDB-account en uw bestaande MongoDB-exemplaar voor op migratie.

MongoDB-exemplaar (bron)

  • Voltooi de evaluatie van de premigratie om te bepalen of er incompatibiliteit en waarschuwingen zijn tussen uw bronexemplaar en doelaccount.
  • Voeg een gebruiker met readAnyDatabase en clusterMonitor machtigingen toe, tenzij er al een bestaat. u gebruikt dit referentiegegeven bij het maken van migratietaken in de extensie.

Azure DocumentDB (target)

Minimum vereiste machtigingen

Gebruik de volgende minimale rollen om migratietaken te maken en uit te voeren.

Minimale rol Scope Van toepassing op de connectiviteitsmodus Purpose
Reader Subscription Openbaar en privé Maak een lijst met abonnementen en resourcegroepen. Vereist voor elke migratietaak.
Azure Database Migration Service bijdrager Resourcegroep Openbaar en privé Maak Azure Database Migration Service (DMS). U hoeft geen nieuwe DMS te maken voor elke migratie. Eén DMS per regio is voldoende.
Contributor Subscription Openbaar en privé Registreer DMS in het abonnement. Dit is een eenmalige activiteit en kan worden gedelegeerd aan een andere gebruiker.
Beheerder van gebruikerstoegang Virtueel netwerk Alleen privé Wijs de rol Netwerkbijdrager toe aan de DMS-objectprincipal. Dit is een eenmalige activiteit per virtueel netwerk en kan worden gedelegeerd aan een andere gebruiker.
Contributor Azure DocumentDB Openbaar en privé Activeer de migratietaak.

Zie Register de Microsoft.DataMigration-resourceprovider in uw abonnement voor details over providerregistratie.

Important

Microsoft Entra ID verificatie wordt momenteel niet ondersteund in migratietaken. Gebruik systeemeigen DocumentDB-verificatie.

De migratie uitvoeren

Zie Best practices voor migratie voor richtlijnen over het plannen van de grootte, snelheid en overgang.

Verbinding maken met bron

  1. Open de DocumentDB voor VS Code-extensie .
  2. Voeg de MongoDB-server toe die u wilt migreren naar de lijst met Document DB-verbindingen .
  3. Selecteer Nieuwe verbinding toevoegen.
  4. Selecteer Verbindingsreeks op de navigatiebalk.
  5. Plak de verbindingsreeks: mongodb://<YOUR_USERNAME>:<YOUR_PASSWORD>@localhost:10260/?tls=true&tlsAllowInvalidCertificates=true&authMechanism=SCRAM-SHA-256
  6. Selecteer in de DocumentDB-verbindingen de verbinding en vouw deze uit om verbinding te maken.

De migratie-extensie aanroepen

U kunt de migratie-extensie aanroepen vanuit de DocumentDB-verbindingen.

  1. Klik met de rechtermuisknop op een uitgebreide (verbonden) verbinding.

  2. Selecteer Gegevensmigratie in het contextmenu.

    Schermopname van het contextmenu in Visual Studio Code.

  3. Selecteer in het opdrachtenpalet Migratie naar Azure DocumentDB. Scherm van het opdrachtenpalet met migratiehulpprogramma's in Visual Studio Code.

  4. Selecteer vervolgens Migrate to Azure DocumentDB. Schermopname van het opdrachtpalet met de migratieoptie in Visual Studio Code.

  5. Een migratiewizard begeleidt u door het proces.

Een migratietaak maken

Een migratietaak wordt gebruikt om een groep verzamelingen van de bron naar de doel-Azure DocumentDB te migreren. De wizard voor het maken van een migratieopdracht heeft zes stappen.

Stap 1: Taak maken

In deze stap geeft u de basisgegevens voor de taak op.

  • Taaknaam: geef een gebruiksvriendelijke naam op om de migratietaak te identificeren.

  • Migratiemodus: selecteer de migratiemodus die het meest geschikt is voor uw use-case.

    • Met onlinemigratie worden verzamelingsgegevens gekopieerd, zodat updates ook tijdens het proces worden gerepliceerd. Deze methode is voordelig met minimale downtime, waardoor continue bewerkingen voor bedrijfscontinuïteit mogelijk zijn. Gebruik deze optie wanneer lopende bewerkingen cruciaal zijn en het verminderen van downtime een prioriteit is.
    • Met offlinemigratie wordt een momentopname van de database aan het begin vastgelegd, wat een eenvoudigere en voorspelbare benadering biedt. Het werkt goed wanneer u een statische kopie van de database gebruikt, en realtime-updates zijn niet essentieel.

    Important

    Om ervoor te zorgen dat onlinemigraties vanuit MongoDB zijn geslaagd, moet ChangeStream zijn ingeschakeld op de MongoDB-bronserver. Zonder ChangeStream worden eventuele wijzigingen in de gegevens na de eerste migratie niet vastgelegd. Gebruik daarom alleen de onlinemigratiemodus als ChangeStream is ingeschakeld op uw MongoDB-bronserver.

  • Connectiviteit: afhankelijk van het beveiligingsmandaat en de netwerkinstallatie van uw organisatie, kiest u uit Openbaar en Privé.

    • Gebruik Openbaar wanneer de bron- en doelservers toegankelijk zijn via internet via openbare IP-adressen. Hiermee wordt ondersteuning mogelijk voor services waarvoor externe toegankelijkheid is vereist.
    • Gebruik Privé wanneer de bron- of doelservers uitsluitend toegankelijk zijn via privé-IP's binnen een virtueel netwerk. Het verbetert de beveiliging door blootstelling aan het openbare internet te elimineren.

Selecteer Volgende om door te gaan.

Schermopname van de stap Taak maken in de wizard.

Stap 2: Doel selecteren

In deze stap selecteert u een bestaand Azure DocumentDB-account en geeft u de bijbehorende verbindingsreeks op.

  1. Selecteer het abonnement, de resourcegroep en het Azure DocumentDB-account in de vervolgkeuzelijsten.

  2. Geef de verbindingsreeks op voor het Azure DocumentDB-account.

  3. Zorg ervoor dat het IP-adres dat op het scherm wordt weergegeven, is toegestaan in de Azure DocumentDB-firewall.

  4. Selecteer Volgende om door te gaan.

Schermopname van de doelstap selecteren in de wizard.

Stap 3: Database Migration Service (DMS) selecteren

Azure Database Migration Service is een service die gegevens naar en van Azure-gegevensplatforms migreert met behulp van de cloudinfrastructuur voor gegevensoverdracht, in plaats van te vertrouwen op lokale resources. Kies een bestaand Azure Database Migration Service-exemplaar in de vervolgkeuzelijst of selecteer DmS maken om een nieuwe migratieservice te maken.

Important

Zorg ervoor dat de Microsoft.DataMigration resource provider is geregistreerd in uw abonnement. U hoeft dit slechts één keer per abonnement te doen.

Selecteer Volgende om door te gaan.

Schermopname van de stap Database Migration Service selecteren in de wizard.

Stap 4: Connectiviteit configureren

Dit scherm is afhankelijk van de connectiviteitsmodus die u in stap 1 hebt gekozen.

Openbare connectiviteit

In openbare connectiviteit maakt de migratietaak verbinding met uw bron en doel via openbaar internet. Als u communicatie wilt inschakelen, moet u de bron- en doelfirewalls bijwerken. Als u communicatie van de DMS-servers wilt inschakelen, voegt u de IP-adressen in het scherm toe aan de bron- en doelfirewalls. Zie Openbare connectiviteit voor meer informatie over het netwerkmodel. Zie configure Azure DocumentDB-cluster firewall voor richtlijnen voor firewallconfiguratie.

Schermopname van de configuratiestap voor openbare connectiviteit in de wizard.

Privéconnectiviteit

In privéconnectiviteit wordt de migratietaak uitgevoerd binnen het virtuele netwerk. Om veilig te communiceren met uw virtuele netwerken, gebruiken we peering van virtuele netwerken. Zie Privéconnectiviteit voor meer informatie over het netwerkmodel.

  1. Met het hulpprogramma kunt u peering uitvoeren met twee virtuele netwerken, één voor de bron en de andere voor het doel. Afhankelijk van uw netwerkconfiguratie selecteert u het abonnement, de resourcegroep en virtuele netwerken in de vervolgkeuzelijsten.

  2. Selecteer in de sectie DMS-configuratie een CIDR-bereik dat niet conflicteert met uw virtuele netwerken.

  3. Voer de PowerShell-scripts uit die op het scherm zijn opgegeven om integratie van virtuele netwerken mogelijk te maken.

  4. Selecteer Volgende om door te gaan.

Schermopname van de configuratiestap voor privéconnectiviteit in de wizard.

Stap 5: Verzamelingen selecteren

In deze stap selecteert u de verzamelingen die moeten worden opgenomen in de migratietaak. Selecteer een verzameling in de lijst met verzamelingen met behulp van de opgegeven zoekopties. Verzamelingen die al in het doel aanwezig zijn, worden automatisch gemarkeerd als Ja in de kolom Bestaat in Doel .

Tip

Zorg ervoor dat u alle verzamelingen selecteert die u wilt opnemen omdat de lijst met verzamelingen niet kan worden toegevoegd zodra de migratietaak is gemaakt.

Selecteer Volgende om door te gaan.

Schermopname van de stap Verzamelingen selecteren in de wizard.

Stap 6: Bevestigen en starten

Bekijk de details van de migratietaak voordat u Migratie starten selecteert. Als de details moeten worden bijgewerkt, gebruikt u de knop Details bewerken .

Zodra de migratietaak is gemaakt, wordt u automatisch omgeleid naar de pagina Bestaande taken weergeven

Tip

De gegevensmigratietaken worden uitgevoerd op Azure Database Migration Service. Daarom hoeft u niet verbonden te zijn met de bron- en doelomgevingen tijdens de gegevensmigratie. De status wordt regelmatig bijgewerkt op het dashboard.

Bestaande migratietaken bewaken

Gebruik het tabblad Bestaande taken weergeven om de migratiestatus van geïnitialiseerde taken te bewaken. De taken worden weergegeven op basis van de geselecteerde DMS. Gebruik de knop DMS wijzigen om uw selectie te wijzigen.

De status wordt automatisch bijgewerkt met regelmatige tussenpozen. Offline taken worden automatisch voltooid zodra de geselecteerde collectiesnapshots naar de doellocatie zijn gekopieerd. De onlinemigraties moeten echter handmatig worden afgekapt.

Schermopname van het scherm Bestaande taken weergeven.

Als u de status van de verzameling wilt weergeven, selecteert u een rij in de tabel.

Schermopname die de status per verzameling toont voor offline migratie.

Onlinemigraties bewaken

Onlinemigraties, in tegenstelling tot offlinemigraties, worden niet automatisch voltooid. In plaats daarvan worden ze continu uitgevoerd totdat ze handmatig zijn voltooid door Cutover te selecteren.

Volg deze stappen in de opgegeven volgorde om de onlinemigratie te voltooien:

  1. De cutover-knop is ingeschakeld zodra de initiële gegevensbelasting voor alle verzamelingen is voltooid. In deze fase bevindt de taak zich in de replicatiefase, waarbij updates van het bronexemplaar continu worden gekopieerd naar het doelexemplaar om deze up-to-date te houden met de meest recente wijzigingen.

  2. Wanneer u klaar bent om de migratie-cutover uit te voeren, stopt u alle binnenkomende transacties naar de bronverzamelingen die worden gemigreerd.

  3. De replicatieruimte toont de tijdsverschil tussen de laatste update en de huidige tijd.

  4. Bewaak de replicatiewijzigingen in de tabel en wacht totdat de metriek Replication Changes Played stabiliseert. Een stabiele replicatiewijzigingen uitgevoerd metriek geeft aan dat alle updates van de bron naar het doel succesvol zijn gekopieerd.

  5. Selecteer Cutover wanneer de replicatie-kloof minimaal is voor alle verzamelingen en de metrische waarde Replicatiewijzigingen die worden afgespeeld, stabiel is.

  6. Controleer handmatig of het aantal rijen hetzelfde is tussen de bron- en doelverzamelingen.

Opmerking

Het uitvoeren van de cutover-bewerking zonder te valideren dat de bron en het doel worden gesynchroniseerd, kan leiden tot gegevensverlies.

Schermopname van de status per verzameling voor onlinemigratie

Migratiescenario's

De Azure DocumentDB-migratieextensie ondersteunt verschillende bronomgevingen, waaronder MongoDB-exemplaren die worden uitgevoerd in Azure, on-premises datacenters en andere cloudproviders. De extensie biedt flexibele connectiviteitsopties voor verschillende netwerkconfiguraties en beveiligingsvereisten.

Ondersteunde bronomgevingen

De volgende tabel bevat een overzicht van de ondersteunde migratiebronnen:

Bronomgeving Description
Binnen Azure MongoDB-exemplaren die draaien op Azure Virtuele Machines of andere Azure-gehoste services
On-premises MongoDB servers die draaien in uw eigen datacenter of privé-infrastructuur
Andere cloudproviders MongoDB-exemplaren gehost op andere cloud-platforms

Openbare connectiviteit

In de modus voor openbare connectiviteit maakt de Azure Database Migration Service (DMS) verbinding met uw bron- en doelservers via het openbare internet. DMS biedt statische IP-adressen die u toevoegt aan de firewall acceptatielijsten op zowel de bron- als doelservers. DMS maakt gebruik van een gedeeld openbaar virtueel netwerk voor alle migraties binnen een bepaalde regio. Hoewel dit virtuele netwerk wordt gedeeld tussen klanten, wordt elke migratietaak uitgevoerd op een eigen geïsoleerd privéwerkknooppunt om isolatie op taakniveau te garanderen.

Openbare connectiviteit gebruiken wanneer:

  • Uw bron- en doelservers zijn toegankelijk via openbare IP-adressen.
  • Het beveiligingsbeleid van uw organisatie staat verbindingen toe via het openbare internet.
  • U hebt een eenvoudigere installatie nodig zonder configuratie van het virtuele netwerk.

Diagram met netwerkarchitectuur voor openbare connectiviteit.

Openbare connectiviteit inschakelen:

  1. Selecteer in de migratiewizard Openbaar als connectiviteitsmodus.

  2. Let op de statische IP-adressen die worden weergegeven in de wizard.

  3. Voeg deze IP-adressen toe aan de lijst met toegestane firewalls op de MongoDB-bronserver.

  4. Voeg deze IP-adressen toe aan de Azure DocumentDB-firewall.

Privéconnectiviteit

In de privéconnectiviteitsmodus richt DMS een toegewezen particulier virtueel netwerk in voor elke migratietaak en koppelt deze aan uw virtuele bron- en doelnetwerken. Dit betekent dat elke taak zowel geïsoleerde werkknooppunten als een geïsoleerd netwerk krijgt, zodat er geen verkeer tussen taken en geen gedeelde netwerkpaden tussen klanten bestaat.

De extensie ondersteunt maximaal twee virtuele netwerken:

  • Virtueel bronnetwerk: het virtuele netwerk waar de MongoDB-bronserver toegankelijk is.
  • Target virtual network: Het virtuele netwerk waar uw Azure DocumentDB-cluster toegankelijk is.

Gebruik privéconnectiviteit wanneer:

  • Uw bron- of doelservers zijn niet toegankelijk via het openbare internet.
  • Uw organisatie vereist dat al het verkeer via privénetwerken stroomt.
  • U moet openbare internetblootstelling voorkomen.

Van andere cloudproviders of on-premise omgevingen

Gebruik uw favoriete VPN-hulpprogramma's om netwerkconnectiviteit in te stellen tussen Azure en uw bronomgeving in een andere cloud of on-premises.

Diagram met netwerkarchitectuur voor privéconnectiviteit van een andere cloudprovider of on-premises.

Vanuit een privé-eindpunt in Azure

Stel privé-eindpunten in voor de virtuele bron- en doelnetwerken.

Diagram met netwerkarchitectuur voor privéconnectiviteit binnen Azure

Privéconnectiviteit inschakelen:

  1. Selecteer Privé als connectiviteitsmodus in de migratiewizard.

  2. Selecteer het abonnement, de resourcegroep en het virtuele netwerk voor uw bronomgeving.

  3. Selecteer het abonnement, de resourcegroep en het virtuele netwerk voor uw doelomgeving.

  4. Selecteer in de sectie DMS-configuratie een CIDR-bereik dat niet conflicteert met uw bestaande virtuele netwerken.

  5. Voer de PowerShell-scripts in de wizard uit om integratie en peering van virtuele netwerken mogelijk te maken.

Important

Wanneer u privétoegang gebruikt, kan één virtueel netwerk slechts één actieve migratietaak tegelijk ondersteunen. Als u meerdere gelijktijdige taken wilt uitvoeren, gebruikt u verschillende virtuele netwerken voor elke taak.

Registreer Microsoft. DataMigration-resourceprovider in uw abonnement

Volg deze stappen om te verzekeren dat de resourceprovider Microsoft.DataMigration in uw abonnement is geregistreerd:

Azure Portal

  1. Ga naar de Azure-portal en navigeer naar uw abonnement.

  2. Selecteer resourceproviders in het linkermenu onder Instellingen.

  3. Zoek naar Microsoft.DataMigration in het zoekvak bovenaan.

  4. Als deze niet is geregistreerd, selecteert u deze en selecteert u de knop Registreren .

Azure CLI

  1. Open de Azure Cloud Shell of uw lokale terminal.

  2. Voer de volgende opdracht uit om de resourceprovider te registreren:

    az provider register --namespace Microsoft.DataMigration
    

PowerShell

  1. Open de Azure Cloud Shell of uw lokale PowerShell.

  2. Voer de volgende opdracht uit om de resourceprovider te registreren:

    Register-AzResourceProvider -ProviderNamespace "Microsoft.DataMigration"
    

FAQ

Waarom ontbreken er views in de stap 'verzameling selecteren' wanneer Azure DocumentDB views ondersteunt?

Azure DocumentDB ondersteunt het maken van nieuwe weergaven. De migratie-extensie biedt echter geen ondersteuning voor het migreren van bestaande weergaven.

Nadat de migratie is voltooid, kunt u altijd de weergaven opnieuw maken.

Welke verzamelingen en databases worden overgeslagen bij het migreren van MongoDB naar Azure DocumentDB?

De volgende databases en verzamelingen worden beschouwd als intern voor MongoDB:

Categorie Description
Databanken beheerder, lokaal, systeemconfiguratie
Collecties Elke verzameling met voorvoegsel system.

Worden de migratietaken lokaal uitgevoerd op mijn computer?

De migratiewizard in VS Code vereist netwerkconnectiviteit van uw lokale computer naar zowel de bron- als doelomgeving. Deze verbinding wordt gebruikt om databases en verzamelingen op te sommen en de migratietaak te verzenden. Zodra de taak is verzonden, kunt u VS Code sluiten of de verbinding met de bron- en doelomgeving verbreken.

Gegevensmigratie wordt volledig uitgevoerd door Azure Database Migration Service (DMS), een Azure gehoste service waarmee alle gegevensverplaatsing wordt beheerd. DMS is niet afhankelijk van uw lokale computer of VS Code voor taakuitvoering, dus lokale connectiviteit is niet vereist na het verzenden van taken.

Kan ik de naam van databases en verzamelingen wijzigen tijdens de migratie?

De extensie biedt geen ondersteuning voor database- en verzamelingshernoeming tijdens de migratie.

Hoe moet ik mijn bronserverfirewalls configureren om verbindingsproblemen te voorkomen?

De vereiste netwerkconfiguratie is afhankelijk van de geselecteerde connectiviteitsmodus:

  • Openbare modus: U moet toestaan dat de IP-adressen die worden weergegeven in de wizard op zowel de bron- als doelfirewalls, communicatie mogelijk maken.
  • Privémodus: U moet integratie van virtuele netwerken inschakelen, zodat de DMS-servers veilig kunnen communiceren met de bron- en doeleindpunten in het virtuele netwerk.

Raadpleeg ook VS Code-connectiviteit

Hoeveel databases en verzamelingen kan ik migreren in één migratie?

U kunt een onbeperkt aantal verzamelingen opnemen in één migratie.

Hoeveel migratietaken kan ik tegelijkertijd uitvoeren?

U kunt meerdere migratietaken uitvoeren wanneer u openbare toegang gebruikt. Wanneer u echter privétoegang gebruikt, kan één virtueel netwerk slechts één actieve taak tegelijk ondersteunen. Als u meerdere taken met privétoegang wilt uitvoeren, moet u voor elke taak een ander virtueel netwerk gebruiken.

Welk type logboeken genereert de extensie?

De extensie registreert fouten, waarschuwingen en andere diagnostische logboeken in de standaardlogboekmap:

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

Volgende stappen