Zelfstudie: MongoDB offline 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. Gebruik de Azure Cosmos DB voor MongoDB-extensie in Azure Data Studio om uw MongoDB-werkbelastingen offline te migreren naar Azure Cosmos DB voor MongoDB vCore.

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 offlinegegevensmigratie van MongoDB naar Azure Cosmos DB met behulp van DMS

Gebruik Azure Database Migration Service om een offline, eenmalige migratie van databases van een on-premises of cloudexemplaren van MongoDB naar Azure Cosmos DB voor MongoDB uit te voeren.

In deze zelfstudie leert u het volgende:

  • Maak een exemplaar van de Azure Database Migration Service.
  • Maak een migratieproject met behulp van Azure Database Migration Service.
  • De migratie uitvoeren.
  • Houd de migratie in de gaten.

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

Vereisten

Voor het voltooien van deze zelfstudie hebt u het volgende nodig:

  • Voltooi de stappen vóór de migratie , zoals het schatten van de doorvoer en het kiezen van een partitiesleutel.

  • Maak een account voor Azure Cosmos DB voor MongoDB.

    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 virtueel Microsoft Azure-netwerk voor Azure Database Migration Service met behulp van Azure Resource Manager. Dit implementatiemodel biedt site-naar-site-connectiviteit met uw on-premises bronservers met behulp van Azure ExpressRoute of VPN. Zie de documentatie van Azure Virtual Network voor meer informatie over het maken van een virtueel netwerk, met name de artikelen 'quickstart' met stapsgewijze informatie.

    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:

    • Doeldatabase-eindpunt (bijvoorbeeld SQL-eindpunt of Azure Cosmos DB-eindpunt)
    • Opslageindpunt
    • Service Bus-eindpunt

    Deze configuratie is noodzakelijk omdat Azure Database Migration Service geen internetverbinding biedt.

  • Zorg ervoor dat de NSG-regels (netwerkbeveiligingsgroep) voor uw virtuele netwerk niet de volgende communicatiepoorten blokkeren: 53, 443, 445, 9354 en 10000-20000. Raadpleeg Netwerkverkeer filteren met netwerkbeveiligingsgroepen voor meer informatie.

  • 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 voor de migratie toe te staan.

De functie Opnieuw proberen aan de serverzijde configureren

U kunt profiteren van mogelijkheden voor resourcebeheer als u migreert van MongoDB naar Azure Cosmos DB. Met deze mogelijkheden kunt u volledig gebruikmaken van uw ingerichte aanvraageenheden (RU/s) aan doorvoer. Azure Cosmos DB kan een bepaalde Database Migration Service-aanvraag in de loop van de migratie beperken als die aanvraag de door de container ingerichte RU/s overschrijdt. Vervolgens moet die aanvraag opnieuw worden geprobeerd.

Database Migration Service kan nieuwe pogingen uitvoeren. Het is belangrijk om te weten dat de retourtijd die betrokken is bij de netwerkhop tussen Database Migration Service en Azure Cosmos DB van invloed is 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.

Als u het opnieuw proberen aan de serverzijde wilt gebruiken, selecteert u in de Azure Cosmos DB-portal functies>voor opnieuw proberen aan serverzijde.

Screenshot that shows where to find the Server Side Retry feature.

Als de functie is uitgeschakeld, selecteert u Inschakelen.

Screenshot that shows how to enable Server Side Retry.

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.

    Screenshot that shows Azure Marketplace.

  2. Selecteer in het scherm Azure Database Migration ServiceMaken.

    Screenshot that shows how to create an instance of Azure Database Migration Service.

  3. Geef bij 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 Een virtueel netwerk maken met behulp van De Azure-portal voor meer informatie over het maken van een virtueel netwerk.

  6. Selecteer een prijscategorie.

    Zie voor meer informatie over de kosten en prijscategorieën de Pagina met prijzen.

    Screenshot that shows configuration settings for the instance of Azure Database Migration Service.

  7. Selecteer Maken om de dienst te maken.

Een migratieproject maken

Nadat u de service hebt gemaakt, zoekt u deze in Azure Portal en opent u deze. 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.

    Screenshot that shows how to 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.

  3. Selecteer + Nieuw migratieproject.

  4. Geef in nieuw migratieproject een naam op voor het project en selecteer MongoDB in het tekstvak Bronservertype. Selecteer in het tekstvak Doelservertype Azure Cosmos DB for NoSQL en selecteer vervolgens voor Type activiteit kiezen de optie Offlinegegevensmigratie.

    Screenshot that shows project options.

  5. Selecteer Maken en uitvoeren van de activiteit 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, die een volledig gekwalificeerde domeinnaam of een IP-adres, poortnummer en verbindingsreferenties accepteert.

    • Verbinding maken ietekenreeksmodus, die een MongoDB-verbindingsreeks accepteert, zoals beschreven in Verbinding maken ion String URI Format.

    • Gegevens uit Azure-opslag: deze accepteert een SAS-URL van de blob-container. Selecteer Blob bevat BSON-dumps als de blobcontainer BSON-dumps bevat die zijn geproduceerd door het hulpprogramma MongoDB bsondump. Selecteer deze optie niet als de container JSON-bestanden bevat.

      Als u deze optie selecteert, moet u ervoor zorgen dat het opslagaccount verbindingsreeks wordt weergegeven in de volgende indeling:

      https://blobnameurl/container?SASKEY
      

      U vindt deze SAS-blobcontainer verbindingsreeks in Azure Storage Explorer. Als u de SAS voor de betreffende container maakt, krijgt u de URL in de aangevraagde indeling.

      Houd ook rekening met het volgende op basis van de typedumpgegevens in Azure Storage:

      • Voor BSON-dumps moeten de gegevens in de blobcontainer de bsondump-indeling hebben. Plaats gegevensbestanden in mappen die zijn genoemd naar de bijbehorende databases in de indeling collection.bson. Geef metagegevensbestanden een naam met behulp van de indeling collection.metadata.json.

      • Voor JSON-dumps moeten de bestanden in de blob-container worden geplaatst in mappen die zijn genoemd naar de omvattende databases. Binnen elke databasemap moeten gegevensbestanden worden geplaatst in een submap met de naam gegevens en met de naam met de indeling collection.json. Plaats metagegevensbestanden in een submap met de naam metagegevens en benoemd met dezelfde indeling collection.json. De metagegevensbestanden moeten de indeling hebben die wordt geproduceerd door het MongoDB-hulpprogramma bsondump.

    Belangrijk

    Het wordt afgeraden om een zelfondertekend certificaat op de MongoDB-server te gebruiken. Als u er een moet gebruiken, maakt u verbinding met de server met behulp van de verbindingsreeks-modus en zorgt u ervoor dat uw verbindingsreeks aanhalingstekens bevat ("").

    &sslVerifyCertificate=false
    

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

    Screenshot that shows specifying source details.

  2. Selecteer Opslaan.

Doeldetails opgeven

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

    Screenshot that shows specifying 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 Maken wordt weergegeven naast de databasenaam, geeft dit aan dat Azure Database Migration Service de doeldatabase niet heeft gevonden en dat de service de database voor u maakt.

    Op dit moment in de migratie kunt u doorvoer inrichten. In Azure Cosmos DB kunt u doorvoer inrichten op databaseniveau of afzonderlijk voor elke verzameling. Doorvoer wordt gemeten in aanvraageenheden. Meer informatie over de prijzen van Azure Cosmos DB.

    Screenshot that shows mapping 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 die bestaan op het MongoDB-bronexemplaren die niet bestaan in het Azure Cosmos DB-doelaccount. Als u verzamelingen met al gegevens wilt migreren, moet u de verzamelingen in dit deelvenster expliciet selecteren.

    U kunt opgeven hoeveel RU's u voor de verzamelingen wilt gebruiken. Er worden slimme standaardwaarden voorgesteld op basis van de gezamenlijke grootte.

    Notitie

    Voer de databasemigratie en -verzameling parallel uit. Indien nodig kunt u meerdere exemplaren van Azure Database Migration Service gebruiken om de uitvoering te versnellen.

    U kunt ook een shardsleutel opgeven om te profiteren van partitionering in Azure Cosmos DB voor optimale schaalbaarheid. Bekijk de aanbevolen procedures voor het selecteren van een shard-/partitiesleutel.

    Screenshot that shows selecting collections tables.

  4. Selecteer Opslaan.

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

    Screenshot that shows the nigration summary.

De migratie uitvoeren

Selecteer Migratie uitvoeren. Het venster migratieactiviteit wordt weergegeven en de status van de activiteit is niet gestart.

Screenshot that shows the activity status.

De migratie bewaken

Selecteer In het scherm migratieactiviteit vernieuwen om de weergave bij te werken totdat de status van de migratie wordt weergegeven als Voltooid.

Notitie

U kunt de activiteit selecteren om details op te halen van metrische gegevens over migratie op database- en verzamelingsniveau.

Screnshot that shows the activity status completed.

Gegevens controleren in Azure Cosmos DB

Nadat de migratie is voltooid, kunt u uw Azure Cosmos DB-account controleren om te controleren of alle verzamelingen zijn gemigreerd.

Screenshot that shows where to check your Azure Cosmos DB account to verify that all the collections were migrated successfully.

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 ook andere optimalisatiestappen na de migratie uitvoeren. Dit kan omvatten het optimaliseren van het indexeringsbeleid, het bijwerken van het standaardconsistentieniveau of het configureren van wereldwijde distributie voor uw Azure Cosmos DB-account. Zie Optimalisatie na migratie voor meer informatie.

Aanvullende bronnen

Volgende stappen

Bekijk de migratierichtlijnen voor aanvullende scenario's in de Handleiding voor Azure Database Migration.