Självstudie: Migrera MongoDB till Azure Cosmos DB API för MongoDB offline

GÄLLER för: Azure Cosmos DB-API för MongoDB

Viktigt

Läs igenom hela guiden innan du utför migreringsstegen.

Den här MongoDB-migreringsguiden ingår i serien om MongoDB-migrering. De kritiska MongoDB-migreringsstegen är före migrering, migrering och eftermigrering, enligt nedan.

Diagram över migreringssteg.

Översikt över offline-datamigrering 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 instans eller en molninstans av MongoDB till Azure Cosmos DB API för MongoDB.

I den här guiden får du lära 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. Med hjälp Azure Database Migration Service migrerar du datauppsättningen till Azure Cosmos DB API för MongoDB. Om du inte redan har konfigurerat en MongoDB-källa kan du gå till Installera och konfigurera MongoDBpå en Windows virtuell 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 uppskatta dataflödet och välja en partitionsnyckel.

  • Skapa ett konto för Azure Cosmos DB API för MongoDB.

    Anteckning

    DMS stöds för närvarande inte om du migrerar till ETT API för MongoDB-konto som har etablerats med serverlöst läge.

  • Skapa en Microsoft Azure Virtual Network för Azure Database Migration Service med hjälp av Azure Resource Manager. Den här distributionsmodellen ger 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 snabbstartsartiklarna med stegvisa detaljer.

    Anteckning

    Om du använder ExpressRoute med nätverks-peering till Microsoft under installationen av det virtuella nätverket lägger du till följande tjänstslutpunkter i undernätet där tjänsten ska etableras:

    • Måldatabasslutpunkt (till exempel SQL slutpunkt eller Azure Cosmos DB slutpunkt)
    • Storage slutpunkt
    • Service Bus-slutpunkt

    Den här konfigurationen är nödvändig Azure Database Migration Service saknar Internetanslutning.

  • Kontrollera att nätverkssäkerhetsgruppens regler (NSG) för det virtuella nätverket inte blockerar följande kommunikationsportar: 53, 443, 445, 9354 och 10000-20000. Mer information finns i Filtrera nätverkstrafik med nätverkssäkerhetsgrupper.

  • Öppna brandväggen Windows att tillåta Azure Database Migration Service åtkomst till MongoDB-källservern, som som standard är TCP-port 27017.

  • När du använder en brandväggsinstallation framför källdatabasen kan du behöva lägga till brandväggsregler för att tillåta Azure Database Migration Service åtkomst till källdatabasen för migrering.

Konfigurera återförsöksfunktionen 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äran (RU/s) för dataflödet fullt ut. Azure Cosmos DB kan begränsa en Database Migration Service begäran under migreringen, om begäran överskrider de containeretableerade RU:erna. Sedan måste det göras nya försök.

Database Migration Service kan utföra återförsök. Det är viktigt att förstå att svarstiden som ingår i nätverkshoppen mellan Database Migration Service och Azure Cosmos DB påverkar den totala svarstiden för 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 Återförsök på serversidan i Azure Cosmos DB gör att tjänsten kan fånga upp begränsningsfelkoder och försöka igen med en mycket lägre tur och retur-tid, vilket avsevärt förbättrar svarstiden för förfrågningar.

Om du vill använda Återförsök på serversidan går Azure Cosmos DB-portalen och väljer Funktioner > Försök igen på serversidan.

Skärmbild som visar var du hittar återförsöksfunktionen på serversidan.

Om funktionen är inaktiverad väljer du Aktivera.

Skärmbild som visar hur du aktiverar återförsök på serversidan.

