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

Diagram of migration steps.

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

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

Screenshot that shows where to find the Server Side Retry feature.

Om funktionen är inaktiverad väljer du Aktivera.

Screenshot that shows how to enable Server Side Retry.

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.

    Screenshot that shows Azure Marketplace.

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

    Screenshot that shows how to create an instance of Azure Database Migration Service.

  3. I Skapa migreringstjänst 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 Skapa ett virtuellt nätverk med hjälp av Azure-portalen.

  6. Välj en prisnivå.

    Mer information om kostnader och prisnivåer finns på sidan med priser.

    Screenshot that shows configuration settings for the instance of Azure Database Migration Service.

  7. Välj Skapa för att skapa tjänsten.

Skapa ett migreringsprojekt

När du har skapat tjänsten letar du upp den i Azure-portalen och öppnar den. Skapa 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.

    Screenshot that shows how to 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.

  3. Välj + Nytt migreringsprojekt.

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

    Screenshot that shows project options.

  5. Välj 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 domännamn eller en IP-adress, portnummer och autentiseringsuppgifter för anslutningen.

    • Anslut ionssträngsläge, som accepterar en MongoDB-anslutningssträng enligt beskrivningen i Anslut ionssträngs-URI-format.

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

    Screenshot that shows specifying source details.

  2. Välj Spara.

Ange målinformation

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

    Screenshot that shows specifying 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 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.

    Screenshot that shows mapping 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 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.

    Screenshot that shows selecting collections tables.

  4. Välj Spara.

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

    Screenshot that shows the nigration summary.

Köra migreringen

Välj Kör migrering. Migreringsaktivitetsfönstret visas och aktivitetens status är Inte startad.

Screenshot that shows the activity status.

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

Screnshot that shows the activity status completed.

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.

Screenshot that shows where to check your Azure Cosmos DB account to verify that all the collections were migrated successfully.

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

Nästa steg

Läs migreringsvägledningen för ytterligare scenarier i Azure Database Migration Guide.