Udostępnij przez


Migrowanie bazy danych MongoDB do usługi Azure DocumentDB w trybie online przy użyciu rozszerzenia migracji usługi Azure DocumentDB (publiczna wersja zapoznawcza)

W tym samouczku użyjesz rozszerzenia migracji usługi Azure DocumentDB w programie Visual Studio Code do tworzenia zadań migracji i zarządzania nimi z wystąpienia lokalnego lub w chmurze bazy danych MongoDB do usługi Azure DocumentDB. To rozszerzenie zapewnia przyjazny dla deweloperów interfejs do przeprowadzania migracji bez przerw w działaniu usługi. Rozszerzenie eliminuje konieczność dodatkowej infrastruktury i zapewnia bezpieczną łączność, zerowe użycie i szczegółową kontrolę nad tym, które bazy danych i kolekcje mają być migrowane.

Ten artykuł koncentruje się na używaniu zintegrowanego przepływu pracy rozszerzenia w celu uproszczenia kroków migracji bezpośrednio w programie Visual Studio Code. Takie podejście jest idealne w scenariuszach, w których potrzebujesz usprawnionego środowiska zarządzanego z minimalną złożonością i maksymalną niezawodnością.

Wymagania wstępne

  • Subskrypcja platformy Azure

  • Istniejący klaster usługi Azure DocumentDB

Przed rozpoczęciem migracji przygotuj konto usługi Azure DocumentDB i istniejące wystąpienie bazy danych MongoDB do migracji.

Wystąpienie MongoDB (źródło)

  • Ukończ ocenę przedmigracyjną, aby określić, czy występują niezgodności i ostrzeżenia pomiędzy instancją źródłową a kontem docelowym.
  • Dodaj użytkownika z uprawnieniami readAnyDatabase i clusterMonitor , chyba że już istnieje. To poświadczenie jest używane podczas tworzenia zadań migracji w rozszerzeniu.

Azure DocumentDB (element docelowy)

  • Zbierz poświadczenia konta usługi Azure DocumentDB.
  • Upewnij się, że użytkownik ma uprawnienia createCollection, dropCollection, createIndex, insert i listCollections.

Ważne

Uwierzytelnianie Microsoft Entra ID nie jest obecnie obsługiwane w zadaniach migracji. Użyj natywnego uwierzytelniania usługi DocumentDB.

Przeprowadzanie migracji

Nawiązywanie połączenia ze źródłem

  1. Otwórz rozszerzenie DocumentDB dla programu VS Code .
  2. Dodaj serwer MongoDB, który chcesz zmigrować do listy Połączenia usługi Document DB.
  3. Wybierz pozycję Dodaj nowe połączenie.
  4. Na pasku nawigacyjnym wybierz pozycję Parametry połączenia.
  5. Wklej parametry połączenia: mongodb://<YOUR_USERNAME>:<YOUR_PASSWORD>@localhost:10260/?tls=true&tlsAllowInvalidCertificates=true&authMechanism=SCRAM-SHA-256
  6. W Połączeniach DocumentDB wybierz połączenie i rozwiń, aby się połączyć.

Uruchom rozszerzenie migracji

Rozszerzenie migracji można wywołać z poziomu połączeń usługi DocumentDB.

  1. Kliknij prawym przyciskiem myszy na rozszerzoną (połączoną) sieć.

  2. Wybierz pozycję Migracja danych z menu kontekstowego.

    Zrzut ekranu przedstawiający menu kontekstowe w programie Visual Studio Code.

  3. Wybierz pozycję Migruj do usługi Azure DocumentDB z palety poleceń.

    Zrzut ekranu palety poleceń w programie Visual Studio Code.

  4. Kreator migracji poprowadzi cię przez proces.

Utwórz zadanie migracji

Zadanie migracji służy do migrowania grupy kolekcji ze źródła do docelowej bazy danych Azure DocumentDB. Kreator zadań migracyjnych ma sześć kroków.

Krok 1. Tworzenie zadania

