Niezawodność w usłudze Azure Container Apps
W tym artykule opisano obsługę niezawodności w usłudze Azure Container Apps i opisano zarówno odporność regionalną ze strefami dostępności, jak i odpornością między regionami w przypadku odzyskiwania po awarii. Aby uzyskać bardziej szczegółowe omówienie niezawodności na platformie Azure, zobacz Niezawodność platformy Azure.
Obsługa strefy dostępności
Strefy dostępności platformy Azure to co najmniej trzy fizycznie oddzielne grupy centrów danych w każdym regionie świadczenia usługi Azure. Centra danych w każdej strefie są wyposażone w niezależną infrastrukturę zasilania, chłodzenia i sieci. W przypadku awarii strefy lokalnej strefy strefy dostępności są zaprojektowane tak, aby w przypadku wystąpienia problemu z jedną strefą usługi regionalne, pojemność i wysoka dostępność są obsługiwane przez pozostałe dwie strefy.
Awarie mogą wahać się od awarii oprogramowania i sprzętu po zdarzenia, takie jak trzęsienia ziemi, powodzie i pożary. Tolerancja awarii jest osiągana z nadmiarowością i logiczną izolacją usług platformy Azure. Aby uzyskać bardziej szczegółowe informacje na temat stref dostępności na platformie Azure, zobacz Regiony i strefy dostępności.
Usługi z obsługą stref dostępności platformy Azure zostały zaprojektowane w celu zapewnienia odpowiedniego poziomu niezawodności i elastyczności. Można je skonfigurować na dwa sposoby. Mogą być strefowo nadmiarowe, z automatyczną replikacją między strefami lub strefami, z wystąpieniami przypiętymi do określonej strefy. Możesz również połączyć te podejścia. Aby uzyskać więcej informacji na temat architektury strefowej i strefowo nadmiarowej, zobacz Rekomendacje na potrzeby korzystania ze stref dostępności i regionów.
Usługa Azure Container Apps używa stref dostępności w regionach, w których są dostępne w celu zapewnienia wysokiej dostępności ochrony aplikacji i danych z awarii centrum danych.
Dzięki włączeniu funkcji nadmiarowości strefy usługi Container Apps repliki są automatycznie dystrybuowane między strefami w regionie. Ruch jest zrównoważony wśród replik. Jeśli wystąpi awaria strefy, ruch jest automatycznie kierowany do replik w pozostałych strefach.
Uwaga
Nie ma dodatkowych opłat za włączenie nadmiarowości strefy, ale zapewnia korzyści tylko wtedy, gdy masz co najmniej 2 repliki, a 3 lub więcej jest idealnym rozwiązaniem, ponieważ większość regionów obsługujących nadmiarowość stref ma 3 strefy.
Wymagania wstępne
Usługa Azure Container Apps oferuje taką samą obsługę niezawodności niezależnie od typu planu.
Usługa Azure Container Apps używa stref dostępności w regionach, w których są dostępne. Aby uzyskać listę regionów obsługujących strefy dostępności, zobacz Usługa strefy dostępności i obsługa regionalna.
Ulepszenia umowy SLA
Brak zwiększonych umów SLA dla usługi Azure Container Apps. Aby uzyskać więcej informacji na temat umów SLA usługi Azure Container Apps, zobacz Umowa dotycząca poziomu usług dla usługi Azure Container Apps.
Tworzenie zasobu z włączoną strefą dostępności
Konfigurowanie nadmiarowości strefy w środowisku usługi Container Apps
Aby korzystać ze stref dostępności, należy włączyć nadmiarowość strefy podczas tworzenia środowiska usługi Container Apps. Środowisko musi zawierać sieć wirtualną z dostępną podsiecią. Aby zapewnić właściwą dystrybucję replik, ustaw minimalną liczbę replik aplikacji na trzy.
Włączanie nadmiarowości strefy za pośrednictwem witryny Azure Portal
Aby utworzyć aplikację kontenera w środowisku z włączoną nadmiarowością strefy przy użyciu witryny Azure Portal:
- Przejdź do witryny Azure Portal.
- Wyszukaj pozycję Container Apps w górnym polu wyszukiwania.
- Wybierz pozycję Aplikacje kontenera.
- Wybierz pozycję Utwórz nowy w polu Środowisko aplikacji kontenera, aby otworzyć panel Tworzenie środowiska aplikacji kontenera.
- Wprowadź nazwę środowiska.
- Wybierz pozycję Włączone dla pola Nadmiarowość strefy.
Nadmiarowość strefy wymaga sieci wirtualnej z podsiecią infrastruktury. Możesz wybrać istniejącą sieć wirtualną lub utworzyć nową. Podczas tworzenia nowej sieci wirtualnej możesz zaakceptować podane wartości lub dostosować ustawienia.
- Wybierz kartę Sieć.
- Aby przypisać niestandardową nazwę sieci wirtualnej, wybierz pozycję Utwórz nowy w polu Sieć wirtualna .
- Aby przypisać niestandardową nazwę podsieci infrastruktury, wybierz pozycję Utwórz nowy w polu Podsieć infrastruktury.
- Dla wirtualnego adresu IP można wybrać opcję Wewnętrzny lub Zewnętrzny.
- Wybierz pozycję Utwórz.
Włączanie nadmiarowości strefy za pomocą interfejsu wiersza polecenia platformy Azure
Utwórz sieć wirtualną i podsieć infrastruktury do uwzględnienia w środowisku usługi Container Apps.
W przypadku używania tych poleceń zastąp wartości <PLACEHOLDERS>
wartościami .
Uwaga
Środowisko Zużycie wymaga dedykowanej podsieci z zakresem /23
CIDR lub większym. Środowisko profilów obciążeń wymaga dedykowanej podsieci z zakresem CIDR lub /27
większym. Aby dowiedzieć się więcej o określaniu rozmiaru podsieci, zobacz omówienie architektury sieci.
az network vnet create \
--resource-group <RESOURCE_GROUP_NAME> \
--name <VNET_NAME> \
--location <LOCATION> \
--address-prefix 10.0.0.0/16
az network vnet subnet create \
--resource-group <RESOURCE_GROUP_NAME> \
--vnet-name <VNET_NAME> \
--name infrastructure \
--address-prefixes 10.0.0.0/21
Następnie wykonaj zapytanie dotyczące identyfikatora podsieci infrastruktury.
INFRASTRUCTURE_SUBNET=`az network vnet subnet show --resource-group <RESOURCE_GROUP_NAME> --vnet-name <VNET_NAME> --name infrastructure --query "id" -o tsv | tr -d '[:space:]'`
Na koniec utwórz środowisko za pomocą parametru --zone-redundant
. Lokalizacja musi być tą samą lokalizacją używaną podczas tworzenia sieci wirtualnej.
az containerapp env create \
--name <CONTAINER_APP_ENV_NAME> \
--resource-group <RESOURCE_GROUP_NAME> \
--location "<LOCATION>" \
--infrastructure-subnet-resource-id $INFRASTRUCTURE_SUBNET \
--zone-redundant
Weryfikowanie nadmiarowości strefy za pomocą interfejsu wiersza polecenia platformy Azure
Uwaga
Witryna Azure Portal nie pokazuje, czy jest włączona nadmiarowość strefy.
Użyj polecenia , az container app env show
aby sprawdzić, czy nadmiarowość strefy jest włączona dla środowiska usługi Container Apps.
az containerapp env show \
--name <CONTAINER_APP_ENV_NAME> \
--resource-group <RESOURCE_GROUP_NAME> \
--subscription <SUBSCRIPTION_ID>
Polecenie zwraca odpowiedź JSON. Sprawdź, czy odpowiedź zawiera "zoneRedundant": true
.
Sejf technik wdrażania
Po skonfigurowaniu nadmiarowości strefy w aplikacji kontenera repliki są automatycznie dystrybuowane między strefy w regionie. Po rozproszeniu replik ruch jest między nimi zrównoważony. Jeśli wystąpi awaria strefy, ruch automatycznie kieruje się do replik w pozostałej strefie.
Nadal należy używać bezpiecznych technik wdrażania, takich jak wdrożenie niebiesko-zielone. Usługa Azure Container Apps nie zapewnia jednostrefowego wdrożenia ani uaktualnień.
Jeśli włączono koligację sesji, a strefa ulegnie awarii, klienci dla tej strefy są kierowani do nowych replik, ponieważ poprzednie repliki nie są już dostępne. Wszystkie stany skojarzone z poprzednimi replikami zostaną utracone.
Migracja strefy dostępności
Aby korzystać ze stref dostępności, włącz nadmiarowość strefy podczas tworzenia środowiska usługi Container Apps. Środowisko musi zawierać sieć wirtualną z dostępną podsiecią. Nie można migrować istniejącego środowiska usługi Container Apps z obsługi stref niedostępności do obsługi stref dostępności.
Odzyskiwanie po awarii między regionami i ciągłość działania
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 Rekomendacje na potrzeby 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 ponosisz odpowiedzialność 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.
W mało prawdopodobnym przypadku awarii pełnego regionu możesz użyć jednej z dwóch strategii:
Odzyskiwanie ręczne: ręcznie wdróż w nowym regionie lub poczekaj na odzyskanie regionu, a następnie ręcznie ponownie wdróż wszystkie środowiska i aplikacje.
Odzyskiwanie odporne: najpierw wdróż aplikacje kontenerów z wyprzedzeniem w wielu regionach. Następnie użyj usługi Azure Front Door lub Azure Traffic Manager do obsługi żądań przychodzących, wskazując ruch do regionu podstawowego. Następnie, jeśli wystąpi awaria, możesz przekierować ruch z dala od objętego regionu. Aby uzyskać więcej informacji, zobacz Replikacja między regionami na platformie Azure.
Uwaga
Niezależnie od wybranej strategii upewnij się, że pliki konfiguracji wdrożenia znajdują się w kontroli źródła, aby w razie potrzeby można było łatwo wdrożyć je ponownie.
Więcej wskazówek
Następujące zasoby mogą pomóc w utworzeniu własnego planu odzyskiwania po awarii:
- Failure and disaster recovery for Azure applications (Awarie i odzyskiwanie po awariach w aplikacjach platformy Azure)
- Odporność platformy Azure — wskazówki techniczne