Samouczek: migrowanie bazy danych MongoDB do usługi Azure Cosmos DB dla bazy danych MongoDB RU w trybie offline przy użyciu usługi Azure Database Migration Service

DOTYCZY: Mongodb

Ważne

Przeczytaj cały ten przewodnik przed wykonaniem kroków migracji. Usługa Azure Database Migration Service obecnie nie obsługuje migracji do konta rdzeni wirtualnych usługi Azure Cosmos DB dla bazy danych MongoDB. Użyj rozszerzenia usługi Azure Cosmos DB dla bazy danych MongoDB w narzędziu Azure Data Studio, aby przeprowadzić migrację ładunków roboczych bazy danych MongoDB w trybie offline do usługi Azure Cosmos DB dla rdzeni wirtualnych bazy danych MongoDB.

Ten przewodnik migracji bazy danych MongoDB jest częścią serii migracji bazy danych MongoDB. Krytyczne kroki migracji bazy danych MongoDB to etapy przed migracją, migracją i po migracji, jak pokazano poniżej.

Diagram of migration steps.

Omówienie migracji danych offline z bazy danych MongoDB do usługi Azure Cosmos DB przy użyciu usługi DMS

Użyj usługi Azure Database Migration Service, aby przeprowadzić jednorazową migrację baz danych w trybie offline z lokalnego lub w chmurze bazy danych MongoDB do usługi Azure Cosmos DB dla bazy danych MongoDB.

Z tego samouczka dowiesz się, jak wykonywać następujące czynności:

  • Utwórz wystąpienie usługi Azure Database Migration Service.
  • Utwórz projekt migracji przy użyciu usługi Azure Database Migration Service.
  • Uruchamianie migracji.
  • Monitoruj migrację.

W tym samouczku przeprowadzisz migrację zestawu danych w bazie danych MongoDB hostowanego na maszynie wirtualnej platformy Azure. Za pomocą usługi Azure Database Migration Service migrujesz zestaw danych do usługi Azure Cosmos DB dla bazy danych MongoDB. Jeśli nie masz jeszcze skonfigurowanego źródła bazy danych MongoDB, zobacz Instalowanie i konfigurowanie bazy danych MongoDB na maszynie wirtualnej z systemem Windows na platformie Azure.

Wymagania wstępne

Do ukończenia tego samouczka niezbędne są następujące elementy:

  • Wykonaj kroki przed migracją , takie jak szacowanie przepływności i wybieranie klucza partycji.

  • Utwórz konto dla usługi Azure Cosmos DB dla bazy danych MongoDB.

    Uwaga

    Usługa DMS nie jest obecnie obsługiwana, jeśli przeprowadzasz migrację do konta usługi Azure Cosmos DB dla bazy danych MongoDB aprowizowania w trybie bezserwerowym.

  • Utwórz sieć wirtualną platformy Microsoft Azure dla usługi Azure Database Migration Service przy użyciu usługi Azure Resource Manager. Ten model wdrażania zapewnia łączność typu lokacja-lokacja z lokalnymi serwerami źródłowymi przy użyciu usługi Azure ExpressRoute lub sieci VPN. Aby uzyskać więcej informacji na temat tworzenia sieci wirtualnej, zobacz dokumentację usługi Azure Virtual Network, zwłaszcza artykuły "Szybki start" ze szczegółowymi informacjami krok po kroku.

    Uwaga

    Podczas konfigurowania sieci wirtualnej, jeśli używasz usługi ExpressRoute z komunikacją równorzędną sieci do firmy Microsoft, dodaj następujące punkty końcowe usługi do podsieci , w której będzie aprowizowana usługa:

    • Docelowy punkt końcowy bazy danych (na przykład punkt końcowy SQL lub punkt końcowy usługi Azure Cosmos DB)
    • Punkt końcowy magazynu
    • Punkt końcowy magistrali usług

    Taka konfiguracja jest konieczna, ponieważ usługa Azure Database Migration Service nie ma łączności z Internetem.

  • Upewnij się, że reguły sieciowej grupy zabezpieczeń dla sieci wirtualnej nie blokują następujących portów komunikacyjnych: 53, 443, 445, 9354 i 10000–20000. Aby uzyskać więcej informacji, zobacz Filtrowanie ruchu sieciowego przy użyciu sieciowych grup zabezpieczeń.

  • Otwórz zaporę systemu Windows, aby zezwolić usłudze Azure Database Migration Service na dostęp do źródłowego serwera MongoDB (domyślnie jest używany port TCP 27017).

  • W przypadku korzystania z urządzenia zapory przed źródłową bazą danych konieczne może być dodanie reguł zapory, aby zezwolić usłudze Azure Database Migration Service na dostęp do źródłowej bazy danych podczas migracji.

