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 för 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 of migration steps.

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

Kommentar

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 Migrera MongoDB till Azure Cosmos DB för MongoDB offline med DMS.

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 SSR (återförsök på serversidan) ä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.

    Kommentar

    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 NSG-trafikfiltrering för virtuella nätverk 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

Screenshot of MongoDB Server-Side Retry feature.

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

Screenshot of MongoDB Server-Side Retry enable.

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.

    Show portal subscriptions

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

    Show resource providers

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

    Register resource provider

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.

    Azure Marketplace

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

    Create Azure Database Migration Service instance

  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-portalen finns i artikeln Skapa ett virtuellt nätverk med Hjälp av Azure-portalen.

  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.

    Configure Azure Database Migration Service instance settings

  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.

    Locate all instances of 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-portalen.

    Use the Search pane in the 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].

    Create Database Migration Service project

  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.

    Specify source details

  2. Välj Spara.

    Kommentar

    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

  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.

    Specify target details

  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 (RU:er). Mer information om Azure Cosmos DB-prissättning.

    Map to target databases

  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.

    Kommentar

    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 att få ett bättre dataflöde.

    Select collections tables

  4. Välj Spara.

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

    Migration summary

Köra migreringen

  • Välj Kör migrering.

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

    Activity status

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

    Activity status replaying

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.

    Screenshot that shows where you can verify that the data was replicated.

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.

    Screenshot that shows the Finish menu option.

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

Nästa steg