Udostępnij za pośrednictwem


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

DOTYCZY: MongoDB

Ważne

Migracje do usługi Azure Cosmos DB dla rdzeni wirtualnych bazy danych MongoDB można wykonać przy użyciu rozszerzenia migracji bazy danych MongoDB dla usługi Azure Data Studio. To rozszerzenie korzysta z usługi Azure Database Migration Service w tle. Należy pamiętać, że nie można przeprowadzić migracji do usługi Azure Cosmos DB dla rdzeni wirtualnych bazy danych MongoDB przy użyciu usługi Database Migration Service w witrynie Azure Portal.

Ten przewodnik migracji bazy danych MongoDB jest częścią serii migracji bazy danych MongoDB. Krytyczne kroki migracji bazy danych MongoDB to przed migracją, migracją i po migracji.

Diagram kroków migracji.

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

Za pomocą usługi Azure Database Migration Service można przeprowadzić migrację baz danych w trybie online (minimalny przestój) z lokalnego wystąpienia bazy danych MongoDB do usługi Azure Cosmos DB dla bazy danych MongoDB.

W tym samouczku przedstawiono kroki skojarzone z użyciem usługi Azure Database Migration Service w celu migracji danych bazy danych MongoDB do usługi Azure Cosmos DB:

  • Utwórz wystąpienie usługi Azure Database Migration Service.
  • Utwórz projekt migracji.
  • Określ źródło.
  • Określ element docelowy.
  • Mapuj na docelowe bazy danych.
  • Uruchamianie migracji.
  • Monitoruj migrację.
  • Weryfikowanie danych w usłudze Azure Cosmos DB.
  • Ukończ migrację, gdy wszystko będzie gotowe.

W tym samouczku przeprowadzisz migrację zestawu danych w bazie danych MongoDB hostowanego na maszynie wirtualnej platformy Azure do usługi Azure Cosmos DB dla bazy danych MongoDB z minimalnym przestojem za pośrednictwem usługi Azure Database Migration Service. 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.

Przeprowadzenie migracji online przy użyciu usługi Azure Database Migration Service wymaga utworzenia wystąpienia na podstawie warstwy cenowej Premium.

Ważne

Aby uzyskać optymalne środowisko migracji, firma Microsoft zaleca utworzenie wystąpienia usługi Azure Database Migration Service w tym samym regionie świadczenia usługi Azure co docelowa baza danych. Przenoszenie danych między regionami lub lokalizacjami geograficznymi może spowalniać proces migracji.

Napiwek

W usłudze Azure Database Migration Service możesz migrować bazy danych w trybie offline lub w trybie online. Podczas migracji w trybie offline przestój aplikacji rozpoczyna się po rozpoczęciu migracji. Aby ograniczyć przestój do czasu potrzebnego na przejście do nowego środowiska po migracji, użyj migracji online . Zalecamy przetestowanie migracji w trybie offline w celu określenia, czy przestój jest akceptowalny. Jeśli oczekiwany przestój nie jest akceptowalny, wykonaj migrację online.

W tym artykule opisano migrację online z bazy danych MongoDB do usługi Azure Cosmos DB dla bazy danych MongoDB. Aby przeprowadzić migrację w trybie offline, zobacz Samouczek: migrowanie bazy danych MongoDB do usługi Azure Cosmos DB dla jednostek RU bazy danych MongoDB w trybie offline przy użyciu usługi Azure Database Migration Service.

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, wybieranie klucza partycji i zasady indeksowania.

  • Utwórz konto usługi Azure Cosmos DB dla bazy danych MongoDB i upewnij się, że włączono opcję Zapobieganie błędom ograniczania szybkości dla operacji usługi Azure Cosmos DB dla bazy danych MongoDB.

    Uwaga

    Usługa DMS nie jest obecnie obsługiwana, jeśli migrujesz do konta usługi Azure Cosmos DB dla bazy danych MongoDB aprowizowanego z trybem bezserwerowym.

  • Utwórz sieć wirtualną platformy Microsoft Azure dla usługi Azure Database Migration Service przy użyciu modelu wdrażania usługi Azure Resource Manager, który zapewnia łączność typu lokacja-lokacja z lokalnymi serwerami źródłowymi przy użyciu usługi ExpressRoute lub sieci VPN.

    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:

    • Punkt końcowy docelowej bazy danych (np. punkt końcowy usługi SQL, 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ń sieci wirtualnej nie blokują następujących portów komunikacyjnych: 53, 443, 445, 9354 i 10000–20000. Aby uzyskać więcej informacji na temat filtrowania ruchu sieciowej grupy zabezpieczeń sieci wirtualnej, zapoznaj się z artykułem 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, który domyślnie jest portem TCP 27017.

  • W przypadku korzystania z urządzenia zapory przed źródłowymi bazami danych może być konieczne dodanie reguł zapory, aby umożliwić usłudze Azure Database Migration Service dostęp do źródłowych baz danych na potrzeby migracji.

Konfigurowanie ponawiania prób po stronie serwera usługi Azure Cosmos DB w celu wydajnej migracji

Klienci migrujący z bazy danych MongoDB do usługi Azure Cosmos DB korzystają z możliwości zapewniania ładu zasobów, co gwarantuje możliwość pełnego wykorzystania aprowizowanych jednostek RU/s przepływności. Usługa Azure Cosmos DB może ograniczyć dane żądanie usługi Data Migration Service w trakcie migracji, jeśli to żądanie przekroczy aprowizowaną jednostkę RU/s kontenera; następnie należy ponowić próbę żądania. Usługa Data Migration Service może wykonywać ponawianie prób, jednak czas rundy związany z przeskoku sieciowym między usługą Data Migration Service i usługą Azure Cosmos DB ma wpływ 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 niższym czasie rundy, co znacznie skraca czas odpowiedzi na żądanie.

Możliwości ponawiania po stronie serwera można znaleźć w bloku Funkcje portalu usługi Azure Cosmos DB

Zrzut ekranu przedstawiający funkcję ponawiania po stronie serwera Bazy danych MongoDB.

Jeśli jest wyłączona, zalecamy jej włączenie, jak pokazano poniżej

Zrzut ekranu przedstawiający włączanie ponawiania po stronie serwera Bazy danych MongoDB.

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.

    Zrzut ekranu przedstawiający wyświetlanie subskrypcji 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.

    Zrzut ekranu przedstawiający wyświetlanie dostawców zasobów.

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

    Zrzut ekranu przedstawiający rejestrowanie dostawcy zasobów.

Tworzenie wystąpienia

  1. W witrynie Azure Portal wybierz pozycję + Utwórz zasób, wyszukaj pozycję Azure Database Migration Service, a następnie wybierz pozycję Azure Database Migration Service z listy rozwijanej.

    Zrzut ekranu przedstawiający witrynę Azure Marketplace.

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

    Zrzut ekranu przedstawiający 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.

  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 artykuł Tworzenie sieci wirtualnej przy użyciu witryny Azure Portal.

  6. Wybierz jednostkę SKU z warstwy cenowej Premium.

    Uwaga

    Migracje online są obsługiwane tylko w przypadku korzystania z warstwy Premium. Aby uzyskać więcej informacji na temat kosztów i warstw cenowych, zobacz stronę z cennikiem.

    Zrzut ekranu przedstawiający konfigurowanie ustawień 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, otwórz ją, a 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 lokalizowanie 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.

    Alternatywnie możesz odnaleźć wystąpienie usługi Azure Database Migration Service w okienku wyszukiwania w witrynie Azure Portal.

    Zrzut ekranu przedstawiający okienko Wyszukiwanie w witrynie Azure Portal.

  3. Wybierz pozycję + Nowy projekt migracji.

  4. Na ekranie Nowy projekt migracji określ nazwę projektu, w polu tekstowym Typ serwera źródłowego wybierz pozycję MongoDB, w polu tekstowym Typ serwera docelowego wybierz pozycję Azure Cosmos DB dla bazy danych MongoDB, a następnie w polu Wybierz typ działania wybierz pozycję Migracja danych online [wersja zapoznawcza].

    Zrzut ekranu przedstawiający tworzenie projektu usługi Database Migration Service.

  5. Wybierz przycisk Zapisz, a następnie 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 znajdującym się w artykule Connection String URI Format (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. 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.

      Jeśli wybierzesz tę opcję, upewnij się, że parametry połączenia konta magazynu mają następujący format:

      https://blobnameurl/container?SASKEY
      

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

      • 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. Pliki metadanych (jeśli istnieją) powinny mieć nazwy w formacie kolekcja.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ć umieszczone w podfolderze o nazwie „data” i mieć nazwy w formacie kolekcja.json. Pliki metadanych (jeśli istnieją) muszą być umieszczone w podfolderze o nazwie „metadata” i mieć nazwy w takim samym formacie kolekcja.json. Pliki metadanych muszą mieć taki sam format jak pliki tworzone przez narzędzie bsondump bazy danych MongoDB.

      Ważne

      Nie zaleca się używania certyfikatu z podpisem własnym na serwerze MongoDB. Jeśli jednak jest używany, połącz się z serwerem przy użyciu trybu parametry połączenia i upewnij się, że parametry połączenia ma wartość ""

      &sslVerifyCertificate=false
      

      Jeśli rozpoznawanie nazw DNS nie jest możliwe, możesz użyć adresu IP.

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

  2. Wybierz pozycję Zapisz.

    Adres serwera źródłowego powinien być adresem podstawowym, jeśli źródło jest zestawem replik, lub adresem routera, jeśli źródło jest podzielonym na fragmenty klastrem bazy danych MongoDB. W przypadku klastra bazy danych MongoDB podzielonego na fragmenty usługa Azure Database Migration Service musi mieć możliwość nawiązania połączenia z poszczególnymi fragmentami w klastrze, co może wymagać otwarcia zapory na większej osobie.

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, które jest wstępnie aprowizowaną usługą Azure Cosmos DB dla konta bazy danych MongoDB, do którego migrujesz dane bazy danych MongoDB.

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

  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 ciąg Create pojawi się obok nazwy bazy danych, oznacza to, że usługa Azure Database Migration Service nie znalazła docelowej bazy danych, a usługa utworzy bazę danych.

    W tym momencie migracji, jeśli chcesz udostępnić przepływność w bazie danych, określ jednostkę RU przepływności. 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ń w usłudze Azure Cosmos DB (RU). Dowiedz się więcej o cenniku usługi Azure Cosmos DB.

    Zrzut ekranu przedstawiający mapę 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 istniejące 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ć te kolekcje na bieżącym ekranie.

    Możesz określić liczbę jednostek RU używanych przez kolekcje. W większości przypadków wartość z zakresu od 500 (co najmniej 1000 dla kolekcji podzielonych na fragmenty) do 4000 powinna być wystarczająca. Usługa Azure Database Migration Service sugeruje inteligentne wartości domyślne na podstawie rozmiaru kolekcji.

    Wykonaj migrację i kolekcję bazy danych równolegle przy użyciu wielu wystąpień usługi Azure Database Migration Service, w razie potrzeby, 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/klucza partycji. Jeśli nie masz klucza partycji, zawsze możesz użyć _id jako klucza fragmentu w celu uzyskania lepszej przepływności.

    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 migracji.

Uruchamianie migracji

Wybierz polecenie Uruchom migrację.

Zostanie wyświetlone okno działania migracji z wyświetlonym stanem działania.

Zrzut ekranu przedstawiający stan działania.

Monitorowanie migracji

Na ekranie działania migracji wybieraj polecenie Odśwież, aby zaktualizować ekran, aż do momentu, gdy Stan migracji zmieni się na Ponowne odtwarzanie.

Uwaga

Po wybraniu działania można uzyskać szczegółowe informacje o metrykach migracji na poziomie bazy danych i kolekcji.

Zrzut ekranu przedstawiający ponowne odtwarzanie stanu działania.

Weryfikowanie danych w usłudze Azure Cosmos DB

  1. Wprowadź zmiany do źródłowej bazy danych MongoDB.

  2. Połącz się z usługą Azure Cosmos DB, aby sprawdzić, czy dane są replikowane ze źródłowego serwera MongoDB.

    Zrzut ekranu pokazujący, gdzie można sprawdzić, czy dane zostały zreplikowane.

Kończenie migracji

Po udostępnieniu wszystkich dokumentów ze źródła w docelowym obiekcie docelowym usługi Azure Cosmos DB wybierz pozycję Zakończ z menu kontekstowego działania migracji, aby ukończyć migrację.

Ta akcja spowoduje zakończenie ponownego odtwarzania wszystkich oczekujących zmian i ukończenie migracji.

Zrzut ekranu przedstawiający opcję menu Zakończ.

Optymalizacja po migracji

Po przeprowadzeniu migracji danych przechowywanych w bazie danych MongoDB do usługi Azure Cosmos DB dla bazy danych 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, takie jak optymalizacja zasad indeksowania, zaktualizowanie domyślnego poziomu spójności lub skonfigurowanie globalnej dystrybucji dla konta usługi Azure Cosmos DB. Aby uzyskać więcej informacji, zobacz artykuł Dotyczący optymalizacji po migracji .

Dodatkowe zasoby