Självstudie: Migrera MongoDB till Azure Cosmos DB API för MongoDB online med DMS
GÄLLER för:
Azure Cosmos DB-API för MongoDB
Viktigt
Läs igenom hela guiden innan du utför migreringsstegen.
Den här MongoDB-migreringsguiden ingår i serien om MongoDB-migrering. De kritiska MongoDB-migreringsstegen är före migrering, migrering och eftermigrering, enligt nedan.

Översikt över onlinemigrering av data från MongoDB till Azure Cosmos DB med DMS
Du kan använda Azure Database Migration Service för att utföra en onlinemigrering (minimal avbrottstid) av databaser från en lokal instans eller en molninstans av MongoDB till Azure Cosmos DB API för MongoDB.
Den här självstudien visar de steg som är associerade med Azure Database Migration Service för att migrera MongoDB-data till Azure Cosmos DB:
- Skapa en instans av Azure Database Migration Service.
- Skapa ett migreringsprojekt.
- Ange källan.
- Ange målet.
- Mappa till måldatabaser.
- Köra migreringen.
- Övervaka migreringen.
- Verifiera data i Azure Cosmos DB.
- Slutför migreringen när du är klar.
I den här självstudien migrerar du en datauppsättning i MongoDB som finns på en virtuell Azure-dator till Azure Cosmos DB:s API för MongoDB med minimal avbrottstid med hjälp av Azure Database Migration Service. Om du inte har konfigurerat någon MongoDB-källa, kan du läsa artikeln Installera och konfigurera MongoDB på en virtuell Windows-dator i Azure.
Anteckning
Om Azure Database Migration Service ska kunna utföra en onlinemigrering måste du skapa en instans Premium på prisnivån.
Viktigt
För en optimal migreringsupplevelse rekommenderar Microsoft att du skapar en instans Azure Database Migration Service i samma Azure-region som måldatabasen. Att flytta data mellan regioner eller geografiska områden kan göra migreringsprocessen långsammare.
Tips
När du migrerar databaser till Azure med hjälp av Azure Database Migration Service kan du göra en offline- eller en online migrering. Med en offlinemigrering startar programmets frånkopplade tillstånd när migreringen startar. Med onlinemigrering begränsas det frånkopplade tillståndet till tiden för att genomföra snabb migrering vid slutet av migreringen. Vi rekommenderar att du testar en offlinemigrering för att avgöra om det frånkopplade tillståndet är godtagbart. Om det inte är det kan du utföra en onlinemigrering.
I den här artikeln beskrivs en onlinemigrering från MongoDB till Azure Cosmos DB:s API för MongoDB. Läs mer i Migrera MongoDB till Azure Cosmos DB:s API för MongoDB offline med DMS om offlinemigrering.
Förutsättningar
För att slutföra den här kursen behöver du:
Slutför stegen före migreringen, till exempel att uppskatta dataflödet, välja en partitionsnyckel och indexeringsprincipen.
Skapa ett Azure Cosmos DB API för MongoDB-konto och se till att SSR (återförsök på serversidan) är aktiverat.
Anteckning
DMS stöds för närvarande inte om du migrerar till ETT API för MongoDB-konto som har etablerats med serverlöst läge.
Skapa en Microsoft Azure Virtual Network för Azure Database Migration Service med hjälp av Azure Resource Manager-distributionsmodellen, som ger plats-till-plats-anslutning till dina lokala källservrar med hjälp av ExpressRoute eller VPN.
Anteckning
Om du använder ExpressRoute med nätverks-peering till Microsoft under installationen av det virtuella nätverket lägger du till följande tjänstslutpunkter i det undernät där tjänsten ska etableras:
- Måldatabasslutpunkt (till exempel SQL slutpunkt, Cosmos DB slutpunkt och så vidare)
- Storage slutpunkt
- Service Bus-slutpunkt
Den här konfigurationen är nödvändig Azure Database Migration Service saknar Internetanslutning.
Kontrollera att reglerna för nätverkssäkerhetsgruppen för virtuella nätverk (NSG) inte blockerar följande kommunikationsportar: 53, 443, 445, 9354 och 10000-20000. Mer information om filtrering av nätverkssäkerhetsgrupper för virtuella nätverk finns i artikeln Filtrera nätverkstrafik med nätverkssäkerhetsgrupper.
Öppna din Windows så att Azure Database Migration Service åtkomst till MongoDB-källservern, som som standard är TCP-port 27017.
När du använder en brandväggsinstallation framför dina källdatabaser kan du behöva lägga till brandväggsregler för att tillåta Azure Database Migration Service åtkomst till källdatabaserna för migrering.
Konfigurera Azure Cosmos DB återförsök på serversidan för effektiv migrering
Kunder som migrerar från MongoDB till Azure Cosmos DB kan dra nytta av resursstyrningsfunktioner, vilket garanterar möjligheten att fullt ut utnyttja dina etablerade RU:er för dataflöde. Azure Cosmos DB kan begränsa en viss Data Migration Service-begäran under migreringen om begäran överskrider containerns etablerade RU/s. Sedan måste det göras ett åter försök att skicka begäran. Data Migration Service kan utföra återförsök, men den tid för tur och retur som ingår i nätverkshoppet mellan Data Migration Service och Azure Cosmos DB påverkar den övergripande svarstiden för begäran. Att förbättra svarstiden för begränsade begäranden kan förkorta den totala tid som krävs för migrering. Funktionen Återförsök på serversidan i Azure Cosmos DB gör att tjänsten kan fånga upp begränsningsfelkoder och försöka igen med mycket lägre tur och retur-tid, vilket avsevärt förbättrar svarstiderna för förfrågningar.
Du hittar funktionen Återförsök på serversidan på bladet Funktioner i Azure Cosmos DB portalen