Registrera resursprovidern Microsoft.DataMigration

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

    Visa portalprenumerationer

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

    Visa resursprovidrar

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

    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 som visar hur du skapar en instans av Azure Database Migration Service.

  3. 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 målkontot Azure Cosmos DB måldatabasen.

    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.

  6. Välj en prisnivå.

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

    Skärmbild som visar konfigurationsinställningar för instansen av 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 Portal 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.

    Skärmbild som visar hur du hittar alla instanser av Azure Database Migration Service.

  2. På skärmen Azure Database Migration Services söker du efter namnet på Azure Database Migration Service som du skapade och väljer sedan instansen.

  3. Välj + Ny Project.

  4. Nytt migreringsprojekt anger du ett namn för projektet och i textrutan Typ av källserver väljer du MongoDB. I textrutan Målservertyp väljer du CosmosDB (MongoDB API) och i Välj typ av aktivitet väljer du sedan Offline-datamigrering.

    Skärmbild som visar projektalternativ.

  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 kvalificerat domännamn eller en IP-adress, portnummer och autentiseringsuppgifter för anslutning.

    • Anslutningssträngsläge, som accepterar en MongoDB-anslutningssträng enligt beskrivningen i URI-format för anslutningssträng.

    • 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 produceras 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 anslutningssträngen för lagringskontot visas i följande format:

      https://blobnameurl/container?SASKEY
      

      Du hittar sas-anslutningssträngen för blobcontainern i Azure Storage utforskaren. När du skapar SAS för den berörda containern får du URL:en i det begärda formatet.

      Baserat på typdumpsinformationen i Azure Storage bör du även tänka på följande:

      • För BSON-dumpar måste data i blobcontainern vara i bsondump-format. Placera datafiler i mappar som namnges efter de innehållande databaserna 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 med namnet data och namnges med formatet collection.json. Placera metadatafiler i en undermapp med namnet 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ängsläget och ser till att anslutningssträngen har citattecken ("").

    &sslVerifyCertificate=false
    

    Du kan också använda IP-adressen för situationer där DNS-namnmatchning inte är möjlig.

    Skärmbild som visar hur du anger källinformation.

  2. Välj Spara.

Ange målinformation

  1. På sidan Information om migreringsmål anger du anslutningsinformationen för Azure Cosmos DB målkontot. Det här kontot är det Azure Cosmos DB API för MongoDB som du migrerar Dina MongoDB-data till.

    Skärmbild som visar hur du anger 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 Skapa visas bredvid databasnamnet betyder 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äran. Mer information om Azure Cosmos DB-prissättning.

    Skärmbild som visar mappning 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 automatiskt alla samlingar som finns på MongoDB-källinstansen som inte finns på Azure Cosmos DB kontot. Om du vill ommigrera 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.

    Anteckning

    Utför databasmigrering och insamling parallellt. Om det behövs kan du använda flera instanser 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.

    Skärmbild som visar val av samlingstabeller.

  4. Välj Spara.

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

    Skärmbild som visar sammanfattningen av nigration.

Köra migreringen

Välj Kör migrering. Migreringsaktivitetsfönstret visas och statusen för aktiviteten är Inte startad.

Skärmbild som visar aktivitetsstatus.

Övervaka migreringen

På migreringsaktivitetsskärmen väljer du Uppdatera för att uppdatera visningen tills statusen för migreringen visas som Slutförd.

Anteckning

Du kan välja aktiviteten för att få information om migreringsmått på databas- och samlingsnivå.

Skärmbild som visar att aktivitetsstatusen har slutförts.

Verifiera data i Azure Cosmos DB

När migreringen är klar kan du kontrollera ditt Azure Cosmos DB för att kontrollera att alla samlingar har migrerats.

Skärmbild som visar var du kontrollerar Azure Cosmos DB för att verifiera att alla samlingar har migrerats.

Optimering efter migrering

När du har migrerat data som lagras i MongoDB-databasen till Azure Cosmos DB API för MongoDB kan du ansluta till Azure Cosmos DB och hantera data. Du kan också utföra andra optimeringssteg efter migreringen. Du kan bland annat 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 göra kapacitetsplanering för en migrering till Azure Cosmos DB?
    • Om allt du vet är antalet virtuella kärnor och servrar i ditt befintliga databaskluster kan du läsa om att uppskatta enheter för programbegäran med hjälp av virtuella kärnor eller virtuella processorer
    • Om du känner till vanliga begärandefrekvenser för din aktuella databasarbetsbelastning kan du läsa om att uppskatta enheter för programbegäran med Azure Cosmos DB capacity planner

Nästa steg

Granska migreringsvägledningen för ytterligare scenarier i Azure Database Migration Guide ( Migreringsguide för Azure Database).