Przenoszenie konta NoSQL usługi Azure Cosmos DB do innego regionu
Istnieją różne powody, dla których możesz przenieść istniejące zasoby platformy Azure z jednego regionu do innego. Możesz chcieć:
- Skorzystaj z nowego regionu świadczenia usługi Azure.
- Wdrażanie funkcji lub usług dostępnych tylko w określonych regionach.
- Spełnij wymagania dotyczące zasad wewnętrznych i ładu.
- Dopasowanie do fuzji i przejęć firmy
- Spełnianie wymagań dotyczących planowania pojemności.
W tym artykule opisano sposób wykonywania następujących czynności:
- Przenieś region, w którym dane są replikowane w usłudze Azure Cosmos DB.
- Migrowanie metadanych i danych konta (Azure Resource Manager) z jednego regionu do innego.
Wymagania wstępne
Rejestracja aplikacji musi zostać utworzona z delegowanymi uprawnieniami do wystąpienia źródłowej i docelowej grupy zasobów oraz uprawnienia "Uprawnienia interfejsu API" dla elementu "User.ReadBasic.All".
Wybrany interfejs API usługi Cosmos DB musi pozostać taki sam z lokalizacji źródłowej do docelowej. W tym dokumencie jest używany interfejs API bazy danych SQL.
Nazwy kont muszą być ograniczone do 44 znaków, wszystkie małe litery.
Podczas dodawania lub usuwania lokalizacji na koncie usługi Azure Cosmos nie można jednocześnie modyfikować innych właściwości.
Zidentyfikuj wszystkie zasoby zależne usługi Cosmos DB.
Przestój
Zagadnienia dotyczące punktów końcowych usługi
Punkty końcowe usługi sieci wirtualnej dla usługi Azure Cosmos DB ograniczają dostęp do określonej sieci wirtualnej. Punkty końcowe mogą również ograniczyć dostęp do listy zakresów adresów IPv4 (protokół internetowy w wersji 4). Każdy użytkownik nawiązujący połączenie z usługą Event Hubs spoza tych źródeł nie ma dostępu. Jeśli punkty końcowe usługi zostały skonfigurowane w regionie źródłowym dla zasobu usługi Event Hubs, należy to zrobić w tym samym miejscu docelowym.
W celu pomyślnego odtworzenia usługi Azure Cosmos DB w regionie docelowym należy wcześniej utworzyć sieć wirtualną i podsieć. W przypadku przenoszenia tych dwóch zasobów za pomocą narzędzia Azure Resource Mover punkty końcowe usługi nie będą konfigurowane automatycznie. W związku z tym należy je skonfigurować ręcznie, co można zrobić za pośrednictwem witryny Azure Portal, interfejsu wiersza polecenia platformy Azure lub programu Azure PowerShell.
Ponowne wdrażanie bez danych
W przypadku, gdy wystąpienie usługi Cosmos DB musi zostać przeniesione samodzielnie bez konfiguracji i danych klienta, można utworzyć samo wystąpienie przy użyciu bazy danych Microsoft.DocumentDBAccounts
Ponowne wdrażanie przy użyciu danych
Usługa Azure Cosmos DB obsługuje natywną replikację danych, dlatego przenoszenie danych z jednego regionu do innego jest proste. Można to zrobić przy użyciu witryny Azure Portal, programu Azure PowerShell lub interfejsu wiersza polecenia platformy Azure. Obejmuje to następujące kroki:
Dodaj nowy region do konta.
Aby dodać nowy region do konta usługi Azure Cosmos DB, zobacz Dodawanie/usuwanie regionów do konta usługi Azure Cosmos DB.
Wykonaj ręczne przejście w tryb failover do nowego regionu.
Gdy region, który jest obecnie usuwany, jest regionem zapisu dla konta, musisz uruchomić tryb failover w nowym regionie dodanym w poprzednim kroku. Jest to operacja bez przestoju. Jeśli przenosisz region odczytu na koncie z wieloma regionami, możesz pominąć ten krok.
Aby uruchomić tryb failover, zobacz Wykonywanie ręcznego przejścia w tryb failover na koncie usługi Azure Cosmos DB.
Usuń oryginalny region.
Aby usunąć region z konta usługi Azure Cosmos DB, zobacz Dodawanie/usuwanie regionów z konta usługi Azure Cosmos DB.
Uwaga
Jeśli wykonasz operację trybu failover lub dodasz/usuń nowy region, podczas gdy operacja skalowania przepływności asynchronicznej jest w toku, operacja skalowania przepływności zostanie wstrzymana. Zostanie ona wznowiona automatycznie po zakończeniu operacji przełączania w tryb failover lub dodawania/usuwania regionu.
Ponowne wdrażanie metadanych konta usługi Azure Cosmos DB
Usługa Azure Cosmos DB nie obsługuje natywnie migrowania metadanych konta z jednego regionu do innego. Aby przeprowadzić migrację metadanych konta i danych klientów z jednego regionu do innego, musisz utworzyć nowe konto w żądanym regionie, a następnie skopiować dane ręcznie.
Ważne
Nie jest konieczne przeprowadzenie migracji metadanych konta, jeśli dane są przechowywane lub przenoszone do innego regionu. Region, w którym znajdują się metadane konta, nie ma wpływu na wydajność, zabezpieczenia ani inne aspekty operacyjne konta usługi Azure Cosmos DB.
Migracja niemal zerowego przestoju dla interfejsu API dla noSQL wymaga użycia zestawienia zmian lub narzędzia, które go używa.
W poniższych krokach pokazano, jak przeprowadzić migrację konta usługi Azure Cosmos DB dla interfejsu API dla noSQL i jego danych z jednego regionu do innego:
Utwórz nowe konto usługi Azure Cosmos DB w żądanym regionie.
Aby utworzyć nowe konto za pośrednictwem witryny Azure Portal, programu PowerShell lub interfejsu wiersza polecenia platformy Azure, zobacz Tworzenie konta usługi Azure Cosmos DB.
Utwórz nową bazę danych i kontener.
Aby utworzyć nową bazę danych i kontener, zobacz Tworzenie kontenera usługi Azure Cosmos DB.
Migrowanie danych przy użyciu przykładu migracji na żywo łącznika spark usługi Azure Cosmos DB.
Aby przeprowadzić migrację danych z niemal zerowym przestojem, zobacz Live Migrate Azure Cosmos DB SQL API Containers data with Spark Connector (Migrowanie danych kontenerów interfejsu API SQL usługi Azure Cosmos DB za pomocą łącznika spark).
Zaktualizuj parametry połączenia aplikacji.
Gdy przykład migracji danych na żywo jest nadal uruchomiony, zaktualizuj informacje o połączeniu w nowym wdrożeniu aplikacji. Punkty końcowe i klucze aplikacji można pobrać z witryny Azure Portal.
Przekieruj żądania do nowej aplikacji.
Po nawiązaniu połączenia nowej aplikacji z usługą Azure Cosmos DB możesz przekierować żądania klientów do nowego wdrożenia.
Usuń wszystkie zasoby, których już nie potrzebujesz.
Po pełnym przekierowaniu żądań do nowego wystąpienia możesz usunąć stare konto usługi Azure Cosmos DB i zatrzymać przykład Live Data Migrator.
Następne kroki
Aby uzyskać więcej informacji i przykładów dotyczących zarządzania kontem usługi Azure Cosmos DB, a także bazami danych i kontenerami, przeczytaj następujące artykuły: