Zelfstudie: MongoDB online migreren naar de Azure Cosmos DB-API voor MongoDB met behulp van DMS
VAN TOEPASSING OP:
Azure Cosmos DB-API voor MongoDB
Belangrijk
Lees deze volledige handleiding voordat u de migratiestappen gaat uitvoeren.
Deze MongoDB-migratiehandleiding maakt deel uit van een reeks over MongoDB-migratie. De kritieke MongoDB-migratiestappen zijn vóór migratie, migratie en na de migratie, zoals hieronder wordt weergegeven.

Overzicht van online gegevensmigratie van MongoDB naar Azure Cosmos DB met behulp van DMS
Met Azure Database Migration Service kunt u een onlinemigratie (met minimale downtime) van databases uitvoeren vanaf een on-premises of in de cloud aanwezig MongoDB -exemplaar naar de Azure Cosmos DB's API voor MongoDB.
In deze zelfstudie ziet u de stappen die bij het gebruik van Azure Database Migration Service horen om MongoDB-gegevens te migreren naar Azure Cosmos DB:
- Maak een exemplaar van de Azure Database Migration Service.
- Een migratieproject maken.
- De bron opgeven.
- Het doel opgeven.
- Toewijzen aan doeldatabases.
- De migratie uitvoeren.
- Houd de migratie in de gaten.
- Gegevens verifiëren in Azure Cosmos DB.
- Voltooi de migratie als u klaar bent.
In deze zelfstudie migreert u met minimale downtime een gegevensset die in MongoDB wordt gehost in een virtuele Azure-machine naar de Azure Cosmos DB-API voor MongoDB met behulp van Azure Database Migration Service. Als u nog geen MongoDB-bron hebt ingesteld, raadpleegt u het artikel over het installeren en configureren van MongoDB op een Windows-VM in Azure.
Notitie
Als Azure Database Migration Service gebruikt om een onlinemigratie uit te voeren, is het vereist dat u een exemplaar maakt op basis van de prijscategorie Premium.
Belangrijk
Voor een optimale migratie-ervaring raadt Microsoft u aan een exemplaar van Azure Database Migration Service te maken in dezelfde Azure-regio als de doeldatabase. Het verplaatsen van gegevens naar regio's of geografieën kan het migratieproces vertragen.
Tip
Als u databases naar Azure migreert via de Azure Database Migration Service, kunt u een online- of offline migratie uitvoeren. Met een offlinemigratie begint downtime van de toepassing zodra de migratie start. Met een onlinemigratie blijft downtime beperkt tot de tijd die nodig is om over te zetten, aan het eind van de migratie. We raden u aan eerst een offlinemigratie te testen om te bepalen of de downtime aanvaardbaar is. Zo niet, voer dan een onlinemigratie uit.
In dit artikel wordt een onlinemigratie beschreven van MongoDB naar Azure Cosmos DB's API voor MongoDB. Zie MongoDB migreren naar Azure Cosmos DB's API voor offline MongoDB met behulp van DMS voor een offlinemigratie.
Vereisten
Voor het voltooien van deze zelfstudie hebt u het volgende nodig:
Voltooi de stappen voorafgaand aan de migratie, zoals het schatten van de doorvoer of het kiezen van een partitiesleutel en het indexeringsbeleid.
Maak een Azure Cosmos DB-API voor een MongoDB-account en zorg ervoor dat SSR (nieuwe poging voor serverzijde) is ingeschakeld.
Notitie
DMS wordt momenteel niet ondersteund als u migreert naar een API voor MongoDB-account dat is ingericht met de serverloze modus.
Maak een Microsoft Azure Virtual Network voor Azure Database Migration Service met behulp van het Azure Resource Manager-implementatiemodel. Dit biedt site-naar-site-connectiviteit met uw on-premises bronservers met behulp van ExpressRoute of VPN.
Notitie
Als u bij de installatie van een virtueel netwerk gebruikmaakt van ExpressRoute met netwerkpeering voor Microsoft, voegt u de volgende service-eindpunten toe aan het subnet waarin de service wordt ingericht:
- Eindpunt van de doeldatabase (bijvoorbeeld SQL-eindpunt, Cosmos DB-eindpunt, enzovoort)
- Opslageindpunt
- Service Bus-eindpunt
Deze configuratie is noodzakelijk omdat Azure Database Migration Service geen internetverbinding biedt.
Zorg ervoor dat de NSG-regels (Network Security Group) van het virtuele netwerk de volgende communicatiepoorten niet blokkeren: 53, 443, 445, 9354 en 10000-20000. Zie het artikel Netwerkverkeer filteren met netwerkbeveiligingsgroepen voor meer informatie over verkeer filteren van verkeer via de netwerkbeveiligingsgroep voor virtuele netwerken.
Stel uw Windows-firewall open voor toegang van Azure Database Migration Service tot de bronserver van MongoDB. Standaard verloopt deze via TCP-poort 27017.
Wanneer u een firewallapparaat gebruikt voor de brondatabase(s), moet u mogelijk firewallregels toevoegen om voor Azure Database Migration Service toegang tot de brondatabase(s) voor de migratie toe te staan.
Nieuwe Azure Cosmos DB server configureren voor efficiënte migratie
Klanten die van MongoDB migreren naar Azure Cosmos DB profiteren van resourcebeheermogelijkheden, die de mogelijkheid garanderen om uw inrichtende RU/s van doorvoer volledig te benutten. Azure Cosmos DB een bepaalde Data Migration Service-aanvraag in de loop van de migratie mogelijk beperken als deze aanvraag de in de container inrichtende RU/s overschrijdt; vervolgens moet deze aanvraag opnieuw worden ingediend. Data Migration Service kan nieuwe proberen uitvoeren, maar de retourtijd die betrokken is bij de netwerkhop tussen Data Migration Service en Azure Cosmos DB heeft invloed op de totale reactietijd van die aanvraag. Het verbeteren van de reactietijd voor beperkt aanvragen kan de totale tijd verkorten die nodig is voor migratie. Met de functie Opnieuw proberen aan de serverzijde van Azure Cosmos DB kan de service vertragingsfoutcodes onderscheppen en het opnieuw proberen met veel lagere retourtijd, waardoor de reactietijden van aanvragen aanzienlijk worden verbeterd.
U vindt de mogelijkheid voor opnieuw proberen aan de serverzijde op de blade Functies van Azure Cosmos DB portal

Als deze is uitgeschakeld, raden we u aan dit in te stellen zoals hieronder wordt weergegeven

Registreer de Microsoft.DataMigration-resourceprovider
Meld u aan bij Azure Portal. Zoek en selecteer Abonnementen.

Selecteer het abonnement waarin u het Azure Database Migration Service-exemplaar wilt maken en selecteer vervolgens Resourceproviders.

Zoek naar migratie en selecteer Registreren voor Microsoft.DataMigration.

Een instantie maken
Selecteer in de Azure-portal Een resource maken, zoek naar Azure Database Migration Service, en selecteer vervolgens Azure Database Migration Service uit de vervolgkeuzelijst.

Selecteer in het scherm Azure Database Migration Service****Maken.

Geef in het scherm Migratieservice maken een naam op voor de service, het abonnement en een nieuwe of bestaande resourcegroep.
Selecteer de locatie waarop u het exemplaar van Azure Database Migration Service wilt maken.
Selecteer een bestaand virtueel netwerk of maak een nieuw netwerk.
Het virtuele netwerk biedt Azure Database Migration Service toegang tot de broninstantie van MongoDB en het doelaccount van Azure Cosmos DB.
Zie het artikel Een virtueel netwerk maken met de Azure-portal voor meer informatie over het maken van een virtueel netwerk in de Azure-portal.
Selecteer een SKU in de prijscategorie Premium.
Notitie
Onlinemigraties worden alleen ondersteund bij gebruik van deze categorie. Zie voor meer informatie over de kosten en prijscategorieën de Pagina met prijzen.

Selecteer Maken om de dienst te maken.
Een migratieproject maken
Nadat de service is gemaakt, zoek deze op in de Azure-portal, open hem en maak vervolgens een nieuw migratieproject.
Selecteer in de Azure-portal Alle diensten, zoek naar Azure Database Migration Service, en selecteer vervolgens Azure Database Migration Service.

Zoek in het scherm Azure Database Migration Service naar de naam van de Azure Database Migration Service-instantie die u hebt gemaakt en selecteer vervolgens de instantie.
U kunt de service-instantie van Azure Database Migration ook vinden via het zoekvenster in Azure Portal.

Selecteer + Nieuw migratieproject.
Geef in het scherm Nieuw migratieproject een naam op voor het project in het tekstvak Type bronserver, selecteer MongoDB, selecteer in het tekstvak Type doelserver****CosmosDB (MongoDB-API), en selecteer bij Type activiteit kiezen de optie Online gegevensmigratie [preview-versie].

Selecteer Opslaan en vervolgens Create and run activity om het project te maken en de migratieactiviteit uit te voeren.
Geef brondetails op
Geef in het scherm Brondetails de verbindingsgegevens op voor de MongoDB-bronserver.
Belangrijk
Azure Database Migration Service biedt geen ondersteuning voor Azure Cosmos DB als bron.
Er zijn drie modi om verbinding te maken met een bron:
Standaardmodus: deze accepteert een Fully Qualified Domain Name of een IP-adres, poortnummer en verbindingsreferenties.
Modus verbindingsreeks: deze accepteert een MongoDB-verbindingsreeks, zoals beschreven in het artikel Connection String URI Format (URI-indeling van verbindingsreeks).
Gegevens uit Azure-opslag: deze accepteert een SAS-URL van de blob-container. Selecteer Blob contains BSON dump als de blob-container BSON-dumps bevat die zijn geproduceerd door het bsondump-hulpprogramma van MongoDB en deselecteer het als de container JSON-bestanden bevat.
Als u deze optie selecteert, controleer dan of de verbindingsreeks van het opslagaccount wordt weergegeven in de volgende indeling:
https://blobnameurl/container?SASKEYVanwege het type dumpgegevens in Azure Storage moet u ook rekening houden met het volgende.
Voor BSON-dumps moeten de gegevens in de blob-container de bsondump-indeling hebben, zodat de gegevensbestanden worden geplaatst in mappen die worden genoemd naar de omvattende databases in de collection.bson-indeling. Metagegevensbestanden (indien aanwezig) moeten een naam krijgen op basis van de indeling verzameling.metadata.json.
Voor JSON-dumps moeten de bestanden in de blob-container worden geplaatst in mappen die zijn genoemd naar de omvattende databases. In elke databasemap moeten gegevensbestanden worden geplaatst in een submap met de naam 'data' en ze moeten een naam krijgen op basis van de indeling verzameling.json. Metagegevensbestanden (indien aanwezig) moeten worden geplaatst in een submap met de naam 'metadata' en ze moeten een naam krijgen op basis van dezelfde indeling verzameling.json. De metagegevensbestanden moeten de indeling hebben die wordt geproduceerd door het MongoDB-hulpprogramma bsondump.
Belangrijk
Het wordt afgeraden om een zelfondertekend certificaat te gebruiken op de Mongo-server. Als echter wel een zelfondertekend certificaat wordt gebruikt, moet u verbinding maken met de server in de verbindingsreeksmodus en ervoor zorgen dat de verbindingsreeks het volgende bevat: “”
&sslVerifyCertificate=falseU kunt het IP-adres gebruiken voor situaties waarin DNS-naamomzetting niet mogelijk is.

Selecteer Opslaan.
Notitie
Het adres van de bronserver moet het adres zijn van de primaire server als de bron een replicaset is. Het moet het adres van de router zijn als de bron een shard-MongoDB-cluster is. Voor een shard-MongoDB-cluster moet Azure Database Migration Service verbinding kunnen maken met de afzonderlijke shards in het cluster. Hiervoor moet mogelijk de firewall op meerdere machines worden geopend.
Doeldetails opgeven
Geef in het scherm Details migratiedoel de verbindingsgegevens op voor het Azure Cosmos DB-doelaccount, dat bestaat uit het vooraf ingerichte Azure Cosmos DB's API voor MongoDB-account waarnaar u de MongoDB-database migreert.

