Tutorial: Migration von MongoDB zu Azure Cosmos DB for MongoDB

GILT FÜR: MongoDB

Wichtig

Lesen Sie den gesamten Leitfaden, bevor Sie die Migrationsschritte ausführen.

Dieser MongoDB-Migrationsleitfaden ist Teil der Reihe zur MongoDB-Migration. Die wichtigen MongoDB-Migrationsschritte umfassen die Migrationsvorbereitung, die Migration selbst und die Schritte nach der Migration, wie nachfolgend dargestellt.

Ein Diagramm der Migrationsschritte.

Übersicht über die Offlinedatenmigration von MongoDB zu Azure Cosmos DB mit DMS

Sie können Azure Database Migration Service zum Durchführen einer Offlinemigration (einmalig) von Datenbanken aus einer lokalen oder cloudbasierten MongoDB-Instanz zu Azure Cosmos DB for MongoDB verwenden.

In diesem Tutorial lernen Sie Folgendes:

  • Erstellen einer Instanz von Azure Database Migration Service
  • Erstellen eines Migrationsprojekts mithilfe von Azure Database Migration Service
  • Ausführen der Migration
  • Überwachen der Migration

In diesem Tutorial migrieren Sie ein Dataset in MongoDB, das auf einem virtuellen Azure-Computer gehostet wird. Wenn Sie Azure Database Migration Service verwenden, migrieren Sie das DataSet zu Azure Cosmos DB for MongoDB. Wenn Sie noch keine MongoDB-Quelle eingerichtet haben, lesen Sie Installieren und Konfigurieren von MongoDB auf einem virtuellen Windows-Computer in Azure.

Voraussetzungen

Für dieses Tutorial benötigen Sie Folgendes:

  • Führen Sie die Schritte zur Migrationsvorbereitung aus. Schätzen Sie beispielsweise den Durchsatz, und wählen Sie einen Partitionsschlüssel aus.

  • Erstellen Sie ein Konto für Azure Cosmos DB for MongoDB.

    Hinweis

    DMS wird derzeit nicht unterstützt, wenn Sie zu einem Azure Cosmos DB for MongoDB-Konto migrieren, das im serverlosen Modus bereitgestellt wird.

  • Erstellen Sie ein Microsoft Azure Virtual Network für Azure Database Migration Service, indem Sie den Azure Resource Manager verwenden. Dieses Bereitstellungsmodell bietet Site-to-Site-Konnektivität zu Ihren lokalen Quellservern, indem es entweder Azure ExpressRoute oder VPN verwendet. Weitere Informationen zum Erstellen eines virtuellen Netzwerks finden Sie in der Dokumentation zu Azure Virtual Network und insbesondere in den Schnellstartartikeln mit Schritt-für-Schritt-Anleitungen.

    Hinweis

    Fügen Sie bei Verwendung von ExpressRoute mit Netzwerkpeering zu Microsoft während des Setups des virtuellen Netzwerks die folgenden Dienstendpunkte zu dem Subnetz hinzu, in dem der Dienst bereitgestellt werden soll:

    • Zieldatenbankendpunkt (z. B. SQL-Endpunkt, oder Azure Cosmos DB-Endpunkt usw.)
    • Speicherendpunkt
    • Service Bus-Endpunkt

    Diese Konfiguration ist erforderlich, weil Azure Database Migration Service über keine Internetverbindung verfügt.

  • Vergewissern Sie sich, dass die folgenden Kommunikationsports nicht durch Regeln für Netzwerksicherheitsgruppen (NSGs) der Netzwerksicherheitsgruppe blockiert werden: 53, 443, 445, 9354 und 10000-20000. Weitere Informationen finden Sie unter Filtern des Netzwerkdatenverkehrs mit Netzwerksicherheitsgruppen.

  • Öffnen Sie Ihre Windows-Firewall, damit Azure Database Migration Service auf den MongoDB-Quellserver zugreifen kann (standardmäßig TCP-Port 27017).

  • Wenn Sie eine Firewallappliance vor Ihren Quelldatenbanken verwenden, müssen Sie möglicherweise Firewallregeln hinzufügen, um Azure Database Migration Service den Zugriff auf die Quelldatenbanken für die Migration zu ermöglichen.

Server seitiges Wiederholungs Feature konfigurieren

