Udostępnij za pośrednictwem


Niezawodność w usłudze usuwania identyfikacji usług Azure Health Data Services (wersja zapoznawcza)

W tym artykule opisano obsługę niezawodności w usłudze usuwania identyfikacji (wersja zapoznawcza). Aby uzyskać bardziej szczegółowe omówienie zasad niezawodności na platformie Azure, zobacz Niezawodność platformy Azure.

Odzyskiwanie po awarii między regionami

Odzyskiwanie po awarii dotyczy odzyskiwania po wystąpieniu zdarzeń o dużym wpływie, takich jak klęski żywiołowe lub nieudane wdrożenia, które powodują przestoje i utratę danych. Niezależnie od przyczyny najlepszym rozwiązaniem dla awarii jest dobrze zdefiniowany i przetestowany plan odzyskiwania po awarii oraz projekt aplikacji, który aktywnie obsługuje odzyskiwanie po awarii. Zanim zaczniesz myśleć o tworzeniu planu odzyskiwania po awarii, zobacz Zalecenia dotyczące projektowania strategii odzyskiwania po awarii.

Jeśli chodzi o odzyskiwanie po awarii, firma Microsoft korzysta z modelu wspólnej odpowiedzialności. W modelu wspólnej odpowiedzialności firma Microsoft zapewnia dostępność infrastruktury bazowej i usług platformy. Jednocześnie wiele usług platformy Azure nie replikuje automatycznie danych ani nie wraca z regionu, w którym wystąpił błąd, aby przeprowadzić replikację krzyżową do innego regionu z włączoną obsługą. W przypadku tych usług odpowiadasz za skonfigurowanie planu odzyskiwania po awarii, który działa dla obciążenia. Większość usług uruchamianych na platformie Azure jako usługa (PaaS) oferuje funkcje i wskazówki dotyczące obsługi odzyskiwania po awarii. Funkcje specyficzne dla usługi umożliwiają szybkie odzyskiwanie w celu ułatwienia opracowania planu odzyskiwania po awarii.

Każda usługa usuwania identyfikacji (wersja zapoznawcza) jest wdrażana w jednym regionie świadczenia usługi Azure. Jeśli cały region jest niedostępny lub wydajność jest znacznie obniżona:

  • Funkcje płaszczyzny sterowania ARM są ograniczone do odczytu tylko do odczytu podczas awarii. Metadane usługi (takie jak właściwości zasobu) są zawsze tworzone poza regionem przez firmę Microsoft. Po zakończeniu awarii można odczytywać i zapisywać na płaszczyźnie sterowania.
  • Wszystkie żądania płaszczyzny danych kończą się niepowodzeniem podczas awarii, takich jak anulowanie identyfikacji lub żądania interfejsu API zadań. Żadne dane klientów nie zostaną utracone, ale istnieje możliwość utraty metadanych postępu zadania. Po zakończeniu awarii można odczytywać i zapisywać dane na płaszczyźnie danych.

Samouczek dotyczący odzyskiwania po awarii

Jeśli cały region świadczenia usługi Azure jest niedostępny, nadal możesz zapewnić wysoką dostępność obciążeń. W konfiguracji aktywnej-aktywnej można wdrożyć co najmniej dwie usługi dekonfiguracyjne, a usługa Azure Front Door służy do kierowania ruchu do obu regionów.

W przypadku tej przykładowej architektury:

  • Identyczne usługi usuwania identyfikacji są wdrażane w dwóch oddzielnych regionach.
  • Usługa Azure Front Door służy do kierowania ruchu do obu regionów.
  • Podczas awarii jeden region staje się w trybie offline, a usługa Azure Front Door kieruje ruch wyłącznie do drugiego regionu. Cel czasu odzyskiwania podczas takiego przejścia w tryb failover geograficznego jest ograniczony do czasu, w jakim usługa Azure Front Door wykryje, że jedna usługa jest w złej kondycji.

Cel czasu odzyskiwania i cel punktu odzyskiwania

