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
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 etapy przed migracją, migracją i po migracji, jak pokazano poniżej.
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.
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.
Jeśli funkcja jest wyłączona, wybierz pozycję Włącz.
Rejestrowanie dostawcy zasobów
Przed utworzeniem pierwszego wystąpienia usługi Database Migration Service zarejestruj dostawcę zasobów Microsoft.DataMigration.
Zaloguj się w witrynie Azure Portal. Wyszukaj i wybierz pozycję Subskrypcje.
Wybierz subskrypcję, w której chcesz utworzyć wystąpienie usługi Azure Database Migration Service, a następnie wybierz pozycję Dostawcy zasobów.
Wyszukaj pozycję migracja, a następnie wybierz pozycję Zarejestruj dla pozycji Microsoft.DataMigration.
Tworzenie wystąpienia
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.
Na ekranie Azure Database Migration Service wybierz polecenie Utwórz.
W obszarze Tworzenie usługi Migration Service określ nazwę usługi, subskrypcji i nowej lub istniejącej grupy zasobów.
Wybierz lokalizację, w której chcesz utworzyć wystąpienie usługi Azure Database Migration Service.
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.
Wybierz warstwę cenową.
Aby uzyskać więcej informacji na temat kosztów i warstw cenowych, zobacz stronę z cennikiem.
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.
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.
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.
Wybierz pozycję + Nowy projekt migracji.
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.
Wybierz polecenie Utwórz i uruchom działanie, aby utworzyć projekt i uruchomić działanie migracji.
Określanie szczegółów źródła
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.
Wybierz pozycję Zapisz.
Określanie szczegółów elementu docelowego
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.
Wybierz pozycję Zapisz.
Mapowanie do docelowych baz danych
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.
Wybierz pozycję Zapisz.
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.
Wybierz pozycję Zapisz.
Na ekranie Podsumowanie migracji w polu tekstowym Nazwa działania określ nazwę działania migracji.
Uruchamianie migracji
Wybierz polecenie Uruchom migrację. Zostanie wyświetlone okno działania migracji, a stan działania to Nie uruchomiono.
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.
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.
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
Próbujesz zaplanować pojemność migracji do usługi Azure Cosmos DB?
- Jeśli wszystko, co wiesz, to liczba rdzeni wirtualnych i serwerów w istniejącym klastrze bazy danych, przeczytaj o szacowaniu jednostek żądań przy użyciu rdzeni wirtualnych lub procesorów wirtualnych
- Jeśli znasz typowe stawki żądań dla bieżącego obciążenia bazy danych, przeczytaj o szacowaniu jednostek żądań przy użyciu planisty pojemności usługi Azure Cosmos DB