Tworzenie eksperymentu chaosu, który używa błędu bezpośredniego usługi do przełączania wystąpienia usługi Azure Cosmos DB w tryb failover

Możesz użyć eksperymentu chaosu, aby sprawdzić, czy aplikacja jest odporna na błędy, powodując te błędy w kontrolowanym środowisku. W tym artykule tworzysz tryb failover usługi Azure Cosmos DB z wieloma odczytami i jednym zapisem przy użyciu eksperymentu chaosu i usługi Azure Chaos Studio. Uruchomienie tego eksperymentu może pomóc w obronie przed utratą danych w przypadku wystąpienia zdarzenia trybu failover.

Możesz użyć tych samych kroków, aby skonfigurować i uruchomić eksperyment dla dowolnego błędu bezpośredniego usługi. Błąd bezpośredni usługi działa bezpośrednio w odniesieniu do zasobu platformy Azure bez konieczności instrumentacji. Błędy oparte na agencie wymagają zainstalowania agenta chaosu.

Wymagania wstępne

Włączanie programu Chaos Studio na koncie usługi Azure Cosmos DB

Program Chaos Studio nie może wstrzyknąć błędów względem zasobu, chyba że ten zasób został dodany do programu Chaos Studio. Zasób można dodać do programu Chaos Studio, tworząc element docelowy i możliwości w zasobie. Konta usługi Azure Cosmos DB mają tylko jeden typ docelowy (usługa bezpośredni) i jedną funkcję (tryb failover). Inne zasoby mogą mieć maksymalnie dwa typy docelowe. Jeden typ docelowy dotyczy błędów bezpośrednich usługi. Innym typem docelowym są błędy oparte na agencie. Inne zasoby mogą mieć wiele innych możliwości.

  1. Otwórz portal Azure Portal.

  2. Wyszukaj pozycję Chaos Studio na pasku wyszukiwania.

  3. Wybierz pozycję Cele i przejdź do konta usługi Azure Cosmos DB.

    Screenshot that shows the Targets view in the Azure portal.

  4. Zaznacz pole wyboru obok konta usługi Azure Cosmos DB. Wybierz pozycję Włącz elementy docelowe, a następnie z menu rozwijanego wybierz pozycję Włącz obiekty docelowe bezpośrednio w usłudze.

    Screenshot that shows enabling targets in the Azure portal.

  5. Upewnij się, że żądany zasób znajduje się na liście. Wybierz pozycję Przejrzyj i włącz, a następnie pozycję Włącz.

  6. Zostanie wyświetlone powiadomienie wskazujące, że wybrane zasoby zostały pomyślnie włączone.

    Screenshot that shows a notification showing the target was successfully enabled.

Konto usługi Azure Cosmos DB zostało pomyślnie dodane do programu Chaos Studio. W widoku Cele można również zarządzać funkcjami włączonymi dla tego zasobu. Wybranie linku Zarządzaj akcjami obok zasobu spowoduje wyświetlenie możliwości dla tego zasobu.

Tworzenie eksperymentu

Teraz możesz utworzyć eksperyment. Eksperyment chaosu definiuje akcje, które chcesz wykonać względem zasobów docelowych. Akcje są zorganizowane i uruchamiane w krokach sekwencyjnych. Eksperyment chaosu definiuje również akcje, które mają być wykonywane względem gałęzi, które są uruchamiane równolegle.

  1. Wybierz kartę Eksperymenty w programie Chaos Studio. W tym widoku można zobaczyć wszystkie eksperymenty chaosu i zarządzać nimi. Wybierz pozycję Utwórz>nowy eksperyment.

    Screenshot that shows the Experiments view in the Azure portal.

  2. Wypełnij pola Subskrypcja, Grupa zasobów i Lokalizacja, w których chcesz wdrożyć eksperyment chaosu. Nadaj eksperymentowi nazwę. Wybierz pozycję Dalej: Projektant eksperymentów.

    Screenshot that shows adding basic experiment details.

  3. Jesteś teraz w projektancie eksperymentów Chaos Studio. Projektant eksperymentów umożliwia kompilowanie eksperymentu przez dodawanie kroków, gałęzi i błędów. Nadaj przyjazną nazwę krokowi i gałęzi, a następnie wybierz pozycję Dodaj akcję > Dodaj błąd.

    Screenshot that shows the experiment designer.

  4. Wybierz pozycję Tryb failover usługi CosmosDB z listy rozwijanej. Wypełnij pole Duration (Czas trwania ) z liczbą minut, przez które ma trwać niepowodzenie, i przeczytaj Region z regionem odczytu konta usługi Azure Cosmos DB. Wybierz pozycję Dalej: Zasoby docelowe.

    Screenshot that shows fault properties.

  5. Wybierz konto usługi Azure Cosmos DB i wybierz pozycję Dalej.

    Screenshot that shows adding a target.

  6. Sprawdź, czy eksperyment wygląda poprawnie, a następnie wybierz pozycję Przejrzyj i utwórz.>

    Screenshot that shows reviewing and creating an experiment.

Nadaj eksperymentowi uprawnienie do zasobu docelowego

Podczas tworzenia eksperymentu chaosu program Chaos Studio tworzy tożsamość zarządzaną przypisaną przez system, która wykonuje błędy względem zasobów docelowych. Ta tożsamość musi mieć odpowiednie uprawnienia do zasobu docelowego, aby eksperyment został pomyślnie uruchomiony. Te kroki można wykonać dla dowolnego zasobu i typu docelowego, modyfikując przypisanie roli w kroku 3, aby dopasować odpowiednią rolę dla tego zasobu i typu docelowego.

  1. Przejdź do konta usługi Azure Cosmos DB i wybierz pozycję Kontrola dostępu (Zarządzanie dostępem i tożsamościami).

    Screenshot that shows the Azure Cosmos DB Overview page.

  2. Wybierz pozycję Dodaj>Dodaj przypisanie roli.

    Screenshot that shows the Access control overview.

  3. Wyszukaj pozycję Operator usługi Cosmos DB i wybierz rolę. Wybierz Dalej.

    Screenshot that shows assigning the Azure Cosmos DB Operator role.

  4. Wybierz pozycję Wybierz członków i wyszukaj nazwę eksperymentu. Wybierz swój eksperyment i wybierz pozycję Wybierz. Jeśli w tej samej dzierżawie istnieje wiele eksperymentów o tej samej nazwie, nazwa eksperymentu zostanie obcięta z dodanymi losowymi znakami.

    Screenshot that shows adding an experiment to a role.

  5. Wybierz pozycję Przeglądanie i przypisywanie recenzji i przypisywania>.

Uruchamianie eksperymentu

Teraz możesz przystąpić do uruchamiania eksperymentu. Aby zobaczyć efekt, zalecamy otwarcie przeglądu konta usługi Azure Cosmos DB i przejście do pozycji Replikowanie danych globalnie na osobnej karcie przeglądarki. Odświeżanie okresowo podczas eksperymentu pokazuje zamianę regionu.

  1. W widoku Eksperymenty wybierz swój eksperyment. Wybierz przycisk Start>OK.
  2. Gdy stan zmieni się na Uruchomiono, wybierz pozycję Szczegóły dla najnowszego przebiegu w obszarze Historia , aby wyświetlić szczegóły uruchomionego eksperymentu.

Następne kroki

Teraz, po uruchomieniu eksperymentu bezpośredniego usługi Azure Cosmos DB, możesz wykonać następujące czynności: