Självstudie: Migrera MongoDB till Azure Cosmos DB för MongoDB RU online 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.
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 online 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 stilleståndstid) av databaser från en lokal eller molninstans av MongoDB till Azure Cosmos DB för MongoDB.
Den här självstudien visar de steg som är associerade med att använda 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 for MongoDB med minimal stilleståndstid via Azure Database Migration Service. 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.
Att använda Azure Database Migration Service för att utföra en onlinemigrering kräver att du skapar en instans baserat på premiumprisnivån.
Viktigt!
För en optimal migrering rekommenderar Microsoft att du skapar en instans av 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.
Dricks
I Azure Database Migration Service kan du migrera dina databaser offline eller när de är online. Vid en offlinemigrering startar programmets stilleståndstid när migreringen startar. Om du vill begränsa stilleståndstiden till den tid det tar att skära ned till den nya miljön efter migreringen använder du en onlinemigrering . Vi rekommenderar att du testar en offlinemigrering för att avgöra om stilleståndstiden är acceptabel. Om den förväntade stilleståndstiden inte är acceptabel utför du en onlinemigrering.
Den här artikeln beskriver en onlinemigrering från MongoDB till Azure Cosmos DB för MongoDB. En offlinemigrering finns i Självstudie: Migrera MongoDB till Azure Cosmos DB för MongoDB RU offline med Azure Database Migration Service.
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öde, välja en partitionsnyckel och indexeringsprincipen.
Skapa ett Azure Cosmos DB för MongoDB-konto och se till att Förhindra hastighetsbegränsningsfel för Azure Cosmos DB för MongoDB-åtgärder är aktiverat.
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 for Azure Database Migration Service med hjälp av Azure Resource Manager-distributionsmodellen, som tillhandahåller plats-till-plats-anslutning till dina lokala källservrar med hjälp av antingen ExpressRoute eller VPN.
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, Azure Cosmos DB-slutpunkt och så vidare)
- Lagringsslutpunkt
- Service Bus-slutpunkt
Den här konfigurationen är nödvändig eftersom Azure Database Migration Service saknar Internetanslutning.
Se till att reglerna för nätverkssäkerhetsgruppen (NSG) inte blockerar följande kommunikationsportar: 53, 443, 445, 9354 och 10000-20000. Mer information om trafikfiltrering för virtuella nätverk NSG finns i artikeln 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 kan du behöva lägga till brandväggsregler så att Azure Database Migration Service kan komma åt källdatabaserna för migrering.
Konfigurera återförsök på Serversidan i Azure Cosmos DB för effektiv migrering
Kunder som migrerar från MongoDB till Azure Cosmos DB drar nytta av resursstyrningsfunktioner, vilket garanterar möjligheten att fullt ut använda din etablerade RU/s av dataflöde. Azure Cosmos DB kan begränsa en viss datamigreringstjänstbegäran under migreringen om den begäran överskrider containern etablerade RU/s. måste begäran göras på nytt. Data Migration Service kan utföra återförsök, men den tur och retur-tid som ingår i nätverkshoppet mellan Data Migration Service och Azure Cosmos DB påverkar den totala 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 gör att tjänsten kan fånga upp felkoder för begränsning och försöka igen med mycket lägre tur- och returtid, vilket avsevärt förbättrar svarstiderna för begäranden.
Du hittar funktionen För återförsök på serversidan på bladet Funktioner i Azure Cosmos DB-portalen
Och om den är inaktiverad rekommenderar vi att du aktiverar den enligt nedan
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.
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 Azure Cosmos DB-målkontot.
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.
Kommentar
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å den Azure Database Migration Service-instans 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å skärmen Nytt migreringsprojekt anger du ett namn för projektet. I textrutan Typ av källserver väljer du MongoDB. I textrutan Målservertyp väljer du Azure Cosmos DB för MongoDB och väljer sedan Onlinedatamigrering [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?SASKEY
Baserat på typdumpinformationen i Azure Storage bör du också ha följande information 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å MongoDB-servern. Men om en används ansluter du till servern med anslutningssträng läge och ser till att din anslutningssträng har ""
&sslVerifyCertificate=false
Du kan även använda IP-adressen i situationer då DNS-namnmatchning inte är möjlig.
Välj Spara.
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. För ett fragmenterat MongoDB-kluster måste Azure Database Migration Service kunna ansluta till enskilda shards i klustret, vilket kan kräva att brandväggen öppnas på fler datorer.
Ange målinformation
På skärmen Information om migreringsmål anger du anslutningsinformationen för Azure Cosmos DB-målkontot, som är den företablerade Azure Cosmos DB för MongoDB-kontot som du migrerar 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 anger det att Azure Database Migration Service inte hittade måldatabasen och att tjänsten skapar databasen åt dig.
Vid den här tidpunkten i migreringen anger du ett dataflödes-RU om du vill dela dataflödet i databasen. 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 programbegäran i Azure Cosmos DB (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 väljer automatiskt alla samlingar som finns på mongoDB-källinstansen som inte finns på Azure Cosmos DB-målkontot. 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.
Utför databasmigreringen och samlingen 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 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.
Kommentar
Du kan välja Aktivitet för att få information om databasens och samlingsnivåns migreringsmått.
Verifiera data i Azure Cosmos DB
Gör ändringar i din källdatabas för MongoDB.
Anslut till Azure Cosmos DB för att kontrollera om data replikeras från MongoDB-källservern.
Slutföra migreringen
När alla dokument från källan är tillgängliga på Azure Cosmos DB-målet väljer du Slutför på snabbmenyn för migreringsaktiviteten 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 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, till exempel optimera indexeringsprincipen, uppdatera standardkonsekvensnivån eller konfigurera global distribution för ditt Azure Cosmos DB-konto. Mer information finns i artikeln om optimering efter migreringen.
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