W przypadku wdrożenia konfiguracji aktywne-aktywne należy oczekiwać celu czasu odzyskiwania (RTO) z 5 minut. W dowolnej konfiguracji należy oczekiwać celu punktu odzyskiwania (RPO) w ciągu 0 minut (żadne dane klienta nie zostaną utracone).

Weryfikowanie planu odzyskiwania po awarii

Wymagania wstępne

Jeśli nie masz subskrypcji platformy Azure, przed rozpoczęciem utwórz bezpłatne konto platformy Azure.

W celu ukończenia tego samouczka:

Tworzenie grupy zasobów

Na potrzeby tego samouczka potrzebne są dwa wystąpienia usługi usuwania identyfikacji (wersja zapoznawcza) w różnych regionach świadczenia usługi Azure. Samouczek korzysta z regionów Wschodnie stany USA i Zachodnie stany USA 2, ale możesz wybrać własne regiony.

Aby ułatwić zarządzanie i czyszczenie, użyj jednej grupy zasobów dla wszystkich zasobów w tym samouczku. Rozważ użycie oddzielnych grup zasobów dla każdego regionu/zasobu, aby dodatkowo odizolować zasoby w sytuacji odzyskiwania po awarii.

Uruchom następujące polecenie, aby utworzyć grupę zasobów.

az group create --name my-deid --location eastus

Tworzenie usług usuwania identyfikacji (wersja zapoznawcza)

Wykonaj kroki opisane w artykule Szybki start: wdrażanie usługi usuwania identyfikacji (wersja zapoznawcza), aby utworzyć dwie oddzielne usługi, jedną w regionie Wschodnie stany USA i jedną w regionie Zachodnie stany USA 2.

Zanotuj adres URL usługi każdej usługi usuwania identyfikacji, aby można było zdefiniować adresy zaplecza podczas wdrażania usługi Azure Front Door w następnym kroku.

Tworzenie usługi Azure Front Door

Wdrożenie w wielu regionach może używać konfiguracji aktywne-aktywne lub aktywne-pasywne. Konfiguracja aktywna-aktywna dystrybuuje żądania w wielu aktywnych regionach. Konfiguracja aktywne-pasywne utrzymuje uruchomione wystąpienia w regionie pomocniczym, ale nie wysyła tam ruchu, chyba że region podstawowy ulegnie awarii. Usługa Azure Front Door ma wbudowaną funkcję, która umożliwia włączenie tych konfiguracji. Aby uzyskać więcej informacji na temat projektowania aplikacji pod kątem wysokiej dostępności i odporności na uszkodzenia, zobacz Projektowanie aplikacji platformy Azure pod kątem odporności i dostępności.

Tworzenie profilu usługi Azure Front Door

Teraz utworzysz usługę Azure Front Door Premium w celu kierowania ruchu do usług.

Uruchom polecenie az afd profile create , aby utworzyć profil usługi Azure Front Door.

Uwaga

Jeśli chcesz wdrożyć usługę Azure Front Door Standard zamiast Premium, zastąp wartość parametru --sku Standard_AzureFrontDoor. W przypadku wybrania warstwy Standardowa nie można wdrożyć reguł zarządzanych za pomocą zasad zapory aplikacji internetowej. Aby uzyskać szczegółowe porównanie warstw cenowych, zobacz Porównanie warstw usługi Azure Front Door.

az afd profile create --profile-name myfrontdoorprofile --resource-group my-deid --sku Premium_AzureFrontDoor
Parametr Wartość Opis
profile-name myfrontdoorprofile Nazwa profilu usługi Azure Front Door, który jest unikatowy w grupie zasobów.
resource-group my-deid Grupa zasobów zawierająca zasoby z tego samouczka.
sku Premium_AzureFrontDoor Warstwa cenowa profilu usługi Azure Front Door.

Dodawanie punktu końcowego usługi Azure Front Door

Uruchom polecenie az afd endpoint create , aby utworzyć punkt końcowy w profilu usługi Azure Front Door. Ten punkt końcowy kieruje żądania do usług. Po zakończeniu tego przewodnika możesz utworzyć wiele punktów końcowych w swoim profilu.

