Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W tym samouczku użyjesz rozszerzenia do migracji Azure Cosmos DB w Visual Studio Code, aby utworzyć i zarządzać zadaniami migracyjnymi z lokalnej instancji lub w chmurze bazy danych MongoDB do Azure Cosmos DB. 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 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 Azure
- Jeśli nie masz subskrypcji Azure, utwórz konto free
Istniejący klaster usługi DocumentDB Azure
- Jeśli nie masz klastra, utwórz nowy klaster
- Zainstaluj rozszerzenie migracji Azure DocumentDB na maszynie. To automatycznie zainstaluje wymagane rozszerzenie DocumentDB for Visual Studio Code.
Przed rozpoczęciem migracji przygotuj konto usługi DocumentDB Azure i istniejące wystąpienie bazy danych MongoDB na potrzeby 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
readAnyDatabaseiclusterMonitor, chyba że już istnieje. To poświadczenie jest używane podczas tworzenia zadań migracji w rozszerzeniu.
Azure DocumentDB (element docelowy)
- Zbierz poświadczenia konta Azure DocumentDB account.
- Upewnij się, że użytkownik ma uprawnienia
createCollection,dropCollection,createIndex,insertilistCollections.
Minimalne wymagane uprawnienia
Użyj następujących minimalnych ról, aby utworzyć i uruchomić zadania migracyjne.
| Minimalna rola | Scope | Dotyczy trybu łączności | Purpose |
|---|---|---|---|
| Czytelnik | Subscription | Publiczna i prywatna | Wyświetlanie listy subskrypcji i grup zasobów. Wymagane dla każdego zadania migracji. |
| Kontrybutor usługi migracji baz danych Azure | Grupa zasobów | Publiczna i prywatna | Utwórz Azure Database Migration Service (DMS). Nie musisz tworzyć nowego systemu DMS dla każdej migracji. Wystarczy jeden system DMS na region. |
| Contributor | Subscription | Publiczna i prywatna | Zarejestruj usługę DMS w subskrypcji. Jest to jednorazowe działanie i może być delegowane do innego użytkownika. |
| Administrator dostępu użytkowników | Sieć wirtualna | Tylko dla prywatnego użytku | Przypisz rolę Współtwórcy sieci do głównego obiektu DMS. Jest to jednorazowe działanie na sieć wirtualną i może być delegowane do innego użytkownika. |
| Contributor | Azure DocumentDB | Publiczna i prywatna | Uruchom zadanie migracji. |
Aby uzyskać szczegółowe informacje o rejestracji dostawcy, zobacz Register Microsoft.DataMigration resource provider in your subscription.
Ważne
Microsoft Entra ID uwierzytelnianie nie jest obecnie obsługiwane przy zadaniach migracyjnych. Użyj natywnego uwierzytelniania usługi DocumentDB.
Przeprowadzanie migracji
Aby uzyskać wskazówki dotyczące planowania rozmiaru migracji, szybkości i przełączenia, zobacz Najlepsze praktyki dotyczące migracji.
Nawiązywanie połączenia ze źródłem
- Otwórz rozszerzenie DocumentDB dla programu VS Code .
- Dodaj serwer MongoDB, który chcesz zmigrować do listy Połączenia usługi Document DB.
- Wybierz pozycję Dodaj nowe połączenie.
- Na pasku nawigacyjnym wybierz pozycję Parametry połączenia.
- Wklej swój łańcuch połączenia:
mongodb://<YOUR_USERNAME>:<YOUR_PASSWORD>@localhost:10260/?tls=true&tlsAllowInvalidCertificates=true&authMechanism=SCRAM-SHA-256 - 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.
Kliknij prawym przyciskiem myszy na rozszerzoną (połączoną) sieć.
Wybierz pozycję Migracja danych z menu kontekstowego.
Z palety poleceń wybierz Migracja do Azure DocumentDB.
Następnie wybierz pozycję Migracja do Azure DocumentDB.
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 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ć.
Krok 2. Wybieranie miejsca docelowego
W tym kroku wybierz istniejące konto usługi DocumentDB Azure i podaj jego parametry połączenia.
Wybierz subskrypcję, grupę zasobów i konto Azure DocumentDB z list rozwijanych.
Podaj parametry połączenia do konta usługi Azure DocumentDB.
Upewnij się, że adres IP wymieniony na ekranie jest dozwolony w zaporze DocumentDB w Azure.
Wybierz przycisk Dalej, aby kontynuować.
Krok 3. Wybieranie Database Migration Service(DMS)
Azure Database Migration Service to usługa, która migruje dane do i z platform danych Azure przy użyciu infrastruktury chmury do transferu danych, zamiast polegać na zasobach lokalnych. Wybierz istniejące wystąpienie 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 subskrypcji. Wystarczy to zrobić tylko raz dla każdej subskrypcji.
Wybierz przycisk Dalej, aby kontynuować.
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 na temat modelu sieci, zobacz Łączność publiczna. Aby uzyskać wskazówki dotyczące konfiguracji zapory, zobacz konfigurowanie zapory klastra usługi Azure DocumentDB.
Łączność prywatna
W przypadku łączności prywatnej zadanie migracji jest uruchamiane w sieci wirtualnej. Aby bezpiecznie komunikować się z sieciami wirtualnymi, używamy peeringu wirtualnych sieci. Aby uzyskać więcej informacji na temat modelu sieci, zobacz Łączność prywatna.
Narzędzie umożliwia połączenie równorzędne z dwiema sieciami wirtualnymi: jedną dla źródła, a drugą dla celu. W zależności od konfiguracji sieci wybierz z listy rozwijanej subskrypcję, grupę zasobów i sieci wirtualne.
W sekcji Konfiguracja usługi DMS wybierz zakres CIDR, który nie powoduje konfliktu z sieciami wirtualnymi.
Uruchom skrypty programu PowerShell podane na ekranie, aby włączyć integrację sieci wirtualnej.
Wybierz przycisk Dalej, aby kontynuować.
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ć.
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 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.
Aby wyświetlić stan kolekcji, wybierz wiersz z tabeli.
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:
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.
Gdy wszystko będzie gotowe do przeprowadzenia migracji jednorazowej, zatrzymaj wszystkie transakcje przychodzące do migrowanych kolekcji źródłowych.
Luka replikacji pokazuje przerwę czasową między ostatnią aktualizacją a bieżącym czasem.
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.
Wybierz pozycję Cutover , gdy luka replikacji jest minimalna dla wszystkich kolekcji, a metryka Odtwarzane zmiany replikacji jest stabilna.
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.
Scenariusze migracji
Rozszerzenie migracji Azure DocumentDB obsługuje kilka środowisk źródłowych, w tym wystąpień bazy danych MongoDB działających w Azure, lokalnych centrach danych i innych dostawcach chmury. Rozszerzenie zapewnia elastyczne opcje łączności, aby uwzględnić różne konfiguracje sieci i wymagania dotyczące zabezpieczeń.
Obsługiwane środowiska źródłowe
Poniższa tabela zawiera podsumowanie obsługiwanych źródeł migracji:
| Środowisko źródłowe | Description |
|---|---|
| W ramach Azure | Wystąpienia bazy danych MongoDB uruchomione na Azure Virtual Machines lub w innych usługach hostowanych Azure |
| Na miejscu | Serwery Bazy danych MongoDB uruchomione w lokalnym centrum danych lub w infrastrukturze prywatnej |
| Inni dostawcy usług w chmurze | Wystąpienia bazy danych MongoDB hostowane na innych platformach w chmurze |
Łączność publiczna
W trybie łączności publicznej Azure Database Migration Service (DMS) łączy się z serwerami źródłowymi i docelowymi za pośrednictwem publicznego Internetu. Usługa DMS udostępnia statyczne adresy IP, które dodajesz do list dozwolonych w zaporze na serwerach źródłowych i docelowych. Usługa DMS używa udostępnionej publicznej sieci wirtualnej dla wszystkich migracji w danym regionie. Mimo że ta sieć wirtualna jest współużytkowana przez klientów, każde zadanie migracji uruchamiane jest na własnym, izolowanym, prywatnym węźle roboczym, co zapewnia izolację na poziomie zadania roboczego.
Użyj łączności publicznej, gdy:
- Serwery źródłowe i docelowe są dostępne za pośrednictwem publicznych adresów IP.
- Zasady zabezpieczeń organizacji zezwalają na połączenia za pośrednictwem publicznego Internetu.
- Potrzebna jest prostsza konfiguracja bez konfiguracji sieci wirtualnej.
Aby włączyć łączność publiczną:
W kreatorze migracji wybierz pozycję Publiczny jako tryb łączności.
Zanotuj statyczne adresy IP wyświetlane w kreatorze.
Dodaj te adresy IP do listy dozwolonych zapory na źródłowym serwerze MongoDB.
Dodaj te adresy IP do zapory Azure DocumentDB.
Łączność prywatna
W trybie łączności prywatnej usługa DMS udostępnia dedykowaną prywatną sieć wirtualną dla każdego zadania migracji i zestawia połączenie z sieciami wirtualnymi źródłowymi i docelowymi. Oznacza to, że każda praca ma przydzielone zarówno izolowane węzły robocze, jak i izolowaną sieć, co zapewnia, że żaden ruch nie przenika się między pracami i nie istnieją współdzielone ścieżki sieciowe między klientami.
Rozszerzenie obsługuje maksymalnie dwie sieci wirtualne:
- Źródłowa sieć wirtualna: sieć wirtualna, w której jest dostępny źródłowy serwer MongoDB.
- Target virtual network: sieć wirtualna, w której jest dostępny klaster usługi Azure DocumentDB.
Użyj łączności prywatnej, gdy:
- Serwery źródłowe lub docelowe nie są dostępne za pośrednictwem publicznego Internetu.
- Twoja organizacja wymaga, aby cały ruch przepływł przez sieci prywatne.
- Należy unikać publicznej ekspozycji w Internecie.
Od innych dostawców usług w chmurze lub lokalnie
Użyj preferowanych narzędzi sieci VPN, aby skonfigurować łączność sieciową między Azure a środowiskiem źródłowym w innej chmurze lub środowisku lokalnym.
Z prywatnego punktu końcowego w Azure
Skonfiguruj prywatne punkty końcowe dla źródłowych i docelowych sieci wirtualnych.
Aby włączyć łączność prywatną:
W kreatorze migracji wybierz pozycję Prywatny jako tryb łączności.
Wybierz subskrypcję, grupę zasobów i sieć wirtualną dla środowiska źródłowego.
Wybierz subskrypcję, grupę zasobów i sieć wirtualną dla środowiska docelowego.
W sekcji Konfiguracja usługi DMS wybierz zakres CIDR, który nie powoduje konfliktu z istniejącymi sieciami wirtualnymi.
Uruchom skrypty programu PowerShell podane w kreatorze, aby włączyć integrację sieci wirtualnej i komunikację równorzędną.
Ważne
W przypadku korzystania z dostępu prywatnego pojedyncza sieć wirtualna może obsługiwać tylko jedno aktywne zadanie migracji jednocześnie. Aby uruchomić wiele współbieżnych zadań, użyj różnych sieci wirtualnych dla każdego zadania.
Zarejestruj dostawcę zasobów Microsoft.DataMigration w swojej subskrypcji.
Aby upewnić się, że dostawca zasobów Microsoft.DataMigration jest zarejestrowany w subskrypcji, możesz wykonać następujące kroki:
Azure portal
Przejdź do portalu Azure i przejdź do subskrypcji.
W menu po lewej stronie wybierz pozycję Dostawcy zasobów w obszarze Ustawienia.
Wyszukaj Microsoft. DataMigration w polu wyszukiwania u góry.
Jeśli nie został zarejestrowany, wybierz go i wybierz przycisk Zarejestruj .
Azure CLI
Otwórz Azure Cloud Shell lub terminal lokalny.
Uruchom następujące polecenie, aby zarejestrować dostawcę zasobów:
az provider register --namespace Microsoft.DataMigration
PowerShell
Otwórz Azure Cloud Shell lub lokalny program PowerShell.
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?
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?
Kreator migracji w programie VS Code wymaga łączności sieciowej z komputera lokalnego do środowisk źródłowych i docelowych. Ta łączność służy do wyliczania baz danych i kolekcji oraz przesyłania zadania migracji. Po przesłaniu zadania możesz zamknąć program VS Code lub odłączyć się od środowisk źródłowych i docelowych.
Migracja danych jest wykonywana w całości przez usługę Azure Database Migration Service (DMS) usługę hostowaną Azure, która zarządza wszystkimi ruchem danych. Usługa DMS nie korzysta z komputera lokalnego ani programu VS Code na potrzeby wykonywania zadań, więc łączność lokalna nie jest wymagana po przesłaniu zadania.
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ć nieograniczoną liczbę kolekcji.
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