Konfigurowanie funkcji ponawiania po stronie serwera

W przypadku migracji z bazy danych MongoDB do usługi Azure Cosmos DB możesz skorzystać z możliwości zapewniania ładu zasobów. Dzięki tym funkcjom można w pełni wykorzystać aprowizowane jednostki żądań (RU/s) przepływności. Usługa Azure Cosmos DB może ograniczyć określone żądanie usługi Database Migration Service w trakcie migracji, jeśli to żądanie przekroczy liczbę jednostek RU/s aprowizowania kontenera. Następnie należy ponowić próbę żądania.

Usługa Database Migration Service może wykonywać ponawianie prób. Ważne jest, aby zrozumieć, że czas rundy związany z przeskoku sieciowym między usługą Database Migration Service i usługą Azure Cosmos DB wpływa na ogólny czas odpowiedzi tego żądania. Skrócenie czasu odpowiedzi dla żądań ograniczonych może skrócić całkowity czas potrzebny na migrację.

Funkcja ponawiania po stronie serwera usługi Azure Cosmos DB umożliwia usłudze przechwytywanie kodów błędów ograniczania przepustowości i ponawianie próby przy znacznie niższym czasie rundy, co znacznie skraca czas odpowiedzi na żądanie.

Aby użyć ponawiania po stronie serwera, w portalu usługi Azure Cosmos DB wybierz pozycję Funkcje>Ponawianie po stronie serwera.

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

Jeśli funkcja jest wyłączona, wybierz pozycję Włącz.

Screenshot that shows how to enable Server Side Retry.

Rejestrowanie dostawcy zasobów

Przed utworzeniem pierwszego wystąpienia usługi Database Migration Service zarejestruj dostawcę zasobów Microsoft.DataMigration.

  1. Zaloguj się w witrynie Azure Portal. Wyszukaj i wybierz pozycję Subskrypcje.

    Show portal subscriptions

  2. Wybierz subskrypcję, w której chcesz utworzyć wystąpienie usługi Azure Database Migration Service, a następnie wybierz pozycję Dostawcy zasobów.

    Show resource providers

  3. Wyszukaj pozycję migracja, a następnie wybierz pozycję Zarejestruj dla pozycji Microsoft.DataMigration.

    Register resource provider

Tworzenie wystąpienia

  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.

    Screenshot that shows Azure Marketplace.

  2. Na ekranie Azure Database Migration Service wybierz polecenie Utwórz.

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

  3. W obszarze Tworzenie usługi Migration Service określ nazwę usługi, subskrypcji i nowej lub istniejącej grupy zasobów.

  4. Wybierz lokalizację, w której chcesz utworzyć wystąpienie usługi Azure Database Migration Service.

  5. Wybierz istniejącą sieć wirtualną lub utwórz nową.

    Sieć wirtualna zapewnia usłudze Azure Database Migration Service dostęp do źródłowego wystąpienia bazy danych MongoDB i docelowego konta usługi Azure Cosmos DB.

    Aby uzyskać więcej informacji na temat tworzenia sieci wirtualnej w witrynie Azure Portal, zobacz Tworzenie sieci wirtualnej przy użyciu witryny Azure Portal.

  6. Wybierz warstwę cenową.

    Aby uzyskać więcej informacji na temat kosztów i warstw cenowych, zobacz stronę z cennikiem.

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

  7. Wybierz pozycję Utwórz, aby utworzyć usługę.

Tworzenie projektu migracji

Po utworzeniu usługi znajdź ją w witrynie Azure Portal i otwórz ją. Następnie utwórz nowy projekt migracji.

  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.

    Screenshot that shows how to locate all instances of Azure Database Migration Service.

  2. Na ekranie Usługi Azure Database Migration Services wyszukaj nazwę utworzonego wystąpienia usługi Azure Database Migration Service, a następnie wybierz wystąpienie.

  3. Wybierz pozycję + Nowy projekt migracji.

  4. W obszarze Nowy projekt migracji określ nazwę projektu, a w polu tekstowym Typ serwera źródłowego wybierz pozycję MongoDB. W polu tekstowym Typ serwera docelowego wybierz pozycję Azure Cosmos DB for NoSQL, a następnie w obszarze Wybierz typ działania wybierz pozycję Migracja danych w trybie offline.

    Screenshot that shows project options.

  5. Wybierz polecenie Utwórz i uruchom działanie, aby utworzyć projekt i uruchomić działanie migracji.

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

  1. Na ekranie Szczegóły źródła określ szczegóły połączenia dla źródłowego serwera MongoDB.

    Ważne

    Usługa Azure Database Migration Service nie obsługuje usługi Azure Cosmos DB jako źródła.

    Istnieją trzy tryby nawiązywania połączenia ze źródłem:

    • Tryb standardowy, który akceptuje w pełni kwalifikowaną nazwę domeny lub adres IP, numer portu i poświadczenia połączenia.

    • tryb ciągu Połączenie ion, który akceptuje parametry połączenia bazy danych MongoDB zgodnie z opisem w Połączenie ion String URI Format.

    • Tryb danych z usługi Azure Storage, który akceptuje adres URL sygnatury dostępu współdzielonego kontenera obiektów blob. Wybierz pozycję Obiekt blob zawiera zrzuty BSON, jeśli kontener obiektów blob zawiera zrzuty BSON utworzone przez narzędzie bsondump bazy danych MongoDB. Nie wybieraj tej opcji, jeśli kontener zawiera pliki JSON.

      Jeśli wybierzesz tę opcję, upewnij się, że konto magazynu parametry połączenia jest wyświetlane w następującym formacie:

      https://blobnameurl/container?SASKEY
      

      Ten parametry połączenia sygnatury dostępu współdzielonego kontenera obiektów blob można znaleźć w Eksploratorze usługi Azure Storage. Utworzenie sygnatury dostępu współdzielonego dla danego kontenera zawiera adres URL w żądanym formacie.

      Ponadto na podstawie informacji o zrzucie typów w usłudze Azure Storage należy pamiętać o następujących kwestiach:

      • W przypadku zrzutów BSON dane w kontenerze obiektów blob muszą być w formacie bsondump. Umieść pliki danych w folderach o nazwie o nazwie zawierającej bazy danych w formacie collection.bson. Nazwij wszystkie pliki metadanych przy użyciu formatu 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. W każdym folderze bazy danych pliki danych muszą być umieszczane w podfolderze o nazwie data i nazwane przy użyciu formatu collection.json. Umieść wszystkie pliki metadanych w podfolderze o nazwie metadata i nazwane przy użyciu tego samego formatu, collection.json. Pliki metadanych muszą mieć taki sam format jak pliki tworzone przez narzędzie bsondump bazy danych MongoDB.

    Ważne

    Nie zalecamy używania certyfikatu z podpisem własnym na serwerze MongoDB. Jeśli musisz go użyć, połącz się z serwerem przy użyciu trybu parametry połączenia i upewnij się, że parametry połączenia ma znaki cudzysłowu ("").

    &sslVerifyCertificate=false
    

    Można również użyć adresu IP w sytuacjach, w których rozpoznawanie nazw DNS nie jest możliwe.

    Screenshot that shows specifying source details.

  2. Wybierz pozycję Zapisz.

Określanie szczegółów elementu docelowego

  1. Na ekranie Szczegóły elementu docelowego migracji określ szczegóły połączenia dla docelowego konta usługi Azure Cosmos DB. To konto to wstępnie aprowizowanie konta usługi Azure Cosmos DB dla bazy danych MongoDB, do którego migrujesz dane bazy danych MongoDB.

    Screenshot that shows specifying target details.

  2. Wybierz pozycję Zapisz.

Mapowanie do docelowych baz danych

  1. Na ekranie Mapowanie do docelowych baz danych określ mapowanie źródłowej i docelowej bazy danych na potrzeby migracji.

    Jeśli docelowa baza danych zawiera taką samą nazwę bazy danych jak źródłowa baza danych, usługa Azure Database Migration Service domyślnie wybiera docelową bazę danych.

    Jeśli obok nazwy bazy danych pojawi się wartość Utwórz , oznacza to, że usługa Azure Database Migration Service nie znalazła docelowej bazy danych, a usługa utworzy bazę danych.

    Na tym etapie migracji możesz zaaprowizować przepływność. W usłudze Azure Cosmos DB można aprowizować przepływność na poziomie bazy danych lub indywidualnie dla każdej kolekcji. Przepływność jest mierzona w jednostkach żądań. Dowiedz się więcej o cenniku usługi Azure Cosmos DB.

    Screenshot that shows mapping to target databases.

  2. Wybierz pozycję Zapisz.

  3. Na ekranie Ustawienia kolekcji rozwiń listę kolekcji, a następnie przejrzyj listę kolekcji, które będą migrowane.

    Usługa Azure Database Migration Service automatycznie wybiera wszystkie kolekcje, które istnieją w źródłowym wystąpieniu bazy danych MongoDB, które nie istnieją na docelowym koncie usługi Azure Cosmos DB. Jeśli chcesz ponownie przeprowadzić migrację kolekcji, które już zawierają dane, musisz jawnie wybrać kolekcje w tym okienku.

    Możesz określić liczbę jednostek RU używanych przez kolekcje. Usługa Azure Database Migration Service sugeruje inteligentne wartości domyślne na podstawie rozmiaru kolekcji.

    Uwaga

    Równoległe przeprowadzanie migracji i kolekcji bazy danych. W razie potrzeby możesz użyć wielu wystąpień usługi Azure Database Migration Service, aby przyspieszyć przebieg.

    Możesz również wskazać klucz fragmentu, aby skorzystać z partycjonowania w usłudze Azure Cosmos DB, które zapewnia optymalną skalowalność. Zapoznaj się z najlepszymi rozwiązaniami dotyczącymi wybierania klucza fragmentu/partycji.

    Screenshot that shows selecting collections tables.

  4. Wybierz pozycję Zapisz.

  5. Na ekranie Podsumowanie migracji w polu tekstowym Nazwa działania określ nazwę działania migracji.

    Screenshot that shows the nigration summary.

Uruchamianie migracji

Wybierz polecenie Uruchom migrację. Zostanie wyświetlone okno działania migracji, a stan działania to Nie uruchomiono.

Screenshot that shows the activity status.

Monitorowanie migracji

Na ekranie działania migracji wybierz pozycję Odśwież , aby zaktualizować ekran, aż stan migracji będzie wyświetlany jako Ukończono.

Uwaga

Możesz wybrać działanie, aby uzyskać szczegółowe informacje o metrykach migracji na poziomie bazy danych i kolekcji.

Screnshot that shows the activity status completed.

Weryfikowanie danych w usłudze Azure Cosmos DB

Po zakończeniu migracji możesz sprawdzić konto usługi Azure Cosmos DB, aby sprawdzić, czy wszystkie kolekcje zostały pomyślnie zmigrowane.

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

Optymalizacja po migracji

Po przeprowadzeniu migracji danych przechowywanych w bazie danych MongoDB do usługi Azure Cosmos DB for MongoDB możesz nawiązać połączenie z usługą Azure Cosmos DB i zarządzać danymi. Można również wykonać inne kroki optymalizacji po migracji. Mogą one obejmować optymalizację zasad indeksowania, aktualizowanie domyślnego poziomu spójności lub konfigurowanie dystrybucji globalnej dla konta usługi Azure Cosmos DB. Aby uzyskać więcej informacji, zobacz Optymalizacja po migracji.

Dodatkowe zasoby

Następne kroki

Zapoznaj się ze wskazówkami dotyczącymi migracji, aby zapoznać się z dodatkowymi scenariuszami w przewodniku po migracji usługi Azure Database.