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:
Użyj środowiska powłoki Bash w usłudze Azure Cloud Shell. Aby uzyskać więcej informacji, zobacz Szybki start dotyczący powłoki Bash w usłudze Azure Cloud Shell.
Jeśli wolisz uruchamiać polecenia referencyjne interfejsu wiersza polecenia lokalnie, zainstaluj interfejs wiersza polecenia platformy Azure. Jeśli korzystasz z systemu Windows lub macOS, rozważ uruchomienie interfejsu wiersza polecenia platformy Azure w kontenerze Docker. Aby uzyskać więcej informacji, zobacz Jak uruchomić interfejs wiersza polecenia platformy Azure w kontenerze platformy Docker.
Jeśli korzystasz z instalacji lokalnej, zaloguj się do interfejsu wiersza polecenia platformy Azure za pomocą polecenia az login. Aby ukończyć proces uwierzytelniania, wykonaj kroki wyświetlane w terminalu. Aby uzyskać inne opcje logowania, zobacz Logowanie się przy użyciu interfejsu wiersza polecenia platformy Azure.
Po wyświetleniu monitu zainstaluj rozszerzenie interfejsu wiersza polecenia platformy Azure podczas pierwszego użycia. Aby uzyskać więcej informacji na temat rozszerzeń, zobacz Korzystanie z rozszerzeń w interfejsie wiersza polecenia platformy Azure.
Uruchom polecenie az version, aby znaleźć zainstalowane wersje i biblioteki zależne. Aby uaktualnić do najnowszej wersji, uruchom polecenie az upgrade.
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:
Otwórz przeglądarkę i przejdź do nazwy hosta punktu końcowego:
<endpoint>.azurefd.net/health
.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.
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.
Teraz wyłącz dostęp do sieci publicznej dla usługi usuwania identyfikacji w regionie Zachodnie stany USA 2.
Odśwież przeglądarkę. Tym razem powinien zostać wyświetlony komunikat o błędzie.
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>/health
usługi .