Tworzenie i używanie repliki klastra między regionami w usłudze Azure Cosmos DB dla rdzeni wirtualnych bazy danych MongoDB
W tym przewodniku utworzysz replikę klastra w innym regionie dla klastra rdzeni wirtualnych usługi Azure Cosmos DB dla bazy danych MongoDB na potrzeby odzyskiwania po awarii. Ten klaster repliki przechowuje kopię wszystkich zasobów bazy danych MongoDB — baz danych, kolekcji i dokumentów — w innym regionie świadczenia usługi Azure. Klaster repliki udostępnia unikatowy punkt końcowy dla różnych narzędzi i zestawów SDK, z którymi można nawiązać połączenie i może zostać podwyższony, aby uzyskać dostęp do zapisów, jeśli wystąpi awaria regionu podstawowego.
Wymagania wstępne
- Konto platformy Azure z aktywną subskrypcją. Utwórz konto bezpłatnie.
- Powłoka bazy danych MongoDB
Tworzenie nowego klastra i jego repliki w innym regionie
Utwórz klaster Bazy danych MongoDB z repliką do odczytu klastra w innym regionie przy użyciu usługi Azure Cosmos DB dla rdzeni wirtualnych bazy danych MongoDB.
Napiwek
W tym przewodniku zalecamy użycie nazwy msdocs-cosmos-quickstart-rg
grupy zasobów .
Zaloguj się w witrynie Azure Portal.
W menu witryny Azure Portal lub na stronie głównej wybierz pozycję Utwórz zasób.
Na stronie Nowa wyszukaj i wybierz usługę Azure Cosmos DB.
Na stronie Który interfejs API najlepiej odpowiada twojemu obciążeniu? wybierz opcję Utwórz w sekcji Azure Cosmos DB for MongoDB .
Na stronie Jakiego typu zasobu? wybierz opcję Utwórz w sekcji Klaster rdzeni wirtualnych. Aby uzyskać więcej informacji, zobacz omówienie architektury rdzeni wirtualnych w usłudze Azure Cosmos DB dla bazy danych MongoDB.
Na stronie Tworzenie klastra usługi Azure Cosmos DB dla bazy danych MongoDB wybierz opcję Konfiguruj w sekcji Warstwa klastra.
Na stronie Skalowanie pozostaw opcje ustawione na wartości domyślne:
Ustawienie Wartość Liczba fragmentów 1 fragment Warstwa klastra Warstwa M30, 2 rdzenie wirtualne, 8 GiB RAM Storage 128 GiB Usuń zaznaczenie opcji Wysoka dostępność . W sekcji potwierdzania wysokiej dostępności wybierz pozycję Rozumiem. Na koniec wybierz pozycję Zapisz , aby utrwały zmiany konfiguracji klastra.
Wysoka dostępność w regionie zapewnia rozwiązanie w regionie, w którym kopia danych z każdego fragmentu w klastrze jest przesyłana strumieniowo do jego odpowiednika rezerwowego znajdującego się w tym samym regionie, ale w innej strefie dostępności (AZ). Wysoka dostępność używa replikacji synchronicznej z zerową utratą danych i automatycznym wykrywaniem awarii i trybem failover, zachowując parametry połączenia nienaruszone po przejściu w tryb failover. Wysoka dostępność może być włączona w klastrze podstawowym w celu uzyskania dodatkowej warstwy ochrony przed awariami.
Po powrocie na stronę klastra wprowadź następujące informacje:
Ustawienie Wartość Opis Subskrypcja Nazwa subskrypcji Wybierz subskrypcję platformy Azure, której chcesz użyć dla tego klastra usługi Azure Cosmos DB dla bazy danych MongoDB i jego klastra repliki. Grupa zasobów Nazwa grupy zasobów Wybierz grupę zasobów lub wybierz pozycję Utwórz nową, a następnie wprowadź unikatową nazwę nowej grupy zasobów. Nazwa klastra Globalnie unikatowa nazwa Wprowadź nazwę, aby zidentyfikować klaster usługi Azure Cosmos DB dla bazy danych MongoDB. Nazwa jest używana jako część w pełni kwalifikowanej nazwy domeny (FQDN) z sufiksem mongodbcluster.cosmos.azure.com, więc nazwa musi być globalnie unikatowa. Nazwa może zawierać tylko małe litery, cyfry i znaki łącznika (-). Nazwa musi również mieć długość od 3 do 40 znaków. Lokalizacja Region najbliżej Twoich użytkowników Wybierz lokalizację geograficzną do hostowania klastra usługi Azure Cosmos DB dla bazy danych MongoDB z funkcjami odczytu i zapisu — klastrem podstawowym. Użyj lokalizacji znajdującej się najbliżej Twoich użytkowników, aby zapewnić im najszybszy dostęp do danych. Wersja bazy danych MongoDB Wersja bazy danych MongoDB do uruchomienia w klastrze Ta wartość jest ustawiona na wartość domyślną najnowszej dostępnej wersji bazy danych MongoDB. Nazwa użytkownika administratora Podaj nazwę użytkownika, aby uzyskać dostęp do klastra Ten użytkownik jest tworzony w klastrze jako administrator użytkownika. Hasło Używanie unikatowego hasła do parowania z nazwą użytkownika Hasło musi zawierać co najmniej 8 znaków i co najwyżej 128 znaków. Wybierz pozycję Dalej: Dystrybucja globalna.
Na karcie Dystrybucja globalna wybierz pozycję Włącz dla repliki do odczytu w innym regionie, aby utworzyć replikę do odczytu klastra w ramach tej nowej podstawowej aprowizacji klastra.
W polu Nazwa repliki do odczytu wprowadź nazwę repliki do odczytu klastra. Powinna to być globalnie unikatowa nazwa klastra.
Wybierz wartość z listy rozwijanej Region repliki do odczytu.
Wybierz pozycję Dalej: Sieć.
Na karcie Sieć wybierz pozycję Dodaj bieżący adres IP klienta, aby utworzyć regułę zapory z publicznym adresem IP komputera, postrzeganym przez system platformy Azure.
Przed zapisaniem tej konfiguracji sprawdź swój adres IP. W niektórych sytuacjach adres IP obserwowany przez witrynę Azure Portal różni się od adresu IP używanego podczas uzyskiwania dostępu do Internetu i usług platformy Azure. W związku z tym może być konieczne zmianę początkowego adresu IP i końcowego adresu IP, aby reguła działała zgodnie z oczekiwaniami. Użyj wyszukiwarki lub innego narzędzia online, aby sprawdzić własny adres IP. Na przykład wyszukaj mój adres IP.
Możesz również dodać regułę zapory 0.0.0.0-255.255.255.255, aby zezwolić nie tylko na dostęp do twojego adresu IP, ale całego Internetu w celu uzyskania dostępu do klastra. W takiej sytuacji klienci nadal muszą logować się przy użyciu poprawnej nazwy użytkownika i hasła, aby korzystać z klastra. Niemniej jednak najlepiej jest zezwolić na dostęp na całym świecie tylko przez krótki czas i tylko dla nieprodukcyjnych baz danych.
Wybierz pozycję Przejrzyj i utwórz.
Przejrzyj podane ustawienia, a następnie wybierz pozycję Utwórz. Utworzenie klastra trwa kilka minut. Przed przejściem poczekaj na wyświetlenie strony portalu, aby wyświetlić Wdrożenie zostało ukończone .
Wybierz pozycję Przejdź do zasobu , aby przejść do strony klastra usługi Azure Cosmos DB dla bazy danych MongoDB.
Nawiązywanie połączenia z klastrem podstawowym i pozyskiwanie danych
Pobierz parametry połączenia musisz połączyć się z klastrem podstawowym (odczyt-zapis) w witrynie Azure Portal.
Na stronie podstawowego klastra podstawowego usługi Azure Cosmos DB for MongoDB wybierz opcję menu nawigacji Parametry połączenia w obszarze Ustawienia.
Skopiuj wartość z pola Self (zawsze ten klaster).
W wierszu polecenia użyj powłoki Bazy danych MongoDB, aby nawiązać połączenie z klastrem podstawowym przy użyciu parametry połączenia.
mongosh "mongodb+srv://<user>@<primary_cluster_name>.mongocluster.cosmos.azure.com/?tls=true&authMechanism=SCRAM-SHA-256&retrywrites=false&maxIdleTimeMS=120000"
Pozyskiwanie danych
Utwórz plik skryptu my_script.js , aby uruchomić go z poziomu powłoki bazy danych MongoDB.
let dogDocs = [
{
name: "pooch",
breed: "poodle",
weight: "6 lbs"
},
{
name: "mutt",
breed: "bulldog",
weight: "10 lbs"
}
];
let catDocs = [
{
name: "minni",
breed: "persian",
color: "white"
},
{
name: "tinkle",
breed: "bombay",
color: "black"
}
];
let dogIndex = { name : 1 };
let catIndex = { name : 1 };
let collInfoObjs = [
{ coll: "dogs", data: dogDocs, index: dogIndex },
{ coll: "cats", data: catDocs, index: catIndex }
];
for (obj of collInfoObjs) {
db[obj.coll].insertMany(obj.data);
db[obj.coll].createIndex(obj.index);
}
Ten plik skryptu tworzy dwie kolekcje i wstawia dokumenty z danymi do tych kolekcji. Zapisz plik my_script.js w folderze dostępnym dla sesji powłoki Bazy danych MongoDB.
Uruchom skrypt z powłoki MongoDB połączonej z podstawowym klastrem Bazy danych MongoDB.
load(my_script.js);
W powłoce bazy danych MongoDB połączonej z podstawowym klastrem Bazy danych MongoDB odczytuje dane z bazy danych.
db.dogs.find();
db.cats.find();
Włączanie dostępu do klastra repliki
Ważne
Klastry replik są zawsze tworzone z wyłączonym dostępem do sieci. Reguły zapory należy dodać lub utworzyć prywatne punkty końcowe w klastrze repliki po jej utworzeniu w celu włączenia operacji odczytu.
Na stronie klastra podstawowego usługi Azure Cosmos DB dla bazy danych MongoDB wybierz stronę globalnej dystrybucji w obszarze Ustawienia.
Wybierz nazwę repliki klastra w polu Replika do odczytu, aby otworzyć właściwości repliki klastra do odczytu w witrynie Azure Portal.
Na stronie klastra repliki rdzeni wirtualnych bazy danych MongoDB w obszarze Ustawienia wybierz pozycję Sieć.
Na stronie Sieć wybierz pozycję Dodaj bieżący adres IP klienta, aby utworzyć regułę zapory z publicznym adresem IP komputera, co jest postrzegane przez system platformy Azure.
Przed zapisaniem tej konfiguracji sprawdź swój adres IP. W niektórych sytuacjach adres IP obserwowany przez witrynę Azure Portal różni się od adresu IP używanego podczas uzyskiwania dostępu do Internetu i usług platformy Azure. Możesz również dodać regułę zapory 0.0.0.0-255.255.255.255, aby zezwolić nie tylko na dostęp do twojego adresu IP, ale całego Internetu w celu uzyskania dostępu do klastra. W takiej sytuacji klienci nadal muszą logować się przy użyciu poprawnej nazwy użytkownika i hasła, aby korzystać z klastra.
Wybierz pozycję Zapisz na pasku narzędzi, aby zapisać ustawienia. Zaktualizowanie ustawień sieci może potrwać kilka minut.
Nawiązywanie połączenia z klastrem repliki do odczytu w innym regionie i odczytywanie danych
Pobierz parametry połączenia repliki klastra do odczytu w innym regionie.
Na pasku bocznym klastra repliki w obszarze Zarządzanie klastrem wybierz pozycję Parametry połączenia.
Skopiuj wartość z pola Parametry połączenia.
Ważne
Parametry połączenia klastra repliki do odczytu zawiera unikatową nazwę klastra repliki wybraną podczas tworzenia repliki. Wartości nazwy użytkownika i hasła dla klastra repliki do odczytu są zawsze takie same jak w klastrze podstawowym.
W wierszu polecenia użyj powłoki MongDB, aby nawiązać połączenie z klastrem repliki do odczytu przy użyciu jej parametry połączenia.
mongosh "mongodb+srv://<user>@<cluster_replica_name>.mongocluster.cosmos.azure.com/?tls=true&authMechanism=SCRAM-SHA-256&retrywrites=false&maxIdleTimeMS=120000"
Odczytywanie danych z klastra repliki
W powłoce bazy danych MongoDB połączonej z klastrem repliki odczytuje dane z bazy danych.
db.dogs.find();
db.cats.find();
Podwyższanie poziomu klastra repliki
Aby podwyższyć poziom repliki do odczytu i zapisu klastra, wykonaj następujące kroki:
Wybierz klaster repliki do odczytu w portalu.
Na pasku bocznym klastra w obszarze Zarządzanie klastrem wybierz pozycję Dystrybucja globalna.
Na stronie Dystrybucja globalna wybierz pozycję Podwyższ poziom na pasku narzędzi, aby zainicjować podwyższanie poziomu repliki do odczytu do klastra odczytu i zapisu.
W oknie podręcznym Podwyższanie poziomu klastra upewnij się, że rozumiesz, jak działa podwyższenie poziomu repliki, a następnie wybierz pozycję Podwyższ poziom. Podwyższenie poziomu repliki może potrwać kilka minut.
Zapis do promowanej repliki klastra
Po zakończeniu podwyższania poziomu repliki promowana replika staje się dostępna dla zapisów, a poprzedni klaster podstawowy jest ustawiony na tylko do odczytu.
Użyj powłoki MongDB w wierszu polecenia, aby nawiązać połączenie z promowanym klastrem repliki przy użyciu jego parametry połączenia.
mongosh "mongodb+srv://<user>@<promoted_replica_cluster_name>.mongocluster.cosmos.azure.com/?tls=true&authMechanism=SCRAM-SHA-256&retrywrites=false&maxIdleTimeMS=120000"
W sesji powłoki MongoDB wykonaj operację zapisu.
db.createCollection('foxes')
Użyj powłoki MongDB w wierszu polecenia, aby nawiązać połączenie z nowym klastrem repliki (byłym klastrem podstawowym) przy użyciu jego parametry połączenia. Możesz użyć parametry połączenia samodzielnej lub globalnej parametry połączenia odczytu i zapisu.
mongosh "mongodb+srv://<user>@<new_replica_cluster_name>.mongocluster.cosmos.azure.com/?tls=true&authMechanism=SCRAM-SHA-256&retrywrites=false&maxIdleTimeMS=120000"
W powłoce bazy danych MongoDB upewnij się, że zapisy są teraz wyłączone w nowej repliki (były klaster podstawowy).
db.createCollection('bears')