Tutorial: Offlinemigration von MongoDB zur Azure Cosmos DB-API für MongoDB mit DMSTutorial: Migrate MongoDB to Azure Cosmos DB's API for MongoDB offline using DMS

Sie können Azure Database Migration Service zum Durchführen einer Offlinemigration (einmalig) von Datenbanken aus einer lokalen oder cloudbasierten MongoDB-Instanz zur Azure Cosmos DB-API für MongoDB verwenden.You can use Azure Database Migration Service to perform an offline (one-time) migration of databases from an on-premises or cloud instance of MongoDB to Azure Cosmos DB's API for MongoDB.

In diesem Tutorial lernen Sie Folgendes:In this tutorial, you learn how to:

  • Erstellen einer Instanz von Azure Database Migration ServiceCreate an instance of Azure Database Migration Service.
  • Erstellen eines Migrationsprojekts mithilfe von Azure Database Migration ServiceCreate a migration project by using Azure Database Migration Service.
  • Ausführen der MigrationRun the migration.
  • Überwachen der MigrationMonitor the migration.

In diesem Tutorial migrieren Sie ein Dataset in MongoDB, das auf einem virtuellen Azure-Computer gehostet wird, mit Azure Database Migration Service zur Azure Cosmos DB-API für MongoDB.In this tutorial, you migrate a dataset in MongoDB hosted in an Azure Virtual Machine to Azure Cosmos DB's API for MongoDB by using Azure Database Migration Service. Wenn Sie noch keine MongoDB-Quelle eingerichtet haben, lesen Sie den Artikel Installieren und Konfigurieren von MongoDB auf einem virtuellen Windows-Computer in Azure.If you don't have a MongoDB source set up already, see the article Install and configure MongoDB on a Windows VM in Azure.

VoraussetzungenPrerequisites

Für dieses Tutorial benötigen Sie Folgendes:To complete this tutorial, you need to:

  • Führen Sie die Schritte zur Migrationsvorbereitung aus. Schätzen Sie beispielsweise den Durchsatz, und wählen Sie einen Partitionsschlüssel und die Indizierungsrichtlinie aus.Complete the pre-migration steps such as estimating throughput, choosing a partition key, and the indexing policy.

  • Erstellen einer Azure Cosmos DB-API für das MongoDB-Konto.Create an Azure Cosmos DB's API for MongoDB account.

  • Erstellen Sie ein virtuelles Azure-Netzwerk (VNET) für Azure Database Migration Service, indem Sie das Azure Resource Manager-Bereitstellungsmodell verwenden, das über ExpressRoute oder VPN Site-to-Site-Konnektivität für Ihre lokalen Quellserver bereitstellt.Create an Azure Virtual Network (VNet) for Azure Database Migration Service by using Azure Resource Manager deployment model, which provides site-to-site connectivity to your on-premises source servers by using either ExpressRoute or VPN. Weitere Informationen zum Erstellen eines VNET finden Sie in der Dokumentation zu Virtual Network und insbesondere in den Schnellstartartikeln mit Schritt-für-Schritt-Anleitungen.For more information about creating a VNet, see the Virtual Network Documentation, and especially the quickstart articles with step-by-step details.

    Hinweis

    Fügen Sie bei Verwendung von ExpressRoute mit Netzwerkpeering zu Microsoft während des VNET-Setups die folgenden Dienstendpunkte zu dem Subnetz hinzu, in dem der Dienst bereitgestellt werden soll:During VNet setup, if you use ExpressRoute with network peering to Microsoft, add the following service endpoints to the subnet in which the service will be provisioned:

    • Zieldatenbankendpunkt (z. B. SQL-Endpunkt, Cosmos DB-Endpunkt usw.)Target database endpoint (for example, SQL endpoint, Cosmos DB endpoint, and so on)
    • SpeicherendpunktStorage endpoint
    • Service Bus-EndpunktService bus endpoint

    Diese Konfiguration ist erforderlich, weil Azure Database Migration Service über keine Internetverbindung verfügt.This configuration is necessary because Azure Database Migration Service lacks internet connectivity.

  • Stellen Sie sicher, dass die Netzwerksicherheitsgruppen-Regeln des VNET nicht die folgenden Kommunikationsports blockieren: 53, 443, 445, 9354 und 10000-20000.Ensure that your VNet Network Security Group (NSG) rules don't block the following communication ports: 53, 443, 445, 9354, and 10000-20000. Ausführlichere Informationen zur NSG-Datenverkehrsfilterung in einem Azure-VNET finden Sie im Artikel Filtern des Netzwerkdatenverkehrs mit Netzwerksicherheitsgruppen.For more detail on Azure VNet NSG traffic filtering, see the article Filter network traffic with network security groups.

  • Öffnen Sie Ihre Windows-Firewall, damit Azure Database Migration Service auf den MongoDB-Quellserver zugreifen kann (standardmäßig TCP-Port 27017).Open your Windows firewall to allow Azure Database Migration Service to access the source MongoDB server, which by default is 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.When using a firewall appliance in front of your source database(s), you may need to add firewall rules to allow Azure Database Migration Service to access the source database(s) for migration.

Registrieren des Ressourcenanbieters „Microsoft.DataMigration“Register the Microsoft.DataMigration resource provider

  1. Melden Sie sich beim Azure-Portal an, und klicken Sie auf Alle Dienste und anschließend auf Abonnements.Sign in to the Azure portal, select All services, and then select Subscriptions.

    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 auf Ressourcenanbieter.Select the subscription in which you want to create the instance of the Azure Database Migration Service, and then select Resource providers.

    Ressourcenanbieter anzeigen

  3. Suchen Sie nach „Migration“, und wählen Sie rechts neben Microsoft.DataMigration die Option Registrieren aus.Search for migration, and then to the right of Microsoft.DataMigration, select Register.

    Registrieren des Ressourcenanbieters

Erstellen einer InstanzCreate an instance

  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.In the Azure portal, select + Create a resource, search for Azure Database Migration Service, and then select Azure Database Migration Service from the drop-down list.

    Azure Marketplace

  2. Wählen Sie auf dem Bildschirm Azure Database Migration Service die Schaltfläche Erstellen aus.On the Azure Database Migration Service screen, select Create.

    Erstellen einer Instanz von Azure Database Migration Service

  3. Geben Sie auf dem Bildschirm Migrationsdienst erstellen einen Namen für den Dienst, das Abonnement und eine neue oder vorhandene Ressourcengruppe an.On the Create Migration Service screen, specify a name for the service, the subscription, and a new or existing resource group.

  4. Wählen Sie den Standort aus, an dem Sie die Azure Database Migration Service-Instanz erstellen möchten.Select the location in which you want to create the instance of Azure Database Migration Service.

  5. Wählen Sie ein vorhandenes VNet aus, oder erstellen Sie ein neues VNet.Select an existing VNet or create a new one.

    Das VNET erteilt Azure Database Migration Service Zugriff auf die MongoDB-Quellinstanz und auf das Azure Cosmos DB-Zielkonto.The VNet provides Azure Database Migration Service with access to the source MongoDB instance and the target Azure Cosmos DB account.

    Weitere Informationen zum Erstellen eines VNet im Azure-Portal finden Sie im Artikel Erstellen eines virtuellen Netzwerks im Azure Portal.For more information about how to create a VNet in the Azure portal, see the article Create a virtual network using the Azure portal.

  6. Wählen Sie einen Tarif.Select a pricing tier.

    Weitere Informationen zu Kosten und Tarifen finden Sie in der Preisübersicht.For more information on costs and pricing tiers, see the pricing page.

    Konfigurieren der Einstellungen einer Azure Database Migration Service-Instanz

  7. Wählen Sie Erstellen, um den Dienst zu erstellen.Select Create to create the service.

Erstellen eines MigrationsprojektsCreate a migration project

Nachdem der Dienst erstellt wurde, suchen Sie diesen im Azure-Portal, öffnen Sie ihn, und erstellen Sie anschließend ein neues Migrationsprojekt.After the service is created, locate it within the Azure portal, open it, and then create a new migration project.

  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.In the Azure portal, select All services, search for Azure Database Migration Service, and then select Azure Database Migration Services.

    Suchen aller Instanzen von Azure Database Migration Service

  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.On the Azure Database Migration Services screen, search for the name of Azure Database Migration Service instance that you created, and then select the instance.

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

  4. Geben Sie im Bildschirm Neues Migrationsprojekt einen Projektnamen ein, und wählen Sie im Textfeld Quellservertyp die Option MongoDB und im Textfeld Zielservertyp die Option CosmosDB (MongoDB-API) aus. Wählen Sie außerdem für Aktivitätstyp auswählen die Option Offlinedatenmigration aus.On the New migration project screen, specify a name for the project, in the Source server type text box, select MongoDB, in the Target server type text box, select CosmosDB (MongoDB API), and then for Choose type of activity, select Offline data migration.

    Erstellen eines Database Migration Service-Projekts

  5. Klicken Sie auf Aktivität erstellen und ausführen, um das Projekt zu erstellen und die Migrationsaktivität auszuführen.Select Create and run activity to create the project and run the migration activity.

Angeben von QuelldetailsSpecify source details

  1. Geben Sie im Bildschirm Source details (Quelldetails) die Verbindungsdetails für die MongoDB-Server-Quellinstanz an.On the Source details screen, specify the connection details for the source MongoDB server.

    Wichtig

    Azure Cosmos DB als Quelle wird von Azure Database Migration Service nicht unterstützt.Azure Database Migration Service does not support Azure Cosmos DB as a source.

    Es gibt drei Modi, um eine Verbindung mit einer Quelle herzustellen:There are three modes to connect to a source:

    • Standardmodus, in dem ein vollqualifizierter Domänenname oder eine IP-Adresse, eine Portnummer und die Anmeldeinformationen für die Verbindung akzeptiert werden.Standard mode, which accepts a fully qualified domain name or an IP address, Port number, and connection credentials.

    • Verbindungszeichenfolgen-Modus, in dem eine MongoDB-Verbindungszeichenfolge akzeptiert wird. Dies ist im Artikel Connection String URI Format (URI-Format von Verbindungszeichenfolgen) beschrieben.Connection string mode, which accepts a MongoDB Connection string as described in the article Connection String URI Format.

    • Daten aus Azure-Speicher, wobei eine Blobcontainer-SAS-URL akzeptiert wird.Data from Azure storage, which accepts a blob container SAS URL. Aktivieren Sie die Option Das Blob enthält BSON-Speicherabbilder, wenn für den Blobcontainer vom MongoDB-Tool bsondump erstellte BSON-Speicherabbilder vorhanden sind. Deaktivieren Sie sie, wenn der Container JSON-Dateien enthält.Select Blob contains BSON dumps if the blob container has BSON dumps produced by the MongoDB bsondump tool, and de-select it if the container contains JSON files.

      Bei Verwendung dieser Option muss die Verbindungszeichenfolge für das Speicherkonto folgendes Format haben:If you select this option, be sure that the storage account connection string appears in the format:

      https://blobnameurl/container?SASKEY
      

      Diese SAS-Verbindungszeichenfolge für den Blobcontainer finden Sie im Azure Storage-Explorer.This blob container SAS connection string can be found in Azure Storage explorer. Bei der Erstellung der SAS für den betreffenden Container erhalten Sie die URL im oben angeforderten Format.Creating the SAS for the concerned container will provide you the URL in above requested format.

      Beachten Sie außerdem den folgenden Aspekt (abhängig von der Art der Sicherungsinformationen in Azure Storage):Also, based on the type dump information in Azure storage, keep the following detail in mind.

      • Bei BSON-Sicherungen müssen die Daten im Blobcontainer im bsondump-Format vorliegen, sodass Datendateien in Ordnern platziert werden, die nach den enthaltenden Datenbanken im Format „sammlung.bson“ benannt sind.For BSON dumps, the data within the blob container must be in bsondump format, such that data files are placed into folders named after the containing databases in the format collection.bson. Gegebenenfalls vorhandene Metadatendateien müssen im Format „sammlung.metadata.json“ benannt werden.Metadata files (if any) should be named using the format collection.metadata.json.

      • Bei JSON-Sicherungen müssen die Dateien im Blobcontainer in Ordnern platziert werden, die nach den enthaltenden Datenbanken benannt sind.For JSON dumps, the files in the blob container must be placed into folders named after the containing databases. Innerhalb der einzelnen Datenbankordner müssen Datendateien in einem Unterordner namens „data“ platziert und im Format „sammlung.json“ benannt werden.Within each database folder, data files must be placed in a subfolder called "data" and named using the format collection.json. Gegebenenfalls vorhandene Metadaten müssen in einem Unterordner namens „metadata“ platziert und ebenfalls im Format „sammlung.json“ benannt werden.Metadata files (if any) must be placed in a subfolder called "metadata" and named using the same format, collection.json. Die Metadatendateien müssen in dem Format vorliegen, das vom MongoDB-Tool „bsondump“ generiert wird.The metadata files must be in the same format as produced by the MongoDB bsondump tool.

    Wichtig

    Es wird nicht empfohlen, ein selbstsigniertes Zertifikat auf dem Mongo-Server zu verwenden.It is discouraged to use a self-signed certificate on the mongo server. Wenn dennoch eines verwendet wird, stellen Sie die Verbindung mit dem Server im Verbindungszeichenfolgen-Modus her, und stellen Sie sicher, dass Ihre Verbindungszeichenfolge in Anführungszeichen eingeschlossen ist.However, if one is used, please connect to the server using connection string mode and ensure that your connection string has “”

    &sslVerifyCertificate=false
    

    Sie können auch die IP-Adresse für Situationen verwenden, in denen DNS-Namensauflösung nicht möglich ist.You can also use the IP Address for situations in which DNS name resolution isn't possible.

    Angeben von Quelldetails

  2. Wählen Sie Speichern aus.Select Save.

Angeben von ZieldetailsSpecify target details

  1. Geben Sie auf dem Bildschirm Zieldetails für die Migration die Verbindungsdetails für das Azure Cosmos DB-Zielkonto an (also für die vorab bereitgestellte Azure Cosmos DB-API für das MongoDB-Konto, zu dem Sie die MongoDB-Daten migrieren).On the Migration target details screen, specify the connection details for the target Azure Cosmos DB account, which is the pre-provisioned Azure Cosmos DB's API for MongoDB account to which you're migrating your MongoDB data.

    Angeben von Zieldetails

  2. Wählen Sie Speichern aus.Select Save.

Zuordnen zu ZieldatenbankenMap to target databases

  1. Ordnen Sie im Bildschirm Map to target databases (Zu Zieldatenbanken zuordnen) die Quell- und die Zieldatenbank für die Migration einander zu.On the Map to target databases screen, map the source and the target database for migration.

    Wenn die Zieldatenbank denselben Datenbanknamen wie die Quelldatenbank enthält, wählt Azure Database Migration Service die Zieldatenbank standardmäßig aus.If the target database contains the same database name as the source database, Azure Database Migration Service selects the target database by default.

    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.If the string Create appears next to the database name, it indicates that Azure Database Migration Service didn't find the target database, and the service will create the database for you.

    An diesem Punkt der Migration können Sie Durchsatz bereitstellen.At this point in the migration, you can provision throughput. In Cosmos DB können Sie den Durchsatz entweder auf Datenbankebene oder für jede Sammlung individuell bereitstellen.In Cosmos DB, you can provision throughput either at the database-level or individually for each collection. Der Durchsatz wird in Anforderungseinheiten (RUs) gemessen.Throughput is measured in Request Units (RUs). Weitere Informationen: Azure Cosmos DB – Preise.Learn more about Azure Cosmos DB pricing.

    Zuordnen zu Zieldatenbanken

  2. Wählen Sie Speichern aus.Select Save.

  3. Erweitern Sie auf dem Einstellungsbildschirm Sammlung die Auflistung der Sammlungen, und überprüfen Sie dann die Liste der Sammlungen, die migriert werden.On the Collection setting screen, expand the collections listing, and then review the list of collections that will be migrated.

    Azure Database Migration Service wählt automatisch alle Sammlungen aus, die in der MongoDB-Quellinstanz vorhanden sind, jedoch nicht im Azure Cosmos DB-Zielkonto.Azure Database Migration Service auto selects all the collections that exist on the source MongoDB instance that don't exist on the target Azure Cosmos DB account. Wenn Sie Sammlungen, die bereits Daten enthalten, erneut migrieren möchten, müssen Sie die Sammlungen auf diesem Blatt explizit auswählen.If you want to remigrate collections that already include data, you need to explicitly select the collections on this blade.

    Sie können die Anzahl an RUs angeben, die die Sammlungen verwenden sollen.You can specify the amount of RUs that you want the collections to use. Azure Database Migration Service schlägt intelligente Standardwerte basierend auf der Sammlungsgröße vor.Azure Database Migration Service suggests smart defaults based on the collection size.

    Hinweis

    Führen Sie die Datenbankmigration und -sammlung parallel und ggf. unter Verwendung mehrerer Azure Database Migration Service-Instanzen aus, um die Ausführung zu beschleunigen.Perform the database migration and collection in parallel using multiple instances of Azure Database Migration Service, if necessary, to speed up the run.

    Sie können auch einen Shardschlüssel angeben, um die Partitionierung in Azure Cosmos DB für eine optimale Skalierbarkeit zu nutzen.You can also specify a shard key to take advantage of partitioning in Azure Cosmos DB for optimal scalability. Überprüfen Sie unbedingt die bewährten Methoden für die Auswahl eines Shard-/Partitionsschlüssels.Be sure to review the best practices for selecting a shard/partition key.

    Auswählen von Sammlungstabellen

  4. Wählen Sie Speichern aus.Select Save.

  5. Geben Sie auf dem Bildschirm Migrationszusammenfassung im Textfeld Aktivitätsname einen Namen für die Migrationsaktivität an.On the Migration summary screen, in the Activity name text box, specify a name for the migration activity.

    Migrationszusammenfassung

Ausführen der MigrationRun the migration

  • Wählen Sie Migration ausführen aus.Select Run migration.

    Das Fenster „Migrationsaktivität“ wird angezeigt, und der Status der Aktivität lautet Nicht gestartet.The migration activity window appears, and the Status of the activity is Not started.

    Aktivitätsstatus

Überwachen der MigrationMonitor the migration

  • Klicken Sie auf dem Bildschirm „Migrationsaktivität“ auf Aktualisieren, um die Anzeige zu aktualisieren, bis der Status der Migration Abgeschlossen lautet.On the migration activity screen, select Refresh to update the display until the Status of the migration shows as Completed.

    Hinweis

    Sie können die Aktivität zum Abrufen von Details der Migrationsmetriken auf Datenbank- und Sammlungsebene auswählen.You can select the Activity to get details of database- and collection-level migration metrics.

    Aktivitätsstatus: Abgeschlossen

Überprüfen von Daten in Cosmos DBVerify data in 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.After the migration completes, you can check your Azure Cosmos DB account to verify that all the collections were migrated successfully.

    Aktivitätsstatus: Abgeschlossen

Optimierung nach der MigrationPost-migration optimization

Nach der Migration der in einer MongoDB-Datenbank gespeicherten Daten zur Azure Cosmos DB-API für MongoDB können Sie eine Verbindung mit Azure Cosmos DB herstellen und die Daten verwalten.After you migrate the data stored in MongoDB database to Azure Cosmos DB’s API for MongoDB, you can connect to Azure Cosmos DB and manage the data. Sie können nach der Migration auch andere Optimierungsschritte ausführen und beispielsweise die Indizierungsrichtlinie optimieren, die Standardkonsistenzebene aktualisieren oder die globale Verteilung für Ihr Azure Cosmos DB-Konto konfigurieren.You can also perform other post-migration optimization steps such as optimizing the indexing policy, update the default consistency level, or configure global distribution for your Azure Cosmos DB account. Weitere Informationen finden Sie im Artikel zur Optimierung nach der Migration.For more information, see the Post-migration optimization article.

Zusätzliche RessourcenAdditional resources

Nächste SchritteNext steps