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.

Diagram över migreringssteg.

Ö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

Skärmbild av funktionen Försök igen på Serversidan på MongoDB.

Och om den är inaktiverad rekommenderar vi att du aktiverar den enligt nedan

Skärmbild av återförsöksaktivering på MongoDB-serversidan.

Registrera resursprovidern

Registrera resursprovidern Microsoft.DataMigration innan du skapar din första instans av Database Migration Service.

  1. Logga in på Azure-portalen. Sök efter och välj Prenumerationer.

    Skärmbild av Visa portalprenumerationer.

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

    Skärmbild av Visa resursprovidrar.

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

    Skärmbild av Registrera resursprovider.

Skapa en instans

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

    Skärmbild som visar Azure Marketplace.

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

    Skärmbild av Skapa Azure Database Migration Service-instans.

  3. På sidan Create Migration Service anger du ett namn för tjänsten, prenumerationen och en ny eller befintlig resursgrupp.

  4. Välj den plats där du vill skapa instansen av Azure Database Migration Service.

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

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

    Skärmbild av instansinställningarna för Konfigurera Azure Database Migration Service.

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

  1. I Azure Portal väljer du Alla tjänster, söker efter Azure Database Migration Service och väljer sedan Azure Database Migration Services.

    Skärmbild av Hitta alla instanser av Azure Database Migration Service.

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

    Skärmbild av Använd fönstret Sök i Azure Portal.

  3. Välj + Nytt migreringsprojekt.

  4. 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].

    Skärmbild av projektet Create Database Migration Service (Skapa databasmigreringstjänst).

  5. Välj Spara och sedan Skapa och kör aktivitet för att skapa projektet och köra migreringsaktiviteten.

Ange källinformation

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

    Skärmbild av Ange källinformation.

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

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

    Skärmbild av Ange målinformation.

  2. Välj Spara.

Mappa till måldatabaser

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

    Skärmbild av Mappa till måldatabaser.

  2. Välj Spara.

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

    Skärmbild av Välj samlingstabeller.

  4. Välj Spara.

  5. På sidan Migreringssammanfattning, i textrutan Aktivitetsnamn anger du ett namn på migreringsaktiviteten.

    Skärmbild av migreringssammanfattning.

Köra migreringen

Välj Kör migrering.

Migreringsaktivitetsfönstret öppnas och Status för aktiviteten visas.

Skärmbild av aktivitetsstatus.

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

Skärmbild av omspelning av aktivitetsstatus.

Verifiera data i Azure Cosmos DB

  1. Gör ändringar i din källdatabas för MongoDB.

  2. Anslut till Azure Cosmos DB för att kontrollera om data replikeras från MongoDB-källservern.

    Skärmbild som visar var du kan kontrollera att data har replikerats.

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.

Skärmbild som visar alternativet Slutför meny.

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