Wenn Sie von MongoDB zu Azure Cosmos DB migrieren, können Sie von den Ressourcen Steuerungsfunktionen profitieren. Mit diesen Funktionen können Sie die bereitgestellten Anforderungs Einheiten (Request Units, ru/s) des Durchsatzes vollständig nutzen. Von Azure Cosmos DB können im Laufe der Migration ggf. bestimmte Data Migration Service-Anforderungen gedrosselt werden, wenn bei ihnen die vom Container bereitgestellte Menge an RU/s überschritten wird. In diesem Fall muss die Anforderung wiederholt werden. Anschließend muss die Anforderung wiederholt werden.

Database Migration Service ist in der Lage, Wiederholungs Versuche auszuführen. Es ist wichtig zu verstehen, dass die Roundtrip-Zeit, die im Netzwerkhop zwischen Database Migration Service und Azure Cosmos DB beteiligt ist, sich auf die Gesamtantwort Zeit dieser Anforderung auswirkt. Durch die Verbesserung der Antwortzeit für gedrosselte Anforderungen kann die Gesamtdauer der Migration verkürzt werden.

Das Feature Serverseitige Wiederholung von Azure Cosmos DB ermöglicht es dem Dienst, drosselungsbedingte Fehlercodes abzufangen und eine Wiederholung mit wesentlich kürzerer Roundtripzeit durchzuführen, wodurch sich die Antwortzeiten von Anforderungen erheblich verbessern.

Um die serverseitige Wiederholung zu verwenden, wählen Sie im Azure Cosmos DB-Portal Features>serverseitiges Wiederholungsversuchaus.

Screenshot, der zeigt, wo Sie die Server seitige Wiederholungsfunktion finden.

Wenn die Funktion deaktiviert ist, wählen Sie aktivierenaus.

Screenshot, der zeigt, wie Sie die Server seitige Wiederholung aktivieren.

Registrieren des Ressourcenanbieters

Sie müssen den Microsoft.DataMigration-Ressourcenanbieter registrieren, bevor Sie Ihre erste Instanz von Database Migration Service erstellen.

  1. Melden Sie sich beim Azure-Portal an. Suchen Sie nach Abonnements, und wählen Sie diese Option aus.

    Abonnements im Portal anzeigen

  2. Wählen Sie das Abonnement aus, in dem Sie die Azure Database Migration Service-Instanz erstellen möchten, und klicken Sie dann auf Ressourcenanbieter.

    Ressourcenanbieter anzeigen

  3. Suchen Sie nach „Migration“, und wählen Sie dann Registrieren für Microsoft.DataMigration aus.

    Registrieren des Ressourcenanbieters

Erstellen einer Instanz

  1. Wählen Sie im Azure-Portal die Option + Ressource erstellen, suchen Sie nach Azure Database Migration Service, und wählen Sie dann Azure Database Migration Service aus der Dropdownliste aus.

    Screenshot des Azure Marketplace

  2. Wählen Sie auf dem Bildschirm Azure Database Migration Service die Schaltfläche Erstellen aus.

    Screenshot, der zeigt, wie eine Instanz von Azure Database Migration Service erstellt wird.

  3. Geben Sie unterMigrationsdienst erstellen einen Namen für den Dienst, das Abonnement und eine neue oder vorhandene Ressourcengruppe an.

  4. Wählen Sie den Standort aus, an dem Sie die Azure Database Migration Service-Instanz erstellen möchten.

  5. Wählen Sie ein vorhandenes virtuelles Netzwerk aus, oder erstellen Sie ein neues.

    Das virtuelle Netzwerk erteilt Azure Database Migration Service Zugriff auf die MongoDB-Quellinstanz und auf das Azure Cosmos DB-Zielkonto.

    Weitere Informationen zum Erstellen eines virtuellen Netzwerks im Azure-Portal finden Sie unter Erstellen eines virtuellen Netzwerks im Azure Portal.

  6. Wählen Sie einen Tarif.

    Weitere Informationen zu Kosten und Tarifen finden Sie in der Preisübersicht.

    Screenshot, der Konfigurationseinstellungen für die Instanz von Azure Database Migration Service anzeigt.

  7. Wählen Sie Erstellen, um den Dienst zu erstellen.

Erstellen eines Migrationsprojekts

Nachdem sie den Dienst erstellt haben, suchen Sie im Azure-Portal, und öffnen Sie es. Erstellen Sie dann ein neues Migrationsprojekt.

  1. Wählen Sie im Azure-Portal Alle Dienste, suchen Sie nach Azure Database Migration Service, und wählen Sie dann Azure Database Migration Service aus.

    Screenshot, der zeigt, wie eine Instanz von Azure Database Migration Service gesucht wird.

  2. Suchen Sie auf dem Bildschirm Azure Database Migration Services nach dem Namen der von Ihnen erstellten Azure Database Migration Service-Instanz, und wählen Sie die Instanz aus.

  3. Wählen Sie + New Migration Project (Neues Migrationsprojekt) aus.

  4. Geben Sie auf dem Bildschirm Neues Migrationsprojekt einen Projektnamen im Textfeld Typ des Quellservers an, wählen Sie MongoDB. Wählen Sie im Textfeld Zielservertyp den Typ Azure Cosmos DB for NoSQL und dann für Aktivitätstyp auswählen die Option Offlinedatenmigration aus.

    Screenshot das Projektoptionen zeigt.

  5. Klicken Sie auf Aktivität erstellen und ausführen, um das Projekt zu erstellen und die Migrationsaktivität auszuführen.

Angeben von Quelldetails

  1. Geben Sie im Bildschirm Source details (Quelldetails) die Verbindungsdetails für die MongoDB-Server-Quellinstanz an.

    Wichtig

    Azure Cosmos DB als Quelle wird von Azure Database Migration Service nicht unterstützt.

    Es gibt drei Modi, um eine Verbindung mit einer Quelle herzustellen:

    • Standardmodus, in dem ein vollqualifizierter Domänenname oder eine IP-Adresse, eine Portnummer und die Anmeldeinformationen für die Verbindung akzeptiert werden.

    • Verbindungszeichenfolgen-Modus, in dem eine MongoDB-Verbindungszeichenfolge akzeptiert wird. Dies ist im Connection String URI Format (URI-Format von Verbindungszeichenfolgen) beschrieben.

    • Daten aus Azure-Speicher, wobei eine Blobcontainer-SAS-URL akzeptiert wird. Wählen Sie Blob enthält BSON Speicherabbilder wenn der Blob- container BSON Speicherabbilder vom MongoDB bsondump toolerzeugt hat. Wählen Sie diese Option nicht aus, wenn der Container JSON-Dateien enthält.

      Bei Verwendung dieser Option muss die Verbindungszeichenfolge für das Speicherkonto folgendes Format haben:

      https://blobnameurl/container?SASKEY
      

      Diese SAS-Verbindungszeichenfolge für den Blobcontainer finden Sie im Azure Storage-Explorer. Bei der Erstellung der SAS für den betreffenden Container erhalten Sie die URL im angeforderten Format.

      Beachten Sie außerdem den folgenden Aspekt (abhängig von der Art der Sicherungsinformationen in Azure Storage):

      • Bei BSON-Sicherungen müssen die Daten im Blobcontainer im bsondump-Format vorliegen. Platzieren Sie Datendateien in Ordnern, die nach den enthaltenden Datenbanken im Format Collection. bsonbenannt werden. Benennen Sie alle Metadatendateien, indem Sie das Format collection.metadata.js.

      • Bei JSON-Sicherungen müssen die Dateien im Blobcontainer in Ordnern platziert werden, die nach den enthaltenden Datenbanken benannt sind. Innerhalb der einzelnen Datenbankordner müssen Datenbankdateien in eine Unterordner namens data, plaziert und im FormatAmmlung.json benannt werden. Vorhandene Metadaten müssen in einem Unterordner namens metadataplatziert und ebenfalls im Format Sammlung.json. benannt werden. Die Metadatendateien müssen in dem Format vorliegen, das vom MongoDB-Tool „bsondump“ generiert wird.

    Wichtig

    Es wird nicht empfohlen, ein selbst signiertes Zertifikat auf dem MongoDB-Server zu verwenden. Wenn Sie einen verwenden müssen, stellen Sie eine Verbindung mit dem Server her, indem Sie den Verbindungs Zeichen folgen Modus verwenden, und stellen Sie sicher, dass Ihre Verbindungs Zeichenfolge Anführungszeichen ("")

    &sslVerifyCertificate=false
    

    Sie können auch die IP-Adresse für Situationen verwenden, in denen DNS-Namensauflösung nicht möglich ist.

    Screenshot, der das Angeben von Quell Details anzeigt.

  2. Wählen Sie Speichern aus.

Angeben von Zieldetails

  1. Geben Sie im Bildschirm Migrationszieldetail die Verbindungsdetails für das Ziel Azure Cosmos DB Konto an. Bei diesem Konto handelt es sich um die vorab bereitgestellte Azure Cosmos DB for MongoDB-Konto, für das Sie Ihre MongoDB-Daten migrieren.

    Screenshot, der das Angeben von Quell Details anzeigt.

  2. Wählen Sie Speichern aus.

Zuordnen zu Zieldatenbanken

  1. Ordnen Sie im Bildschirm Map to target databases (Zu Zieldatenbanken zuordnen) die Quell- und die Zieldatenbank für die Migration einander zu.

    Wenn die Zieldatenbank denselben Datenbanknamen wie die Quelldatenbank enthält, wählt Azure Database Migration Service die Zieldatenbank standardmäßig aus.

    Wenn die Zeichenfolge Erstellen neben dem Datenbanknamen angezeigt wird, hat Azure Database Migration Service die Zieldatenbank nicht gefunden, und der Dienst erstellt die Datenbank für Sie.

    An diesem Punkt der Migration können Sie Durchsatz bereitstellen. In Azure Cosmos DB können Sie den Durchsatz entweder auf Datenbankebene oder für jede Sammlung individuell bereitstellen. Der Durchsatz wird in Anforderungseinheiten gemessen. Weitere Informationen: Azure Cosmos DB – Preise.

    Screenshot zeigt den Bereich Zieldatenbanken zuordnen.

  2. Wählen Sie Speichern aus.

  3. Erweitern Sie auf dem Einstellungsbildschirm Sammlung die Auflistung der Sammlungen, und überprüfen Sie dann die Liste der Sammlungen, die migriert werden.

    Azure Database Migration Service wählt automatisch alle Sammlungen aus, die in der MongoDB-Quellinstanz vorhanden sind, jedoch nicht im Azure Cosmos DB-Zielkonto. Wenn Sie Sammlungen, die bereits Daten enthalten, erneut migrieren möchten, müssen Sie die Sammlungen in diesem Bereich explizit auswählen.

    Sie können die Anzahl von RUs angeben, die die Sammlungen verwenden sollen. Azure Database Migration Service schlägt intelligente Standardwerte basierend auf der Sammlungsgröße vor.

    Hinweis

    Führen Sie die Datenbankmigration und-Sammlung parallel aus. Bei Bedarf können Sie mehrere Instanzen von Azure Database Migration Service verwenden, um die Ausführung zu beschleunigen.

    Sie können auch einen Shardschlüssel angeben, um die Partitionierung in Azure Cosmos DB für eine optimale Skalierbarkeit zu nutzen. Überprüfen Sie unbedingt die bewährten Methoden für die Auswahl eines Shard-/Partitionsschlüssels.

    Screenshot, der das Auswählen von Auflistungs Tabellen anzeigt.

  4. Wählen Sie Speichern aus.

  5. Geben Sie auf dem Bildschirm Migrationszusammenfassung im Textfeld Aktivitätsname einen Namen für die Migrationsaktivität an.

    Screenshot, der die Zusammenfassung der nigration anzeigt.

Ausführen der Migration

Wählen Sie Migration ausführen aus. Das Fenster „Migrationsaktivität“ wird angezeigt, und der Status der Aktivität lautet Nicht gestartet.

Screenshot, der den Aktivitätsstatus zeigt.

Überwachen der Migration

Klicken Sie auf dem Bildschirm „Migrationsaktivität“ auf Aktualisieren, um die Anzeige zu aktualisieren, bis der Status der Migration Abgeschlossenlautet.

Hinweis

Sie können die Aktivität zum Abrufen von Details der Migrationsmetriken auf Datenbank- und Sammlungsebene auswählen.

Screenshot, der den abgeschlossenen Aktivitätsstatus zeigt.

Überprüfen der Daten in Azure Cosmos DB

Nachdem die Migration abgeschlossen ist, können Sie Ihr Azure Cosmos DB-Konto überprüfen, um sicherzustellen, dass alle Sammlungen erfolgreich migriert wurden.

Der Screenshot zeigt, wo Sie Ihr Azure Cosmos DB-Konto überprüfen können, um sicherzustellen, dass alle Sammlungen erfolgreich migriert wurden.

Optimierung nach der Migration

Nach der Migration der in einer MongoDB-Datenbank gespeicherten Daten zu Azure Cosmos DB for MongoDB können Sie eine Verbindung mit Azure Cosmos DB herstellen und die Daten verwalten. Sie können auch andere Optimierungsschritte nach der Migration ausführen. Hierzu zählen u. a. die Optimierung der Indizierungs Richtlinie, die Aktualisierung der Standard Konsistenz Ebene oder die Konfiguration der globalen Verteilung für Ihr Azure Cosmos DB Konto. Weitere Informationen finden Sie unter Optimierung nach der Migration.

Zusätzliche Ressourcen

Nächste Schritte

Informieren Sie sich in der Migrationsanleitung im Leitfaden zur Datenbankmigration von Azure über weitere Szenarios.