Självstudie: Migrera MongoDB till Azure Cosmos DB för MongoDB RU offline med Azure Database Migration Service
GÄLLER FÖR: MongoDB
Viktigt!
Läs hela den här guiden innan du utför migreringsstegen. Azure Database Migration Service stöder för närvarande inte migreringar till ett Azure Cosmos DB for MongoDB vCore-konto. Använd Azure Cosmos DB for MongoDB-tillägget i Azure Data Studio för att migrera dina MongoDB-arbetsflöden offline till Azure Cosmos DB för MongoDB vCore.
Den här MongoDB-migreringsguiden är en del av serien om MongoDB-migrering. De kritiska Stegen för MongoDB-migrering är före migrering, migrering och efter migrering, enligt nedan.
Översikt över datamigrering offline från MongoDB till Azure Cosmos DB med DMS
Använd Azure Database Migration Service för att utföra en offlinemigrering av databaser från en lokal eller molninstans av MongoDB till Azure Cosmos DB för MongoDB.
I den här självstudien lär du dig att:
- Skapa en instans av Azure Database Migration Service.
- Skapa ett migreringsprojekt med hjälp av Azure Database Migration Service.
- Köra migreringen.
- Övervaka migreringen.
I den här självstudien migrerar du en datauppsättning i MongoDB som finns på en virtuell Azure-dator. Genom att använda Azure Database Migration Service migrerar du datamängden till Azure Cosmos DB för MongoDB. Om du inte redan har konfigurerat en MongoDB-källa kan du läsa Installera och konfigurera MongoDB på en virtuell Windows-dator i Azure.
Förutsättningar
För att slutföra den här kursen behöver du:
Slutför stegen före migreringen , till exempel att beräkna dataflödet och välja en partitionsnyckel.
Skapa ett konto för Azure Cosmos DB för MongoDB.
Kommentar
DMS stöds för närvarande inte om du migrerar till ett Azure Cosmos DB for MongoDB-konto som har etablerats med serverlöst läge.
Skapa ett Microsoft Azure Virtual Network för Azure Database Migration Service med hjälp av Azure Resource Manager. Den här distributionsmodellen tillhandahåller plats-till-plats-anslutning till dina lokala källservrar med hjälp av antingen Azure ExpressRoute eller VPN. Mer information om hur du skapar ett virtuellt nätverk finns i dokumentationen för Azure Virtual Network, särskilt artiklarna "snabbstart" med stegvis information.
Om du använder ExpressRoute med nätverkspeering till Microsoft under konfigurationen av virtuella nätverk lägger du till följande tjänstslutpunkter i det undernät där tjänsten ska etableras:
- Måldatabasslutpunkt (till exempel SQL-slutpunkt eller Azure Cosmos DB-slutpunkt)
- Lagringsslutpunkt
- Service Bus-slutpunkt
Den här konfigurationen är nödvändig eftersom Azure Database Migration Service saknar Internetanslutning.
Se till att nätverkssäkerhetsgruppens regler för ditt virtuella nätverk inte blockerar följande kommunikationsportar: 53, 443, 445, 9354 och 10000-20000. Mer information finns i Filtrera nätverkstrafik med nätverkssäkerhetsgrupper.
Öppna Windows-brandväggen så att Azure Database Migration Service kommer åt MongoDB-källservern, med standardinställningen TCP-port 27017.
När du använder en brandväggsinstallation framför dina källdatabaser kanske du måste lägga till brandväggsregler för att tillåta Azure Database Migration Service att komma åt källdatabasen för migrering.
Konfigurera funktionen Försök igen på serversidan
Du kan dra nytta av resursstyrningsfunktioner om du migrerar från MongoDB till Azure Cosmos DB. Med dessa funktioner kan du använda dina etablerade enheter för begäranden (RU/s) för dataflödet fullt ut. Azure Cosmos DB kan begränsa en viss databasmigreringstjänstbegäran under migreringen, om den begäran överskrider de containeretablerade RU:erna. Sedan måste den begäran göras på nytt.
Database Migration Service kan utföra återförsök. Det är viktigt att förstå att tidsåtgången för tur och retur i nätverkshoppet mellan Database Migration Service och Azure Cosmos DB påverkar den övergripande svarstiden för den 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 För återförsök på serversidan i Azure Cosmos DB kan tjänsten fånga upp felkoder för begränsning och försöka igen med en mycket lägre tur- och returtid, vilket avsevärt förbättrar svarstiderna för begäranden.
Om du vill använda Återförsök på serversidan går du till Azure Cosmos DB-portalen och väljer Funktioner>Försök igen på serversidan.
Om funktionen är inaktiverad väljer du Aktivera.
Registrera resursprovidern
Registrera resursprovidern Microsoft.DataMigration innan du skapar din första instans av Database Migration Service.
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 Resursprovidrar.
Sök efter migrering och välj sedan Registrera dig 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.
I Skapa migreringstjänst 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 Azure Cosmos DB-målkontot.
Mer information om hur du skapar ett virtuellt nätverk i Azure Portal finns i Skapa ett virtuellt nätverk med hjälp av Azure Portal.
Välj en prisnivå.
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 du har skapat tjänsten letar du reda på den i Azure Portal och öppnar den. Skapa 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å den Azure Database Migration Service-instans som du skapade och väljer sedan instansen.
Välj + Nytt migreringsprojekt.
I Nytt migreringsprojekt anger du ett namn för projektet och i textrutan Källservertyp väljer du MongoDB. I textrutan Målservertyp väljer du Azure Cosmos DB för NoSQL och väljer sedan Offlinedatamigrering för Välj typ av aktivitet.
Välj 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 domännamn eller en IP-adress, portnummer och autentiseringsuppgifter för anslutningen.
Anslutningssträngsläge, som accepterar en MongoDB-anslutningssträng enligt beskrivningen i URI-format för anslutningssträngar.
Data från Azure-lagring som tar emot en blobcontainers SAS-URL. Välj Blob innehåller BSON-dumpar om blobcontainern har BSON-dumpar som skapats av mongoDB bsondump-verktyget. Välj inte det här alternativet om containern innehåller JSON-filer.
Om du väljer det här alternativet kontrollerar du att lagringskontot anslutningssträng visas i följande format:
https://blobnameurl/container?SASKEY
Du hittar den här blobcontainerns SAS-anslutningssträng i Azure Storage Explorer. När du skapar SAS för den berörda containern får du URL:en i det begärda formatet.
Tänk också på följande baserat på typdumpinformationen i Azure Storage:
För BSON-dumpar måste data i blobcontainern vara i bsondump-format. Placera datafiler i mappar med namnet efter de som innehåller databaser i formatet collection.bson. Namnge metadatafiler med hjälp av formatet collection.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 kallas data och namnges med hjälp av formatet collection.json. Placera metadatafiler i en undermapp som kallas metadata och namnges med samma format, collection.json. Metadatafilerna måste vara i samma format som det som skapas av verktyget MongoDB bsondump.
Viktigt!
Vi rekommenderar inte att du använder ett självsignerat certifikat på MongoDB-servern. Om du måste använda en ansluter du till servern med hjälp av anslutningssträng läge och ser till att din anslutningssträng har citattecken ("").
&sslVerifyCertificate=false
Du kan också använda IP-adressen för situationer där DNS-namnmatchning inte är möjlig.
Välj Spara.
Ange målinformation
På skärmen Information om migreringsmål anger du anslutningsinformation för Azure Cosmos DB-målkontot. Det här kontot är det företablerade Azure Cosmos DB för MongoDB-kontot som du migrerar 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 Skapa visas bredvid databasnamnet anger 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, kan du etablera ett dataflöde. I Azure Cosmos DB kan du etablera dataflöde antingen på databasnivå eller individuellt för varje samling. Dataflödet mäts i enheter för begäranden. 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 väljer automatiskt alla samlingar som finns på mongoDB-källinstansen som inte finns på Azure Cosmos DB-målkontot. Om du vill migrera samlingar som redan innehåller data måste du uttryckligen välja samlingarna i det här fönstret.
Du kan ange hur många RU:er som du vill att samlingarna ska använda. Azure Database Migration Service föreslår smarta standardvärden baserat på samlingens storlek.
Kommentar
Utför databasmigreringen och samlingen parallellt. Om det behövs kan du använda flera instanser av Azure Database Migration Service 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. Granska metodtipsen för att välja en shard-/partitionsnyckel.
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 visas och aktivitetens status är Inte startad.
Övervaka migreringen
På skärmen migreringsaktivitet väljer du Uppdatera för att uppdatera visningen tills statusen för migreringen visas som Slutförd.
Kommentar
Du kan välja aktiviteten för att få information om migreringsmått på databas- och samlingsnivå.
Verifiera data i Azure Cosmos DB
När migreringen är klar kan du kontrollera ditt Azure Cosmos DB-konto för att kontrollera att alla samlingar har migrerats.
Optimering efter migrering
När du har migrerat data som lagras i MongoDB-databasen till Azure Cosmos DB for MongoDB kan du ansluta till Azure Cosmos DB och hantera data. Du kan också utföra andra optimeringssteg efter migreringen. Dessa kan vara att optimera indexeringsprincipen, uppdatera standardkonsekvensnivån eller konfigurera global distribution för ditt Azure Cosmos DB-konto. Mer information finns i optimering efter migrering.
Ytterligare resurser
Försöker du planera kapacitet för en migrering till Azure Cosmos DB?
- Om allt du vet är antalet virtuella kärnor och servrar i ditt befintliga databaskluster läser du om att uppskatta enheter för begäranden med virtuella kärnor eller virtuella kärnor
- Om du känner till vanliga begärandefrekvenser för din aktuella databasarbetsbelastning kan du läsa om att uppskatta enheter för begäranden med azure Cosmos DB-kapacitetshanteraren