az afd endpoint create --resource-group my-deid --endpoint-name myendpoint --profile-name myfrontdoorprofile --enabled-state Enabled
Parametr Wartość Opis
endpoint-name myendpoint Nazwa punktu końcowego w profilu, który jest unikatowy globalnie.
enabled-state Enabled Czy włączyć ten punkt końcowy.

Tworzenie grupy źródeł usługi Azure Front Door

Uruchom polecenie az afd origin-group create , aby utworzyć grupę pochodzenia zawierającą dwie usługi usuwania identyfikacji.

az afd origin-group create --resource-group my-deid --origin-group-name myorigingroup --profile-name myfrontdoorprofile --probe-request-type GET --probe-protocol Https --probe-interval-in-seconds 60 --probe-path /health --sample-size 1 --successful-samples-required 1 --additional-latency-in-milliseconds 50 --enable-health-probe
Parametr Wartość Opis
origin-group-name myorigingroup Nazwa grupy pochodzenia.
probe-request-type GET Typ wykonanego żądania sondy kondycji.
probe-protocol Https Protokół do użycia dla sondy kondycji.
probe-interval-in-seconds 60 Liczba sekund między sondami kondycji.
probe-path /health Ścieżka względem źródła, który jest używany do określania kondycji źródła.
sample-size 1 Liczba próbek, które należy wziąć pod uwagę podczas podejmowania decyzji dotyczących równoważenia obciążenia.
successful-samples-required 1 Liczba próbek w okresie próby, które muszą zakończyć się powodzeniem.
additional-latency-in-milliseconds 50 Dodatkowe opóźnienie w milisekundach dla sond do przedziału o najniższym opóźnieniu.
enable-health-probe Przełącz się, aby kontrolować stan sondy kondycji.

Dodawanie źródeł do grupy źródeł usługi Azure Front Door

Uruchom polecenie az afd origin create , aby dodać źródło do grupy pochodzenia. --host-name W przypadku parametrów i --origin-host-header zastąp wartość <service-url-east-us> symbolu zastępczego adresem URL usługi Wschodnie stany USA, pomijając schemat (https://). Powinna być widoczna wartość podobna do abcdefghijk.api.eastus.deid.azure.com.

az afd origin create --resource-group my-deid --host-name <service-url-east-us> --profile-name myfrontdoorprofile --origin-group-name myorigingroup --origin-name deid1 --origin-host-header <service-url-east-us> --priority 1 --weight 1000 --enabled-state Enabled --https-port 443
Parametr Wartość Opis
host-name <service-url-east-us> Nazwa hosta podstawowej usługi deidentyfikacji.
origin-name deid1 Nazwa źródła.
origin-host-header <service-url-east-us> Nagłówek hosta do wysłania żądań do tego źródła.
priority 1 Ustaw ten parametr na 1, aby kierować cały ruch do podstawowej usługi usuwania identyfikacji.
weight 1000 Waga źródła w danej grupie pochodzenia na potrzeby równoważenia obciążenia. Musi należeć do zakresu od 1 do 1000.
enabled-state Enabled Czy włączyć to źródło.
https-port 443 Port używany dla żądań HTTPS do źródła.

Powtórz ten krok, aby dodać drugie źródło. --host-name W przypadku parametrów i --origin-host-header zastąp wartość <service-url-west-us-2> symbolu zastępczego adresem URL usługi Zachodnie stany USA 2, pomijając schemat (https://).

az afd origin create --resource-group my-deid --host-name <service-url-west-us-2> --profile-name myfrontdoorprofile --origin-group-name myorigingroup --origin-name deid2 --origin-host-header <service-url-west-us-2> --priority 1 --weight 1000 --enabled-state Enabled --https-port 443

Zwróć uwagę na --priority parametry w obu poleceniach. Ponieważ oba źródła są ustawione na priorytet 1, usługa Azure Front Door traktuje oba źródła jako aktywne i kierują ruch do obu regionów. Jeśli priorytet dla jednego źródła jest ustawiony na 2, usługa Azure Front Door traktuje to źródło jako pomocnicze i kieruje cały ruch do innego źródła, chyba że ulegnie awarii.

Dodawanie trasy usługi Azure Front Door

Uruchom polecenie az afd route create , aby zamapować punkt końcowy na grupę pochodzenia. Ta trasa przekazuje żądania z punktu końcowego do grupy pochodzenia.

az afd route create --resource-group my-deid --profile-name myfrontdoorprofile --endpoint-name myendpoint --forwarding-protocol MatchRequest --route-name route  --origin-group myorigingroup --supported-protocols Https --link-to-default-domain Enabled 
Parametr Wartość Opis
endpoint-name myendpoint Nazwa punktu końcowego.
forwarding-protocol MatchRequest Protokół używany przez tę regułę podczas przekazywania ruchu do zaplecza.
route-name route Nazwa trasy.
supported-protocols Https Lista obsługiwanych protokołów dla tej trasy.
link-to-default-domain Enabled Czy ta trasa jest połączona z domyślną domeną punktu końcowego.

Poczekaj około 15 minut na ukończenie tego kroku, ponieważ propagowanie tej zmiany na całym świecie zajmuje trochę czasu. Po tym okresie usługa Azure Front Door jest w pełni funkcjonalna.

Testowanie usługi Front Door

Utworzenie profilu usługi Azure Front Door Standard/Premium potrwa kilka minut, aby konfiguracja została wdrożona globalnie. Po zakończeniu możesz uzyskać dostęp do utworzonego hosta frontonu.

Uruchom polecenie az afd endpoint show , aby uzyskać nazwę hosta punktu końcowego usługi Front Door. Powinna wyglądać następująco: abddefg.azurefd.net

az afd endpoint show --resource-group my-deid --profile-name myfrontdoorprofile --endpoint-name myendpoint --query "hostName"

W przeglądarce przejdź do nazwy hosta punktu końcowego zwróconego przez poprzednie polecenie: <endpoint>.azurefd.net/health. Twoje żądanie powinno zostać automatycznie przekierowane do podstawowej usługi usuwania tożsamości w regionie Wschodnie stany USA.

Aby przetestować natychmiastowe globalne przejście w tryb failover:

  1. Otwórz przeglądarkę i przejdź do nazwy hosta punktu końcowego: <endpoint>.azurefd.net/health.

  2. Wykonaj kroki opisane w temacie Konfigurowanie dostępu prywatnego, aby wyłączyć dostęp do sieci publicznej dla usługi usuwania identyfikacji w regionie Wschodnie stany USA.

  3. Odśwież przeglądarkę. Powinna zostać wyświetlona ta sama strona informacji, ponieważ ruch jest teraz kierowany do usługi usuwania identyfikacji w regionie Zachodnie stany USA 2.

    Napiwek

    Może być konieczne odświeżenie strony kilka razy, aby przejście w tryb failover zostało ukończone.

  4. Teraz wyłącz dostęp do sieci publicznej dla usługi usuwania identyfikacji w regionie Zachodnie stany USA 2.

  5. Odśwież przeglądarkę. Tym razem powinien zostać wyświetlony komunikat o błędzie.

  6. Włącz ponownie dostęp do sieci publicznej dla jednej z usług usuwania identyfikacji. Odśwież przeglądarkę i ponownie powinien zostać wyświetlony stan kondycji.

Sprawdzono, że możesz uzyskiwać dostęp do usług za pośrednictwem usługi Azure Front Door i że działa w trybie failover zgodnie z oczekiwaniami. Włącz dostęp do sieci publicznej w drugiej usłudze, jeśli skończysz z testowaniem trybu failover.

Czyszczenie zasobów

W poprzednich krokach utworzono zasoby platformy Azure w grupie zasobów. Jeśli nie oczekujesz, że te zasoby będą potrzebne w przyszłości, usuń grupę zasobów, uruchamiając następujące polecenie:

az group delete --name my-deid

Wykonanie tego polecenia może potrwać kilka minut.

Inicjowanie odzyskiwania

Aby sprawdzić stan odzyskiwania usługi, możesz wysłać żądania do <service-url>/healthusługi .