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

VAN TOEPASSING OP: MongoDB

Belangrijk

Lees deze volledige handleiding voordat u de migratiestappen uitvoert. Azure Database Migration Service biedt momenteel geen ondersteuning voor migraties naar een Azure Cosmos DB voor MongoDB vCore-account.

Deze MongoDB-migratiehandleiding maakt deel uit van de reeks over MongoDB-migratie. De kritieke MongoDB-migratiestappen zijn premigratie, migratie en postmigratie, zoals hieronder wordt weergegeven.

Diagram of migration steps.

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

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

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 MongoDB offline migreren naar Azure Cosmos DB voor 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 voor MongoDB-account en zorg ervoor dat SSR (opnieuw proberen aan de serverzijde) is 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.

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

  • 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 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 opnieuw proberen met een 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 de Azure Cosmos DB-portal

Screenshot of MongoDB Server-Side Retry feature.

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

Screenshot of MongoDB Server-Side Retry enable.

De resourceprovider registreren

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

  1. Meld u aan bij de Azure-portal. Zoek en selecteer Abonnementen.

    Show portal subscriptions

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

    Show resource providers

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

    Register resource provider

Een instantie maken

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

    Azure Marketplace

  2. Selecteer in het scherm Azure Database Migration ServiceMaken.

    Create Azure Database Migration Service instance

  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.

    Configure Azure Database Migration Service instance settings

  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 de Azure-portal Alle diensten, zoek naar Azure Database Migration Service, en selecteer vervolgens Azure Database Migration Service.

    Locate all instances of Azure Database Migration Service

  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.

    Use the Search pane in the 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].

    Create Database Migration Service project

  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 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=false
    

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

    Specify source details

  2. Selecteer Save.

    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

  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.

    Specify target details

  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 (RU's). Meer informatie over de prijzen van Azure Cosmos DB.

    Map to target databases

  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.

    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.

    Select collections tables

  4. Selecteer Opslaan.

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

    Migration summary

De migratie uitvoeren

  • Selecteer Migratie uitvoeren.

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

    Activity status

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.

    Activity status replaying

Gegevens controleren in Azure Cosmos DB

  1. Breng wijzigingen aan uw MongoDB-brondatabase aan.

  2. Verbinding maken naar Azure Cosmos DB om te controleren of de gegevens worden gerepliceerd vanaf de MongoDB-bronserver.

    Screenshot that shows where you can verify that the data was replicated.

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.

    Screenshot that shows the Finish menu option.

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

Volgende stappen