Udostępnij za pośrednictwem


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 kroków migracji.

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.

Zrzut ekranu przedstawiający miejsce znalezienia funkcji ponawiania po stronie serwera.

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

Zrzut ekranu przedstawiający sposób włączania ponawiania po stronie serwera.

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.

    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.

    Wyświetlanie dostawców zasobów

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

    Rejestrowanie dostawcy zasobów

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.

    Zrzut ekranu przedstawiający witrynę Azure Marketplace.

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

    Zrzut ekranu przedstawiający sposób tworzenia wystąpienia usługi 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.

    Zrzut ekranu przedstawiający ustawienia konfiguracji wystąpienia usługi 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.

    Zrzut ekranu przedstawiający sposób lokalizowania wszystkich wystąpień usługi 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.

    Zrzut ekranu przedstawiający opcje projektu.

  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 parametrów połączenia, który akceptuje parametry połączenia bazy danych MongoDB zgodnie z opisem w temacie Format identyfikatora URI parametrów połączenia.

    • 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 collection.json formatu. 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.

    Zrzut ekranu przedstawiający określanie szczegółów źródła.

  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.

    Zrzut ekranu przedstawiający określanie szczegółów miejsca docelowego.

  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.

    Zrzut ekranu przedstawiający mapowanie na docelowe bazy danych.

  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.

    Zrzut ekranu przedstawiający wybieranie tabel kolekcji.

  4. Wybierz pozycję Zapisz.

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

    Zrzut ekranu przedstawiający podsumowanie nigration.

Uruchamianie migracji

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

Zrzut ekranu przedstawiający stan działania.

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.

Zrzut ekranu pokazujący ukończone działanie.

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.

Zrzut ekranu pokazujący, gdzie sprawdzić konto usługi Azure Cosmos DB, aby sprawdzić, czy wszystkie kolekcje zostały pomyślnie zmigrowane.

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.