Och om det är Inaktiverat rekommenderar vi att du aktiverar det enligt nedan

Registrera resursprovidern Microsoft.DataMigration
Logga in på Azure-portalen. Sök efter och välj Prenumerationer.

Välj den prenumeration där du vill skapa instansen av Azure Database Migration Service och välj sedan Resursproviders.

Sök efter migrering och välj sedan Registrera för Microsoft.DataMigration.

Skapa en instans
I Azure Portal väljer du + Skapa en resurs, söker efter Azure Database Migration Service och väljer sedan Azure Database Migration Service i listrutan.

På sidan Azure Database Migration Service väljer du Skapa.

På sidan Create Migration Service anger du ett namn för tjänsten, prenumerationen och en ny eller befintlig resursgrupp.
Välj den plats där du vill skapa instansen av Azure Database Migration Service.
Välj ett befintligt virtuellt nätverk eller skapa ett nytt.
Det virtuella nätverket ger Azure Database Migration Service åtkomst till MongoDB-källinstansen och målkontot Azure Cosmos DB måldatabasen.
Mer information om hur du skapar ett virtuellt nätverk i Azure Portal finns i artikeln Skapa ett virtuellt nätverk med hjälp av Azure Portal.
Välj en SKU på Premium-prisnivån.
Anteckning
Onlinemigreringar stöds bara när du använder Premium-nivån. Mer information om kostnader och prisnivåer finns på sidan med priser.

Välj Skapa för att skapa tjänsten.
Skapa ett migreringsprojekt
När tjänsten har skapats letar du reda på den i Azure Portal, öppnar den och skapar sedan ett nytt migreringsprojekt.
I Azure Portal väljer du Alla tjänster, söker efter Azure Database Migration Service och väljer sedan Azure Database Migration Services.

På skärmen Azure Database Migration Services söker du efter namnet på Azure Database Migration Service som du skapade och väljer sedan instansen.
Alternativt kan du identifiera Azure Database Migration Service-instansen från sökfönstret i Azure Portal.

Välj + Nytt migreringsprojekt.
På sidan Nytt migreringsprojekt anger du namnet på projektet. I textrutan Typ av källserver väljer du MongoDB, i textrutan Målservertyp väljer du CosmosDB (MongoDB API) och i Välj typ av aktivitet väljer du sedan Online-datamigrering (förhandsversion).

Välj Spara och sedan Skapa och kör aktivitet för att skapa projektet och köra migreringsaktiviteten.
Ange källinformation
På sidan Källinformation anger du anslutningsinformationen för MongoDB-källservern.
Viktigt
Azure Database Migration Service stöder inte Azure Cosmos DB som källa.
Det finns tre lägen för att ansluta till en datakälla:
Standardläge som accepterar ett fullständigt kvalificerat domännamn eller en IP-adress, portnummer och autentiseringsuppgifter för anslutningen.
Anslutningssträngsläge som tar emot en MongoDB-anslutningssträng som beskrivs i artikeln URI-anslutningssträngens format.
Data från Azure-lagring som tar emot en blobcontainers SAS-URL. Välj Bloben innehåller BSON-dumpar om blobcontainern innehåller BSON-dumpar som producerats av MongoDB:s bsondump-verktyg och avmarkera den om containern innehåller JSON-filer.
Om du väljer det här alternativet ska du se till att anslutningssträngen för lagringskontot har följande format:
https://blobnameurl/container?SASKEYBaserat på typdumpinformationen i Azure Storage bör du dessutom ha följande i åtanke.
För BSON-dumpar måste data i blob-containern vara i bsondump-format, så att datafilerna placeras i mappar som namnges efter de innehållande databaserna i formatet collection.bson. Metadatafiler (om sådana finns) bör namnges med formatet samling.metadata.json.
För JSON-dumpar måste filerna i blob-containern placeras i mappar som namnges efter de innehållande databaserna. I varje databasmapp måste datafiler placeras i en undermapp som heter ”data” och namnges med formatet samling.json. Metadatafiler (om sådana finns) måste placeras i en undermapp som heter ”metadata” och namnges med samma format, samling.json. Metadatafilerna måste vara i samma format som det som skapas av verktyget MongoDB bsondump.
Viktigt
Det rekommenderas inte att använda ett självsignerat certifikat på Mongo-servern. Om du däremot använder en sådan ansluter du till servern med läget för anslutningssträngen och ser till att anslutningssträngen har ""
&sslVerifyCertificate=falseDu kan även använda IP-adressen i situationer då DNS-namnmatchning inte är möjlig.

Välj Spara.
Anteckning
Källserveradressen ska vara den primära adressen om källan är en replikuppsättning och routern om källan är ett delat MongoDB-kluster. Azure Database Migration Service måste kunna ansluta till enskilda shards i klustret, vilket kan kräva att brandväggen öppnas på flera datorer vid ett fragmenterat MongoDB-kluster.
Ange målinformation
På sidan Information om migreringsmål anger du anslutningsinformationen för Azure Cosmos DB-målkontot, vilket är det företablerade Azure Cosmos DB-API för MongoDB-kontot som du ska migrera dina MongoDB-data till.

Välj Spara.
Mappa till måldatabaser
På skärmen Mappa till måldatabaser mappar du käll- och måldatabasen för migreringen.
Om måldatabasen innehåller samma databasnamn som källdatabasen väljer Azure Database Migration Service måldatabasen som standard.
Om strängen Skapa visas bredvid databasnamnet betyder det att Azure Database Migration Service inte hittade måldatabasen och att tjänsten skapar databasen åt dig.
I det här läget i migreringen anger du ett dataflödes-RU om du vill dela dataflödet i databasen. I Cosmos DB kan du etablera dataflöden på databasnivå eller separat för varje samling. Dataflödet mäts i enheter för programbegäran (RU:er). Mer information om Azure Cosmos DB-prissättning.

Välj Spara.
På skärmen Mängdinställning expanderar du samlingslistan och granskar sedan listan över de samlingar som ska migreras.
Azure Database Migration Service automatiskt alla samlingar som finns på MongoDB-källinstansen som inte finns på Azure Cosmos DB konto. Om du vill migrera om samlingar som redan innehåller data, måste du uttryckligen välja samlingarna i detta fönster.
Du kan ange hur många RU:er som du vill att samlingarna ska använda. Ett värde mellan 500 (minst 1 000 för fragmenterade samlingar) och 4 000 bör i de flesta fall vara tillräckligt. Azure Database Migration Service föreslår smarta standardvärden baserat på samlingens storlek.
Anteckning
Utför databasmigrering och insamling parallellt med flera instanser av Azure Database Migration Service, om det behövs, för att påskynda körningen.
Du kan också ange en shardnyckel för att kunna utnyttja partitionering i Azure Cosmos DB för optimal skalbarhet. Läs igenom metodtipsen för att välja en shard-/partitionsnyckel. Om du inte har någon partitionsnyckel, kan du alltid använda _id som shardnyckel för att få ett bättre dataflöde.

Välj Spara.
På sidan Migreringssammanfattning, i textrutan Aktivitetsnamn anger du ett namn på migreringsaktiviteten.

Köra migreringen
Välj Kör migrering.
Migreringsaktivitetsfönstret öppnas och Status för aktiviteten visas.

Övervaka migreringen
På migreringsaktivitetssidan väljer du Uppdatera för att uppdatera visningen tills Status för migreringen är Spelar upp igen.
Anteckning
Du kan välja Aktivitet för att få information om databasens och samlingsnivåns migreringsmått.

Kontrollera data i Cosmos DB
Gör ändringar i din källdatabas för MongoDB.
Anslut till COSMOS DB för att kontrollera om data replikeras från källservern för MongoDB.

Slutföra migreringen
När alla dokument från källan är tillgängliga i COSMOS DB-målet, väljer du Slutför i migreringsaktivitetens snabbmeny för att slutföra migreringen.
Åtgärden spelar upp alla väntande ändringar igen och slutför migreringen.

Optimering efter migrering
När du har migrerat de data som lagras i MongoDB-Azure Cosmos DB till API:et för MongoDB kan du ansluta till Azure Cosmos DB och hantera data. Du kan också utföra andra optimeringssteg efter migreringen, till exempel optimera indexeringsprincipen, uppdatera standardkonsekvensnivån eller konfigurera global distribution för ditt Azure Cosmos DB konto. Mer information finns i artikeln optimering efter migrering.
Ytterligare resurser
- Information om Cosmos DB-tjänsten
- Försöker du göra kapacitetsplanering för en migrering till Azure Cosmos DB?
- Om allt du vet är antalet virtuella kärnor och servrar i ditt befintliga databaskluster kan du läsa om att uppskatta enheter för programbegäran med hjälp av virtuella kärnor eller virtuella processorer
- Om du känner till vanliga begärandefrekvenser för din aktuella databasarbetsbelastning kan du läsa om att uppskatta enheter för programbegäran Azure Cosmos DB kapacitetsplaneraren
Nästa steg
- Se fler scenarier i migreringsvägledningen i Microsofts Guide för databasmigrering.