Samouczek: migrowanie bazy danych MongoDB do interfejsu API usługi Azure Cosmos DB dla bazy danych MongoDB w trybie offline za pomocą usługi DMSTutorial: Migrate MongoDB to Azure Cosmos DB's API for MongoDB offline using DMS

Za pomocą Azure Database Migration Service można przeprowadzić migrację baz danych w trybie offline (jednorazowym) z wystąpienia lokalnego lub w chmurze MongoDB do Azure Cosmos DB interfejsu API MongoDB.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.

Ten samouczek zawiera informacje na temat wykonywania następujących czynności:In this tutorial, you learn how to:

  • Utwórz wystąpienie Azure Database Migration Service.Create an instance of Azure Database Migration Service.
  • Utwórz projekt migracji przy użyciu Azure Database Migration Service.Create a migration project by using Azure Database Migration Service.
  • Uruchamianie migracji.Run the migration.
  • Monitorowanie migracji.Monitor the migration.

W tym samouczku przeprowadzisz migrację zestawu danych w MongoDB hostowanym na maszynie wirtualnej platformy Azure do interfejsu API Azure Cosmos DB dla MongoDB przy użyciu Azure Database Migration Service.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. Jeśli nie masz jeszcze skonfigurowanego źródła bazy danych MongoDB, zobacz artykuł Install and configure MongoDB on a Windows VM in Azure (Instalowanie i konfigurowanie bazy danych MongoDB na maszynie wirtualnej z systemem Windows na platformie 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.

Wymagania wstępnePrerequisites

Do ukończenia tego samouczka niezbędne są następujące elementy:To complete this tutorial, you need to:

  • Wykonaj kroki sprzed migracji , takie jak szacowanie przepływności, wybór klucza partycji i zasad indeksowania.Complete the pre-migration steps such as estimating throughput, choosing a partition key, and the indexing policy.

  • Utworzenie konta interfejsu API usługi Azure Cosmos DB dla bazy danych MongoDB.Create an Azure Cosmos DB's API for MongoDB account.

  • Utwórz Virtual Network platformy Azure dla Azure Database Migration Service przy użyciu modelu wdrażania Azure Resource Manager, który zapewnia łączność między lokacjami z lokalnymi serwerami źródłowymi przy użyciu usługi ExpressRoute lub sieci VPN.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. Aby uzyskać więcej informacji na temat tworzenia sieci wirtualnej, zapoznaj się z dokumentacją Virtual Network, a w szczególności artykuły szybkiego startu z szczegółowymi szczegółami.For more information about creating a VNet, see the Virtual Network Documentation, and especially the quickstart articles with step-by-step details.

    Uwaga

    W przypadku korzystania z usługi ExpressRoute z usługą Komunikacja równorzędna z firmą Microsoft podczas instalacji sieci wirtualnej należy dodać następujące punkty końcowe usługi do podsieci, w której zostanie zainicjowana usługa: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:

    • Docelowy punkt końcowy bazy danych (na przykład punkt końcowy SQL, Cosmos DB punkt końcowy itd.)Target database endpoint (for example, SQL endpoint, Cosmos DB endpoint, and so on)
    • Punkt końcowy magazynuStorage endpoint
    • Punkt końcowy usługi Service BusService bus endpoint

    Ta konfiguracja jest konieczna, ponieważ Azure Database Migration Service brak łączności z Internetem.This configuration is necessary because Azure Database Migration Service lacks internet connectivity.

  • Upewnij się, że reguły grupy zabezpieczeń sieci wirtualnej (sieciowej grupy zabezpieczeń) nie blokują następujących portów komunikacyjnych: 53, 443, 445, 9354 i 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. Aby uzyskać więcej szczegółów na temat filtrowania ruchu w sieci wirtualnej platformy Azure, zobacz artykuł Filtrowanie ruchu sieciowego przy użyciu sieciowych grup zabezpieczeń.For more detail on Azure VNet NSG traffic filtering, see the article Filter network traffic with network security groups.

  • Otwórz Zaporę systemu Windows, aby umożliwić Azure Database Migration Service dostęp do źródłowego serwera MongoDB, który domyślnie jest portem TCP 27017.Open your Windows firewall to allow Azure Database Migration Service to access the source MongoDB server, which by default is TCP port 27017.

  • W przypadku korzystania z urządzenia zapory przed źródłowymi bazami danych może zajść potrzeba dodania reguł zapory, aby umożliwić Azure Database Migration Service dostęp do źródłowych baz danych na potrzeby migracji.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.

Rejestrowanie dostawcy zasobów Microsoft.DataMigrationRegister the Microsoft.DataMigration resource provider

  1. Zaloguj się w witrynie Azure Portal, wybierz pozycję Wszystkie usługi, a następnie wybierz pozycję Subskrypcje.Sign in to the Azure portal, select All services, and then select Subscriptions.

    Wyświetlanie subskrypcji w portalu

  2. Wybierz subskrypcję, w której chcesz utworzyć wystąpienie usługi Azure Database Migration Service, a następnie wybierz pozycję Dostawcy zasobów.Select the subscription in which you want to create the instance of the Azure Database Migration Service, and then select Resource providers.

    Wyświetlanie dostawców zasobów

  3. Wyszukaj „migration”, a następnie po prawej stronie pozycji Microsoft.DataMigration wybierz pozycję Zarejestruj.Search for migration, and then to the right of Microsoft.DataMigration, select Register.

    Rejestrowanie dostawcy zasobów

Tworzenie wystąpieniaCreate an instance

  1. W witrynie Azure Portal wybierz pozycję + Utwórz zasób, wyszukaj usługę Azure Database Migration Service, a następnie wybierz usługę Azure Database Migration Service na liście rozwijanej.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. Na ekranie Azure Database Migration Service wybierz polecenie Utwórz.On the Azure Database Migration Service screen, select Create.

    Tworzenie wystąpienia usługi Azure Database Migration Service

  3. Na ekranie Tworzenie usługi migracji określ nazwę usługi, subskrypcję oraz nową lub istniejącą grupę zasobów.On the Create Migration Service screen, specify a name for the service, the subscription, and a new or existing resource group.

  4. Wybierz lokalizację, w której chcesz utworzyć wystąpienie Azure Database Migration Service.Select the location in which you want to create the instance of Azure Database Migration Service.

  5. Wybierz istniejącą sieć wirtualną lub Utwórz nową.Select an existing VNet or create a new one.

    Sieć wirtualna zapewnia Azure Database Migration Service z dostępem do źródłowego wystąpienia MongoDB i docelowego konta Azure Cosmos DB.The VNet provides Azure Database Migration Service with access to the source MongoDB instance and the target Azure Cosmos DB account.

    Aby uzyskać więcej informacji dotyczących sposobu tworzenia sieci wirtualnej w Azure Portal, zobacz artykuł Tworzenie sieci wirtualnych przy użyciu 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. Wybierz warstwę cenową.Select a pricing tier.

    Aby uzyskać więcej informacji na temat kosztów i warstw cenowych, zobacz stronę z cennikiem.For more information on costs and pricing tiers, see the pricing page.

    Konfigurowanie ustawień wystąpienia usługi Azure Database Migration Service

  7. Wybierz pozycję Utwórz, aby utworzyć usługę.Select Create to create the service.

Tworzenie projektu migracjiCreate a migration project

Po utworzeniu usługi znajdź ją w witrynie Azure Portal, otwórz ją, a następnie utwórz nowy projekt migracji.After the service is created, locate it within the Azure portal, open it, and then create a new migration project.

  1. W witrynie Azure Portal wybierz pozycję Wszystkie usługi, wyszukaj usługę Azure Database Migration Service, a następnie wybierz pozycję Azure Database Migration Services.In the Azure portal, select All services, search for Azure Database Migration Service, and then select Azure Database Migration Services.

    Znajdź wszystkie wystąpienia Azure Database Migration Service

  2. Na ekranie usługi Azure Database Migration Services Wyszukaj nazwę utworzonego wystąpienia Azure Database Migration Service, a następnie wybierz wystąpienie.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. Wybierz pozycję + Nowy projekt migracji.Select + New Migration Project.

  4. Na ekranie Nowy projekt migracji wpisz nazwę projektu, w polu tekstowym Typ serwera źródłowego wybierz pozycję MongoDB, w polu tekstowym Typ serwera docelowego wybierz pozycję CosmosDB (interfejs API MongoDB) , a następnie w polu Wybierz typ działania wybierz pozycję Migracja danych w trybie offline.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.

    Tworzenie projektu usługi Database Migration Service

  5. Wybierz polecenie Utwórz i uruchom działanie, aby utworzyć projekt i uruchomić działanie migracji.Select Create and run activity to create the project and run the migration activity.

Określanie szczegółów źródłaSpecify source details

  1. Na ekranie Szczegóły źródła określ szczegóły połączenia dla źródłowego serwera MongoDB.On the Source details screen, specify the connection details for the source MongoDB server.

    Ważne

    Azure Database Migration Service nie obsługuje Azure Cosmos DB jako źródła.Azure Database Migration Service does not support Azure Cosmos DB as a source.

    Istnieją trzy tryby nawiązywania połączenia ze źródłem:There are three modes to connect to a source:

    • Tryb standardowy, który akceptuje w pełni kwalifikowaną nazwę domeny lub adres IP, numer portu i poświadczenia połączenia.Standard mode, which accepts a fully qualified domain name or an IP address, Port number, and connection credentials.

    • Tryb parametrów połączenia, który akceptuje parametry połączenia bazy danych MongoDB zgodnie z opisem znajdującym się w artykule Connection String URI Format (Format identyfikatora URI parametrów połączenia).Connection string mode, which accepts a MongoDB Connection string as described in the article Connection String URI Format.

    • Tryb danych z usługi Azure Storage, który akceptuje adres URL sygnatury dostępu współdzielonego kontenera obiektów blob.Data from Azure storage, which accepts a blob container SAS URL. Zaznacz pole wyboru Obiekt blob zawiera zrzuty BSON, jeśli kontener obiektów blob zawiera zrzuty BSON utworzone przez narzędzie bsondump bazy danych MongoDB, lub usuń zaznaczenie tego pola wyboru, jeśli kontener zawiera pliki JSON.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.

      Jeśli wybierzesz tę opcję, upewnij się, że parametry połączenia konta magazynu mają następujący format:If you select this option, be sure that the storage account connection string appears in the format:

      https://blobnameurl/container?SASKEY
      

      Te parametry połączenia SAS kontenera obiektów BLOB można znaleźć w Eksploratorze usługi Azure Storage.This blob container SAS connection string can be found in Azure Storage explorer. Utworzenie sygnatury dostępu współdzielonego dla danego kontenera spowoduje udostępnienie adresu URL w powyższym żądanym formacie.Creating the SAS for the concerned container will provide you the URL in above requested format.

      Ponadto, zależnie od typu informacji zrzutu w usłudze Azure Storage, pamiętaj o następujących kwestiach.Also, based on the type dump information in Azure storage, keep the following detail in mind.

      • W przypadku zrzutów BSON dane w kontenerze obiektów blob muszą mieć format bsondump, tak aby pliki danych były umieszczone w folderach o nazwach zgodnych z odpowiednimi bazami danych w formacie kolekcja.bson.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. Pliki metadanych (jeśli istnieją) powinny mieć nazwy w formacie kolekcja.metadata.json.Metadata files (if any) should be named using the format collection.metadata.json.

      • W przypadku zrzutów JSON pliki w kontenerze obiektów blob muszą być umieszczone w folderach o nazwach zgodnych z odpowiednimi bazami danych.For JSON dumps, the files in the blob container must be placed into folders named after the containing databases. W każdym folderze bazy danych pliki danych muszą być umieszczone w podfolderze o nazwie „data” i mieć nazwy w formacie kolekcja.json.Within each database folder, data files must be placed in a subfolder called "data" and named using the format collection.json. Pliki metadanych (jeśli istnieją) muszą być umieszczone w podfolderze o nazwie „metadata” i mieć nazwy w takim samym formacie kolekcja.json.Metadata files (if any) must be placed in a subfolder called "metadata" and named using the same format, collection.json. Pliki metadanych muszą mieć taki sam format jak pliki tworzone przez narzędzie bsondump bazy danych MongoDB.The metadata files must be in the same format as produced by the MongoDB bsondump tool.

    Ważne

    Nie zaleca się używania certyfikatu z podpisem własnym na serwerze Mongo.It is discouraged to use a self-signed certificate on the mongo server. Jeśli jednak jest używany, Połącz się z serwerem przy użyciu trybu parametrów połączenia i upewnij się, że parametry połączenia mają ""However, if one is used, please connect to the server using connection string mode and ensure that your connection string has “”

    &sslVerifyCertificate=false
    

    Możesz również użyć adresu IP, jeśli rozpoznawanie nazw DNS nie jest możliwe.You can also use the IP Address for situations in which DNS name resolution isn't possible.

    Określanie szczegółów źródła

  2. Wybierz pozycję Zapisz.Select Save.

Określanie szczegółów elementu docelowegoSpecify target details

  1. Na ekranie Szczegóły lokalizacji docelowej migracji określ szczegóły połączenia dla docelowego konta usługi Azure Cosmos DB, czyli dla aprowizowanego wcześniej konta interfejsu API usługi Azure Cosmos DB dla bazy danych MongoDB, na które są migrowane dane MongoDB.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.

    Określanie szczegółów elementu docelowego

  2. Wybierz pozycję Zapisz.Select Save.

Mapuj do docelowych baz danychMap to target databases

  1. Na ekranie Mapowanie do docelowych baz danych określ mapowanie źródłowej i docelowej bazy danych na potrzeby migracji.On the Map to target databases screen, map the source and the target database for migration.

    Jeśli docelowa baza danych zawiera tę samą nazwę bazy danych co źródłowa baza danych, Azure Database Migration Service domyślnie wybiera docelową bazę danych.If the target database contains the same database name as the source database, Azure Database Migration Service selects the target database by default.

    Jeśli ciąg tworzenia pojawia się obok nazwy bazy danych, oznacza to, że Azure Database Migration Service nie znalazł docelowej bazy danych i usługa utworzy bazę danych.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.

    Na tym etapie migracji możesz zaaprowizować przepływność.At this point in the migration, you can provision throughput. W usłudze Cosmos DB można aprowizować przepływność na poziomie bazy danych lub na poziomie poszczególnych kolekcji.In Cosmos DB, you can provision throughput either at the database-level or individually for each collection. Przepływność jest mierzona w jednostkach żądań (RU).Throughput is measured in Request Units (RUs). Dowiedz się więcej o cenniku usługi Azure Cosmos DB.Learn more about Azure Cosmos DB pricing.

    Mapuj do docelowych baz danych

  2. Wybierz pozycję Zapisz.Select Save.

  3. Na ekranie Ustawienia kolekcji rozwiń listę kolekcji, a następnie przejrzyj listę kolekcji, które będą migrowane.On the Collection setting screen, expand the collections listing, and then review the list of collections that will be migrated.

    Azure Database Migration Service wybiera wszystkie kolekcje istniejące w źródłowym wystąpieniu MongoDB, które nie istnieją na docelowym koncie Azure Cosmos DB.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. Jeśli chcesz ponownie przeprowadzić migrację kolekcji, które już zawierają dane, musisz jawnie wybrać te kolekcje w tym bloku.If you want to remigrate collections that already include data, you need to explicitly select the collections on this blade.

    Możesz określić liczbę jednostek RU używanych przez kolekcje.You can specify the amount of RUs that you want the collections to use. Azure Database Migration Service sugeruje inteligentne wartości domyślne na podstawie rozmiaru kolekcji.Azure Database Migration Service suggests smart defaults based on the collection size.

    Uwaga

    Przeprowadź migrację i kolekcję baz danych równolegle przy użyciu wielu wystąpień Azure Database Migration Service, jeśli to konieczne, aby przyspieszyć działanie.Perform the database migration and collection in parallel using multiple instances of Azure Database Migration Service, if necessary, to speed up the run.

    Możesz również wskazać klucz fragmentu, aby skorzystać z partycjonowania w usłudze Azure Cosmos DB, które zapewnia optymalną skalowalność.You can also specify a shard key to take advantage of partitioning in Azure Cosmos DB for optimal scalability. Zapoznaj się z najlepszymi rozwiązaniami dotyczącymi wybierania klucza fragmentu/klucza partycji.Be sure to review the best practices for selecting a shard/partition key.

    Wybieranie tabel kolekcji

  4. Wybierz pozycję Zapisz.Select Save.

  5. Na ekranie Podsumowanie migracji w polu tekstowym Nazwa działania określ nazwę działania migracji.On the Migration summary screen, in the Activity name text box, specify a name for the migration activity.

    Podsumowanie migracji

Uruchamianie migracjiRun the migration

  • Wybierz polecenie Uruchom migrację.Select Run migration.

    Zostanie wyświetlone okno działania migracji, a stan działania będzie określony jako Nierozpoczęte.The migration activity window appears, and the Status of the activity is Not started.

    Stan działania

Monitorowanie migracjiMonitor the migration

  • Na ekranie działania migracji wybieraj polecenie Odśwież, aby zaktualizować ekran, aż do momentu, gdy Stan migracji zmieni się na Ukończono.On the migration activity screen, select Refresh to update the display until the Status of the migration shows as Completed.

    Uwaga

    Po wybraniu działania można uzyskać szczegółowe informacje o metrykach migracji na poziomie bazy danych i kolekcji.You can select the Activity to get details of database- and collection-level migration metrics.

    Stan działania — ukończono

Weryfikowanie danych w usłudze Cosmos DBVerify data in Cosmos DB

  • Po zakończeniu migracji możesz sprawdzić konto usługi Azure Cosmos DB, aby upewnić się, że wszystkie kolekcje zostały zmigrowane pomyślnie.After the migration completes, you can check your Azure Cosmos DB account to verify that all the collections were migrated successfully.

    Stan działania — ukończono

Optymalizacja po migracjiPost-migration optimization

Po przeprowadzeniu migracji danych przechowywanych w bazie danych MongoDB Azure Cosmos DB do interfejsu API programu MongoDB, można nawiązać połączenie z Azure Cosmos DB i zarządzać danymi.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. Można również wykonać inne czynności optymalizacji po migracji, takie jak optymalizacja zasad indeksowania, aktualizowanie domyślnego poziomu spójności lub Konfigurowanie dystrybucji globalnej dla konta Azure Cosmos DB.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. Aby uzyskać więcej informacji, zobacz artykuł Optymalizacja po migracji .For more information, see the Post-migration optimization article.

Dodatkowe zasobyAdditional resources

Następne krokiNext steps