Selecteer Opslaan.
Toewijzen aan doeldatabases
Wijs in het scherm Toewijzen aan doeldatabases de bron- en doeldatabase voor de migratie toe.
Als de doeldatabase de naam van de dezelfde database als de bron-database bevat, wordt in Azure Database Migration Service de doeldatabase standaard geselecteerd.
Als de tekenreeks Maken verschijnt naast de naam van de database, is de doeldatabase niet gevonden met Azure Database Migration Service. De database wordt dan voor u gemaakt.
Op dit punt tijdens de migratie geeft u een doorvoeraanvraageenheid op indien doorvoer van shares voor de database is gewenst. In Cosmos DB kunt u doorvoer inrichten op het niveau van de database of afzonderlijk voor elke verzameling. Doorvoer wordt gemeten in Aanvraageenheden (RU's). Meer informatie over de prijzen van Azure Cosmos DB.

Selecteer Opslaan.
Vouw in het scherm Verzamelingsinstelling de lijst met verzamelingen uit en bekijk welke verzamelingen worden gemigreerd.
Azure Database Migration Service selecteert automatisch alle verzamelingen op de MongoDB-broninstantie die niet aanwezig zijn in het Azure Cosmos DB-doelaccount. Als u verzamelingen die al gegevens bevatten, opnieuw wilt migreren, moet u die verzamelingen expliciet selecteren in dit scherm.
U kunt opgeven hoeveel RU's u voor de verzamelingen wilt gebruiken. In de meeste gevallen moet een waarde tussen de 500 (minimaal 1000 voor shard-verzamelingen) en 4000 voldoende zijn. Er worden slimme standaardwaarden voorgesteld op basis van de gezamenlijke grootte.
Notitie
Voer de databasemigratie en de verzameling parallel uit, zo nodig met meerdere instanties van Azure Database Migration Service, om de uitvoering te versnellen.
U kunt ook een shardsleutel opgeven om te profiteren van partitionering in Azure Cosmos DB voor optimale schaalbaarheid. Lees de best practices voor het selecteren van een shard-/partitiesleutel. Als u geen partitiesleutel hebt, kunt u altijd gebruikmaken van _id als de shardsleutel voor een betere doorvoer.

Selecteer Opslaan.
Geef in het tekstvak Naam activiteit van het scherm Migratieoverzicht een naam op voor de migratieactiviteit.

De migratie uitvoeren
Selecteer Migratie uitvoeren.
Het venster van de migratieactiviteit wordt weergegeven en de status van de activiteit wordt weergegeven.

Bewaak de migratie
Selecteer Vernieuwen in het scherm van de activiteitenmigratie om de weergave bij te werken totdat de status van de migratie als Opnieuw afspelen wordt weergegeven.
Notitie
U kunt de activiteit selecteren voor meer informatie over metrische migratiegegevens op het niveau van een database of verzameling.

Gegevens controleren in Cosmos DB
Breng wijzigingen aan uw MongoDB-brondatabase aan.
Maak verbinding met COSMOS DB om te verifiëren of de gegevens vanuit de MongoDB-bronserver worden gerepliceerd.

Migratie voltooien
Als alle documenten van de bron beschikbaar zijn op het COSMOS DB-doel, selecteert u Voltooien in het snelmenu van de migratieactiviteit om de migratie te voltooien.
Met deze actie wordt het opnieuw afspelen van alle wijzigingen die in behandeling zijn, voltooid en tevens de migratie.

Optimalisatie na migratie
Nadat u de gegevens die zijn opgeslagen in de MongoDB-database, hebt gemigreerd naar de Azure Cosmos DB voor MongoDB-API, kunt u verbinding maken met Azure Cosmos DB en de gegevens beheren. U kunt na de migratie ook andere optimalisatiestappen uitvoeren, zoals het indexeringsbeleid optimaliseren, het standaardconsistentieniveau bijwerken, of de globale distributie configureren voor uw Azure Cosmos DB-account. Zie het artikel Optimalisatie na migratie voor meer informatie.
Aanvullende bronnen
- Informatie over Cosmos DB-service
- Probeert u capaciteitsplanning uit te Azure Cosmos DB?
- Als u alleen het aantal vcores en servers in uw bestaande databasecluster weet, leest u over het schatten van aanvraageenheden met behulp van vCores of vCCPUs
- Als u de gebruikelijke aanvraagsnelheden voor uw huidige databaseworkload kent, leest u over het schatten van aanvraageenheden met behulp van Azure Cosmos DB capacity planner
Volgende stappen
- Lees de Microsoft-handleiding voor databasemigratie voor hulp bij andere migratiescenario's.