Delen via


Zelfstudie: MongoDB online migreren naar Azure Cosmos DB voor MongoDB RU met behulp van Azure Database Migration Service

VAN TOEPASSING OP: MongoDB

Belangrijk

Migraties naar Azure Cosmos DB voor MongoDB vCore kunnen worden uitgevoerd met behulp van de MongoDB-migratieextensie voor Azure Data Studio. Deze extensie maakt gebruik van de Azure Database Migration Service op de achtergrond. Migraties naar Azure Cosmos DB voor MongoDB vCore kunnen niet worden uitgevoerd met behulp van de Database Migration Service in Azure Portal.

Deze MongoDB-migratiehandleiding maakt deel uit van de reeks over MongoDB-migratie. De kritieke MongoDB-migratiestappen zijn premigratie, migratie en na de migratie.

Diagram van migratiestappen.

Overzicht van onlinegegevensmigratie van MongoDB naar Azure Cosmos DB met behulp van DMS

U kunt Azure Database Migration Service gebruiken om een onlinemigratie (minimale downtime) van databases uit te voeren van een on-premises of cloudexemplaren van MongoDB naar Azure Cosmos DB 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 wanneer u klaar bent.

In deze zelfstudie migreert u een gegevensset in MongoDB die wordt gehost op een virtuele Azure-machine naar Azure Cosmos DB voor MongoDB met minimale downtime via Azure Database Migration Service. Als u nog geen MongoDB-bron hebt ingesteld, raadpleegt u MongoDB installeren en configureren op een Windows-VM in Azure.

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

In Azure Database Migration Service kunt u uw databases offline migreren of terwijl ze online zijn. Bij een offlinemigratie wordt de downtime van toepassingen gestart wanneer de migratie wordt gestart. Als u de downtime wilt beperken tot de tijd die nodig is om na de migratie over te gaan naar de nieuwe omgeving, gebruikt u een onlinemigratie . U wordt aangeraden een offlinemigratie te testen om te bepalen of de downtime acceptabel is. Als de verwachte downtime niet acceptabel is, voert u een onlinemigratie uit.

In dit artikel wordt een onlinemigratie van MongoDB naar Azure Cosmos DB voor MongoDB beschreven. Zie Voor een offlinemigratie zelfstudie: MongoDB offline migreren naar Azure Cosmos DB voor MongoDB RU met behulp van Azure Database Migration Service.

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 voor MongoDB-account en zorg ervoor dat snelheidsbeperkingsfouten voor Azure Cosmos DB voor MongoDB-bewerkingen zijn ingeschakeld.

    Notitie

    DMS wordt momenteel niet ondersteund als u migreert naar een Azure Cosmos DB 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.

    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, Azure 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 (Virtual Network Security Group) 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.

  • Open uw Windows Firewall om Azure Database Migration Service toegang te geven tot de mongoDB-bronserver, die standaard TCP-poort 27017 is.

  • Wanneer u een firewallapparaat voor uw brondatabases gebruikt, moet u mogelijk firewallregels toevoegen om Azure Database Migration Service toegang te geven tot de brondatabases voor migratie.

Nieuwe pogingen aan de serverzijde van Azure Cosmos DB configureren voor efficiënte migratie

Klanten die van MongoDB migreren naar Azure Cosmos DB profiteren van mogelijkheden voor resourcebeheer, waardoor de mogelijkheid wordt gegarandeerd om uw ingerichte RU/s van doorvoer volledig te gebruiken. Azure Cosmos DB kan een bepaalde Data Migration Service-aanvraag in de loop van de migratie beperken als die aanvraag de ingerichte RU/s van de container overschrijdt; dan moet die aanvraag opnieuw worden geprobeerd. Data Migration Service kan nieuwe pogingen 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 vertraagde aanvragen kan de totale tijd verkorten die nodig is voor migratie. Met de functie Voor opnieuw proberen aan de serverzijde van Azure Cosmos DB kan de service foutcodes onderscheppen en het opnieuw proberen met een 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 de Azure Cosmos DB-portal

Schermopname van de functie Voor opnieuw proberen aan de serverzijde van MongoDB.

En als deze optie is uitgeschakeld, raden we u aan deze in te schakelen, zoals hieronder wordt weergegeven

Schermopname van het inschakelen van opnieuw proberen aan de serverzijde van MongoDB.

De resourceprovider registreren

Registreer de Microsoft.DataMigration-resourceprovider voordat u uw eerste Database Migration Service-exemplaar maakt.

  1. Meld u aan bij het Azure-portaal. Zoek en selecteer Abonnementen.

    Schermopname van Portalabonnementen weergeven.

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

    Schermopname van Resourceproviders weergeven.

  3. Zoek naar migratie en selecteer Registreren voor Microsoft.DataMigration.

    Schermopname van resourceprovider registreren.

Een instantie maken

  1. Selecteer in Azure Portal + Een resource maken, zoek naar Azure Database Migration Service en selecteer vervolgens Azure Database Migration Service in de vervolgkeuzelijst.

    Schermopname van Azure Marketplace.

  2. Selecteer in het scherm Azure Database Migration ServiceMaken.

    Schermopname van het Azure Database Migration Service-exemplaar maken.

  3. Geef in het scherm Migratieservice maken een naam op voor de service, het abonnement en een nieuwe of bestaande resourcegroep.

  4. Selecteer de locatie waarop u het exemplaar van Azure Database Migration Service wilt maken.

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

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

    Schermopname van de instantie-instellingen van Azure Database Migration Service configureren.

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

  1. Selecteer in het Azure Portal Alle diensten, zoek naar Azure Database Migration Service, en selecteer vervolgens Azure Database Migration Service.

    Schermopname van Alle exemplaren van Azure Database Migration Service zoeken.

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

    Schermopname van het deelvenster Zoeken gebruiken in Azure Portal.

  3. Selecteer + Nieuw migratieproject.

  4. Geef in het scherm Nieuw migratieproject een naam op voor het project, selecteer MongoDB in het tekstvak Bronservertype, selecteer in het tekstvak Doelservertype de optie Azure Cosmos DB voor MongoDB en selecteer vervolgens voor Type activiteit onlinegegevensmigratie [preview].

    Schermopname van het project Database Migration Service maken.

  5. Selecteer Opslaan en vervolgens Create and run activity om het project te maken en de migratieactiviteit uit te voeren.

Brondetails opgeven

  1. 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?SASKEY
      

      Vanwege 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 MongoDB-server. Als er echter een wordt gebruikt, maakt u verbinding met de server met behulp van de verbindingsreeks-modus en zorgt u ervoor dat uw verbindingsreeks '' heeft

      &sslVerifyCertificate=false
      

      U kunt het IP-adres gebruiken voor situaties waarin DNS-naamomzetting niet mogelijk is.

    Schermopname van Brondetails opgeven.

  2. Selecteer Opslaan.

    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 sharded MongoDB-cluster moet Azure Database Migration Service verbinding kunnen maken met de afzonderlijke shards in het cluster. Hiervoor moet de firewall mogelijk op meer computers worden geopend.

Doeldetails opgeven

  1. Geef in het scherm Details van migratiedoel de verbindingsgegevens op voor het Azure Cosmos DB-doelaccount. Dit is de vooraf ingerichte Azure Cosmos DB voor het MongoDB-account waarnaar u uw MongoDB-gegevens migreert.

    Schermopname van Doeldetails opgeven.

  2. Selecteer Opslaan.

Toewijzen aan doeldatabases

  1. 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 Azure Cosmos DB kunt u doorvoer inrichten op databaseniveau of afzonderlijk voor elke verzameling. Doorvoer wordt gemeten in aanvraageenheden in Azure Cosmos DB (RU's). Meer informatie over de prijzen van Azure Cosmos DB.

    Schermopname van Toewijzen aan doeldatabases.

  2. Selecteer Opslaan.

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

    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 _id gebruiken als de shardsleutel voor betere doorvoer.

    Schermopname van de tabellen Verzamelingen selecteren.

  4. Selecteer Opslaan.

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

    Schermopname van migratieoverzicht.

De migratie uitvoeren

Selecteer Migratie uitvoeren.

Het venster van de migratieactiviteit wordt weergegeven en de status van de activiteit wordt weergegeven.

Schermopname van de activiteitsstatus.

De migratie bewaken

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.

Schermopname van het opnieuw afspelen van de activiteitsstatus.

Gegevens controleren in Azure Cosmos DB

  1. Breng wijzigingen aan uw MongoDB-brondatabase aan.

  2. Maak verbinding met Azure Cosmos DB om te controleren of de gegevens worden gerepliceerd vanaf de MongoDB-bronserver.

    Schermopname die laat zien waar u kunt verifiëren of de gegevens zijn gerepliceerd.

Migratie voltooien

Nadat alle documenten uit de bron beschikbaar zijn op het Azure Cosmos DB-doel, selecteert u Voltooien in het contextmenu 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.

Schermopname die de menu-optie Voltooien weergeeft.

Optimalisatie na migratie

Nadat u de gegevens die zijn opgeslagen in de MongoDB-database naar Azure Cosmos DB voor MongoDB hebt gemigreerd, 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