W tym kroku podasz podstawowe informacje dotyczące zadania.

  • Nazwa zadania: podaj przyjazną nazwę, aby zidentyfikować zadanie migracji.

  • Tryb migracji: wybierz tryb migracji, który jest najbardziej odpowiedni dla twojego przypadku użycia.

    • Migracja online kopiuje dane kolekcji, zapewniając, że aktualizacje są również replikowane podczas procesu. Ta metoda jest korzystna w przypadku minimalnych przestojów, co pozwala na ciągłe operacje na potrzeby ciągłości działania. Użyj tej opcji, gdy bieżące operacje mają kluczowe znaczenie, a zmniejszenie przestoju jest priorytetem.
    • Migracja w trybie offline przechwytuje migawkę bazy danych na początku, oferując prostsze i przewidywalne podejście. Sprawdza się dobrze, gdy użycie statycznej kopii bazy danych jest akceptowalne, a aktualizacje w czasie rzeczywistym nie są niezbędne.

    Ważne

    Aby zapewnić pomyślne migracje online z bazy danych MongoDB, element ChangeStream musi być włączony na źródłowym serwerze MongoDB. Bez funkcji ChangeStream wszelkie modyfikacje wprowadzone w danych po migracji początkowej nie są przechwytywane. W związku z tym należy użyć trybu migracji online tylko wtedy, gdy element ChangeStream jest włączony na źródłowym serwerze MongoDB.

  • Łączność: w zależności od mandatu zabezpieczeń organizacji i konfiguracji sieci wybierz jedną z opcji Publiczna i Prywatna.

    • Użyj opcji Publicznej , gdy serwery źródłowe i docelowe są dostępne za pośrednictwem Internetu za pośrednictwem publicznych adresów IP. Umożliwia obsługę usług, które wymagają dostępu zewnętrznego.
    • Użyj opcji Prywatny , jeśli serwery źródłowe lub docelowe są dostępne wyłącznie za pośrednictwem prywatnych adresów IP w sieci wirtualnej. Zwiększa bezpieczeństwo poprzez wyeliminowanie narażenia na publiczny Internet.

Wybierz przycisk Dalej, aby kontynuować.

Zrzut ekranu przedstawiający krok tworzenia zadania w kreatorze.

Krok 2. Wybieranie miejsca docelowego

W tym kroku wybierz istniejące konto usługi Azure DocumentDB i podaj jego parametry połączenia.

  1. Wybierz subskrypcję, grupę zasobów i konto usługi Azure DocumentDB z listy rozwijanej.

  2. Podaj parametry połączenia z kontem usługi Azure DocumentDB.

  3. Upewnij się, że adres IP wskazany na ekranie jest dopuszczony przez zaporę usługi Azure DocumentDB.

  4. Wybierz przycisk Dalej, aby kontynuować.

Zrzut ekranu kroku wyboru docelowego w kreatorze.

Krok 3. Wybieranie usługi Database Migration Service (DMS)

Azure Database Migration Service to usługa, która migruje dane do i z platform danych platformy Azure przy użyciu infrastruktury chmury do transferu danych, zamiast polegać na zasobach lokalnych. Wybierz istniejące wystąpienie usługi Azure Database Migration Service z listy rozwijanej lub wybierz pozycję Utwórz usługę DMS , aby utworzyć nową usługę migracji.

Ważne

Upewnij się, że dostawca zasobów Microsoft.DataMigration jest zarejestrowany w twojej subskrypcji. Wystarczy to zrobić tylko raz dla każdej subskrypcji.

Wybierz przycisk Dalej, aby kontynuować.

Zrzut ekranu przedstawiający krok wyboru usługi Database Migration Service w kreatorze.

Krok 4. Konfigurowanie łączności

Ten ekran zależy od trybu łączności wybranego w kroku 1.

Łączność publiczna

W przypadku łączności publicznej zadanie migracji łączy się ze źródłem i miejscem docelowym przy użyciu publicznego Internetu. Aby włączyć komunikację, musisz zaktualizować zapory źródłowe i docelowe. Aby włączyć komunikację z serwerami DMS, dodaj adresy IP wymienione na ekranie do zapór źródłowych i docelowych. Aby uzyskać więcej informacji, zobacz konfigurowanie zapory klastra usługi Azure DocumentDB .

Zrzut ekranu przedstawiający krok konfiguracji łączności publicznej w kreatorze.

Łączność prywatna

W przypadku łączności prywatnej zadanie migracji jest uruchamiane w sieci wirtualnej. Aby bezpiecznie komunikować się z wirtualną siecią, używamy łączenia sieci wirtualnych.

  1. Wybierz subskrypcję, grupę zasobów i sieć wirtualną z listy rozwijanej.

  2. Uruchom skrypt programu PowerShell podany na ekranie, aby włączyć integrację sieci wirtualnej.

  3. Wybierz przycisk Dalej, aby kontynuować.

Zrzut ekranu przedstawiający krok konfiguracji łączności prywatnej w kreatorze.

Krok 5. Wybieranie kolekcji

W tym kroku wybierzesz kolekcje, które mają zostać uwzględnione w zadaniu migracji. Wybierz z listy kolekcji przy użyciu podanych opcji wyszukiwania. Kolekcje, które już istnieją w obiekcie docelowym, są automatycznie oznaczone jako Tak w kolumnie Istnieje w kolumnie Target.

Wskazówka

Pamiętaj, aby wybrać wszystkie kolekcje, które chcesz uwzględnić, ponieważ nie można dodać listy kolekcji po utworzeniu zadania migracji.

Wybierz przycisk Dalej, aby kontynuować.

Zrzut ekranu przedstawiający etap wybierania kolekcji w kreatorze.

Krok 6. Potwierdzanie i uruchamianie

Przed wybraniem pozycji Rozpocznij migrację przejrzyj szczegóły zadania migracji. Jeśli trzeba zaktualizować szczegóły, użyj przycisku Edytuj szczegóły .

Po pomyślnym utworzeniu zadania migracji nastąpi automatyczne przekierowanie do strony Wyświetl istniejące zadania

Wskazówka

Zadania migracji danych są uruchamiane w usłudze Azure Database Migration Service. W związku z tym podczas migracji danych nie trzeba łączyć się ze środowiskami źródłowymi i docelowymi. Stan jest aktualizowany na pulpicie nawigacyjnym w częstych odstępach czasu.

Monitorowanie istniejących zadań migracji

Użyj karty Wyświetl istniejące zadania , aby monitorować stan migracji zainicjowanych zadań. Zadania są wyświetlane na podstawie wybranego systemu DMS. Użyj przycisku Zmień usługę DMS , aby zmienić wybór.

Stan jest automatycznie aktualizowany w częstych odstępach czasu. Zadania trybu offline są wykonywane automatycznie po skopiowaniu wybranych migawek kolekcji do obiektu docelowego. Jednak migracje online muszą zostać ręcznie skrócone.

Zrzut ekranu przedstawiający widok istniejących zadań.

Aby wyświetlić stan kolekcji, wybierz wiersz z tabeli.

Zrzut ekranu przedstawiający stan kolekcji dla migracji w trybie offline.

Monitorowanie migracji online

Migracje online, w przeciwieństwie do migracji w trybie offline, nie są wykonywane automatycznie. Zamiast tego są one uruchamiane w sposób ciągły, dopóki nie zostaną one ręcznie sfinalizowane, wybierając pozycję Cutover.

Aby ukończyć migrację online, wykonaj następujące kroki w podanej kolejności:

  1. Przycisk Cutover jest włączony po zakończeniu początkowego ładowania danych dla wszystkich kolekcji. Na tym etapie zadanie jest w fazie replikacji, stale kopiując aktualizacje z wystąpienia źródłowego do wystąpienia docelowego, aby zachować je up-to-date z najnowszymi zmianami.

  2. Gdy wszystko będzie gotowe do przeprowadzenia migracji jednorazowej, zatrzymaj wszystkie transakcje przychodzące do migrowanych kolekcji źródłowych.

  3. Luka replikacji pokazuje przerwę czasową między ostatnią aktualizacją a bieżącym czasem.

  4. Monitoruj zmiany replikacji w tabeli i zaczekaj na stabilizację metryki Odtwarzane zmiany replikacji . Stabilna metryka Odtwarzane zmiany replikacji wskazuje, że wszystkie aktualizacje ze źródła zostały pomyślnie skopiowane do obiektu docelowego.

  5. Wybierz pozycję Cutover , gdy luka replikacji jest minimalna dla wszystkich kolekcji, a metryka Odtwarzane zmiany replikacji jest stabilna.

  6. Ręcznie sprawdź, czy liczba wierszy jest taka sama między kolekcjami źródłowymi i docelowymi.

Uwaga / Notatka

Wykonanie operacji przełączenia bez weryfikacji, czy źródło i element docelowy są zsynchronizowane, może spowodować utratę danych.

Zrzut ekranu przedstawiający stan dla poszczególnych kolekcji w przypadku migracji online

Zarejestruj dostawcę zasobów Microsoft.DataMigration w subskrypcji

Aby upewnić się, że dostawca zasobów Microsoft.DataMigration jest zarejestrowany w subskrypcji, możesz wykonać następujące kroki:

Azure Portal

  1. Przejdź do witryny Azure Portal i przejdź do subskrypcji.

  2. W menu po lewej stronie wybierz pozycję Dostawcy zasobów w obszarze Ustawienia.

  3. Wyszukaj Microsoft.DataMigration w polu wyszukiwania u góry.

  4. Jeśli nie został zarejestrowany, wybierz go i wybierz przycisk Zarejestruj .

Azure CLI

  1. Otwórz usługę Azure Cloud Shell lub lokalny terminal.

  2. Uruchom następujące polecenie, aby zarejestrować dostawcę zasobów:

    az provider register --namespace Microsoft.DataMigration
    

PowerShell

  1. Otwórz usługę Azure Cloud Shell lub lokalny program PowerShell.

  2. Uruchom następujące polecenie, aby zarejestrować dostawcę zasobów:

    Register-AzResourceProvider -ProviderNamespace "Microsoft.DataMigration"
    

Często zadawane pytania

Dlaczego w kroku ekranu wybierania kolekcji brakuje widoków, gdy usługa Azure DocumentDB obsługuje widoki?

Usługa Azure DocumentDB obsługuje tworzenie nowych widoków. Jednak rozszerzenie migracji nie zapewnia obsługi migrowania istniejących widoków.

Po zakończeniu migracji zawsze można ponownie utworzyć widoki.

Które kolekcje i bazy danych są pomijane podczas migracji z bazy danych MongoDB do usługi Azure DocumentDB?

Następujące bazy danych i kolekcje są uważane za wewnętrzne dla bazy danych MongoDB:

Kategoria Description
Bazy danych administrator, lokalny, konfiguracja systemu
Kolekcje Dowolna kolekcja z prefiksem system.

Czy zadania migracji są uruchamiane lokalnie na mojej maszynie?

Bazy danych i kolekcje są wyświetlane bezpośrednio w interfejsie użytkownika kreatora przy użyciu poleceń wykonywanych z lokalnego klienta programu VS Code. Ta funkcja wymaga łączności sieciowej między maszyną z uruchomionym programem VS Code i środowiskami źródłowymi i docelowymi.

Zadania migracji danych są wykonywane przez usługę Azure Database Migration Service (DMS). DMS to usługa hostowana na platformie Azure, która organizuje działania przenoszenia danych i zarządza nimi. Po utworzeniu zadań migracji nie trzeba już utrzymywać łączności ze środowiskami źródłowymi i docelowymi.

Czy mogę zmienić nazwy baz danych i kolekcji podczas migracji?

Rozszerzenie nie obsługuje zmiany nazwy bazy danych i kolekcji podczas migracji.

Jak skonfigurować zapory serwera źródłowego, aby uniknąć problemów z łącznością?

Wymagana konfiguracja sieci zależy od wybranego trybu łączności:

  • Tryb publiczny: Aby umożliwić komunikację, należy zezwolić na wyświetlanie adresów IP wyświetlanych w kreatorze zarówno w zaporach źródłowych, jak i docelowych.
  • Tryb prywatny: Należy włączyć integrację sieci wirtualnej , aby serwery DMS mogły bezpiecznie komunikować się ze źródłowymi i docelowymi punktami końcowymi w sieci wirtualnej.

Zapoznaj się również z tematem Łączność programu VS Code

Ile baz danych i kolekcji można migrować w ramach jednej migracji?

W ramach jednej migracji można uwzględnić maksymalnie 25 kolekcji . Można jednak utworzyć i uruchomić wiele zadań migracji , aby zmigrować inne kolekcje.

Ile zadań migracji można uruchomić jednocześnie?

W przypadku korzystania z dostępu publicznego można uruchomić wiele zadań migracji. Jednak w przypadku korzystania z dostępu prywatnego jedna sieć wirtualna może obsługiwać tylko jedno aktywne zadanie jednocześnie. Aby uruchomić wiele zadań z dostępem prywatnym, należy użyć innej sieci wirtualnej dla każdego zadania.

Jakiego typu dzienniki generuje rozszerzenie?

Rozszerzenie rejestruje błędy, ostrzeżenia i inne dzienniki diagnostyczne w domyślnym katalogu dziennika:

  • Windows - C:\Users\<username>\.dmamongo\logs\
  • Linux - ~/.dmamongo/logs
  • macOS - /Users/<username>/.dmamongo/logs

Dalsze kroki