Udostępnij przez


Niezawodność w środowisku Azure App Service Environment

App Service Environment to funkcja usługi Azure App Service, która zapewnia w pełni izolowane i dedykowane środowisko do bezpiecznego uruchamiania aplikacji usługi App Service na dużą skalę. Jako usługa platformy Azure środowisko App Service Environment zapewnia szereg możliwości obsługi wymagań dotyczących niezawodności.

W przypadku korzystania z platformy Azure niezawodność jest wspólną odpowiedzialnością. Firma Microsoft oferuje szereg możliwości wspierania odporności systemów i odzyskiwania. Odpowiadasz za zrozumienie sposobu działania tych możliwości we wszystkich używanych usługach oraz wybór możliwości potrzebnych do osiągnięcia twoich celów biznesowych i celów dostępności.

W tym artykule opisano wsparcie niezawodności w środowisku App Service Environment, w tym odporność systemu na błędy przejściowe, awarie strefy dostępności i awarie na poziomie całego regionu. Opisuje również strategie tworzenia kopii zapasowych i odporność na konserwację usługi oraz wyróżnia niektóre kluczowe informacje o umowie dotyczącej poziomu usług środowiska App Service Environment (SLA).

Uwaga / Notatka

W przeciwieństwie do publicznej oferty wielodostępnej usługi App Service, która udostępnia infrastrukturę pomocniczą, środowisko App Service Environment zapewnia dedykowane zasoby obliczeniowe i rozszerzoną izolację sieci dla jednego klienta.

Środowisko zapewnia następujące kluczowe korzyści z niezawodności:

  • Dedykowane zasoby obliczeniowe, które nie są udostępniane innym klientom
  • Ulepszona izolacja sieci w celu zwiększenia bezpieczeństwa i stabilności
  • Możliwość wdrażania we własnej sieci wirtualnej w celu większej kontroli nad routingiem ruchu i zasadami zabezpieczeń

Aby uzyskać więcej informacji na temat obsługi niezawodności w usłudze App Service, zobacz Niezawodność w usłudze App Service.

Zalecenia dotyczące wdrażania produkcyjnego pod kątem niezawodności

Zalecamy włączenie nadmiarowości stref w środowisku i planach usługi App Service, co wymaga, aby plany używały co najmniej dwóch wystąpień.

Omówienie architektury niezawodności

Podczas implementowania środowiska App Service Environment środowisko jest wdrażane jako kontener dla planów usługi App Service i aplikacji internetowych. Podczas instalacji skonfiguruj podstawowe ustawienia sieci i opcjonalną izolację sprzętową. Określ, czy ma być obsługiwana nadmiarowość stref w środowisku, jeśli region obsługuje strefy dostępności.

Po utworzeniu środowiska można utworzyć co najmniej jeden plan usługi App Service.

Plan usługi App Service definiuje zestaw zasobów obliczeniowych, które uruchamiają aplikacje internetowe. Wszystkie aplikacje internetowe muszą działać wewnątrz planu. Plan można skalować do uruchamiania na wielu wystąpieniach maszyn wirtualnych, nazywanych również procesami roboczymi. Te wystąpienia udostępniają zasoby obliczeniowe, które uruchamiają kod aplikacji. Pojedynczy plan usługi App Service może hostować wiele aplikacji. Wszystkie aplikacje działają w tym samym udostępnionym zestawie wystąpień maszyn wirtualnych.

Aby korzystać ze środowiska App Service Environment, plany muszą korzystać z warstwy cenowej Izolowana wersja 2. Ta warstwa obsługuje nadmiarowość stref i aplikacje o dużej skali, krytyczne dla misji.

Usługa App Service udostępnia następujące funkcje nadmiarowości:

  • Dystrybucja między domenami błędów: Na poziomie platformy platforma Azure automatycznie dystrybuuje wystąpienia maszyn wirtualnych planu usługi App Service między domenami błędów w regionie świadczenia usługi Azure. Ta dystrybucja minimalizuje ryzyko zlokalizowanych awarii sprzętu przez grupowanie maszyn wirtualnych, które współużytkują wspólne źródło zasilania i przełącznik sieciowy.

  • Dystrybucja między strefami dostępności: Jeśli włączysz nadmiarowość stref w obsługiwanym planie usługi App Service, platforma Azure dystrybuuje wystąpienia między strefami dostępności w regionie. Ta konfiguracja zapewnia większą odporność, jeśli wystąpi awaria strefy. Aby uzyskać więcej informacji na temat nadmiarowości stref, zobacz Obsługa stref dostępności.

  • Skalowanie aplikacji: Po skonfigurowaniu planu usługi App Service do uruchamiania wielu wystąpień maszyn wirtualnych wszystkie aplikacje w planie są domyślnie uruchamiane we wszystkich wystąpieniach. Jeśli skonfigurujesz plan skalowania automatycznego, wszystkie aplikacje są skalowane w poziomie na podstawie ustawień autoskalowania. Można jednak dostosować liczbę wystąpień planu uruchamiających określoną aplikację przy użyciu skalowania poszczególnych aplikacji.

  • Jednostki skalowania: Wewnętrznie usługa App Service działa w infrastrukturze platformy o nazwie jednostki skalowania, znanej również jako sygnatury lub przestrzenie internetowe. Jednostka skalowania obejmuje wszystkie składniki potrzebne do hostowania i uruchamiania usługi App Service, w tym obliczeń, magazynu, sieci i równoważenia obciążenia. Platforma Azure zarządza jednostkami skalowania w celu zapewnienia zrównoważonej dystrybucji obciążeń, przeprowadzania rutynowej konserwacji i utrzymania ogólnej niezawodności platformy.

    Niektóre możliwości mogą być stosowane tylko do określonych jednostek skalowania. Na przykład niektóre jednostki skalowania usługi App Service mogą obsługiwać nadmiarowość stref, podczas gdy inne jednostki skalowania w tym samym regionie nie są obsługiwane.

Odporność na błędy przejściowe

Błędy przejściowe to krótkotrwałe, sporadyczne awarie w komponentach. Występują one często w środowisku rozproszonym, takich jak chmura, i są one normalną częścią operacji. Błędy przejściowe naprawiają się po krótkim czasie. Ważne jest, aby aplikacje mogły obsługiwać błędy przejściowe, zwykle ponawiając próby żądań, których dotyczy problem.

Wszystkie aplikacje hostowane w chmurze powinny postępować zgodnie ze wskazówkami dotyczącymi obsługi błędów przejściowych platformy Azure podczas komunikowania się z dowolnymi interfejsami API hostowanymi w chmurze, bazami danych i innymi składnikami. Aby uzyskać więcej informacji, zobacz Zalecenia dotyczące obsługi błędów przejściowych.

Zestawy SDK dostarczane przez firmę Microsoft zwykle obsługują błędy przejściowe. Ponieważ hostujesz własne aplikacje w usłudze App Service, wykonaj kroki, aby zmniejszyć prawdopodobieństwo przejściowych błędów:

  • Zastosuj wiele instancji w ramach planu. Usługa App Service wykonuje automatyczne aktualizacje i inne formy konserwacji wystąpień w Twoim planie. Jeśli instancja stanie się niesprawna, usługa może automatycznie zastąpić tę instancję nową, sprawną instancją. Podczas procesu zamiany może wystąpić krótki etap, w którym poprzednie wystąpienie jest niedostępne, a nowe wystąpienie nie jest gotowe do obsługi ruchu. Aby ograniczyć te efekty, wdróż wiele wystąpień planu usługi App Service.

  • Użyj slotów wdrożeniowych. Miejsca wdrożenia usługi App Service umożliwiają wdrażanie aplikacji bez przestojów. Użyj miejsc wdrożenia, aby zminimalizować wpływ wdrożeń i zmian konfiguracji dla użytkowników. Miejsca wdrożenia zmniejszają również prawdopodobieństwo ponownego uruchomienia aplikacji. Ponowne uruchomienie aplikacji powoduje błąd przejściowy.

  • Unikaj skalowania w górę lub skalowania w dół. Te operacje zmieniają procesor CPU, pamięć i inne zasoby przypisane do każdego wystąpienia i mogą wyzwolić ponowne uruchomienie aplikacji. Zamiast tego wybierz warstwę i rozmiar wystąpienia spełniający wymagania dotyczące wydajności w ramach typowego obciążenia. Aby skalować w poziomie i skalować w poziomie, dynamicznie dodawaj i usuwaj wystąpienia w celu obsługi zmian w woluminie ruchu.

Odporność na błędy strefy dostępności

Strefy dostępności są fizycznie oddzielnymi grupami centrów danych w regionie świadczenia usługi Azure. Gdy jedna strefa ulegnie awarii, usługi mogą przejść w tryb failover do jednej z pozostałych stref.

Środowisko App Service Environment można skonfigurować jako strefowo nadmiarowe. Możesz również skonfigurować plany usługi App Service tak, aby były strefowo nadmiarowe, co dystrybuuje je w wielu strefach dostępności.

Można jednak włączyć lub wyłączyć redundancję strefy w każdym planie. Oznacza to, że możesz mieć w swoim środowisku pewne plany, które umożliwiają redundancję strefową, a inne, które tego nie zapewniają.

Podczas tworzenia strefowo redundantnego planu usługi App Service w środowisku, wystąpienia Twojego planu usługi App Service są dystrybuowane między strefy dostępności w regionie. Aby uzyskać więcej informacji, zobacz Dystrybucja wystąpień między strefami.

Wymagania

Aby włączyć nadmiarowość stref dla środowiska App Service Environment, należy spełnić następujące wymagania:

  • Obsługa regionów: Aby zobaczyć, które regiony obsługują strefy dostępności dla środowiska App Service Environment w wersji 3, zobacz Regiony.

  • Typ planu: Użyj typów planów izolowanych w wersji 2.

  • Minimalna liczba wystąpień: Wdróż co najmniej dwa wystąpienia w planie.

  • Jednostka skalowania: Środowisko musi zostać wdrożone w jednostce skalowania obsługującej strefy dostępności. Nie kontrolujesz bezpośrednio jednostki skalowania używanej przez środowisko. Zamiast tego podczas tworzenia środowiska usługi App Service środowisko jest przypisywane do jednostki skalowania na podstawie grupy zasobów środowiska. Aby określić, czy jednostka skalowania w środowisku App Service Environment obsługuje redundancję strefową, sprawdź, czy środowisko App Service Environment obsługuje redundancję strefową.

    Jeśli twoja jednostka skalowania nie obsługuje stref dostępności, nie można włączyć nadmiarowości strefowej w twoim środowisku lub planach. Zamiast tego należy utworzyć nowe środowisko w nowej grupie zasobów i ponownie wdrożyć aplikacje w nowych planach w tym środowisku.

  • Wymagania dotyczące konfiguracji: Skonfiguruj zarówno środowisko App Service Environment, jak i plany, aby obsługiwać redundancję strefową. Nadmiarowość strefy można włączyć podczas tworzenia środowiska lub przez zaktualizowanie istniejącego środowiska.

Dystrybucja wystąpień między strefami

Podczas tworzenia strefowo nadmiarowego planu usługi App Service platforma Azure dystrybuuje wystąpienia planu w różnych strefach dostępności w regionie. Ta dystrybucja gwarantuje, że aplikacje pozostaną dostępne nawet wtedy, gdy jedna strefa wystąpi awaria.

Dystrybucja wystąpień we wdrożeniu strefowo nadmiarowym jest zgodna z określonymi regułami. Te reguły mają również zastosowanie w miarę skalowania aplikacji w poziomie i w poziomie:

  • Minimalna liczba wystąpień: Plan usługi App Service musi mieć co najmniej dwa wystąpienia dla nadmiarowości strefowej.

  • Maksymalna liczba stref dostępności obsługiwanych przez plan: Platforma Azure określa liczbę stref dostępności, których może używać twój plan, czyli maksymalną liczbę stref. Aby wyświetlić liczbę stref dostępności, których może używać określony plan, zobacz Sprawdzanie obsługi nadmiarowości strefy dla planu usługi App Service.

  • Dystrybucja wystąpień: Po włączeniu nadmiarowości strefy platforma Azure automatycznie dystrybuuje wystąpienia planu w wielu strefach dostępności. Dystrybucja jest oparta na następujących regułach:

    • Jeśli liczba wystąpień przekracza wartość maximumNumberOfZones i dzieli się równomiernie, platforma Azure równomiernie dystrybuuje wystąpienia równomiernie między strefy.

    • Jeśli liczba wystąpień nie jest równomierna, platforma Azure dystrybuuje pozostałe wystąpienia w pozostałych strefach.

    • Gdy platforma App Service przydziela wystąpienia dla planu usługi App Service z redundancją strefową, korzysta z równoważenia stref opartych na najlepszym wysiłku, które zapewniają bazowe zestawy skalowania maszyn wirtualnych platformy Azure. Plan jest zrównoważony, jeśli każda strefa ma taką samą liczbę maszyn wirtualnych lub różni się od jednego wystąpienia ze wszystkich innych stref. Aby uzyskać więcej informacji, zobacz Równoważenie strefy.

  • Umieszczanie strefy fizycznej: Możesz wyświetlić fizyczną strefę dostępności używaną dla każdego wystąpienia planu usługi App Service. Aby uzyskać więcej informacji, zobacz Wyświetlanie stref fizycznych dla planu usługi App Service.

Rozważania

Awaria strefy dostępności może mieć wpływ na niektóre aspekty usługi App Service, mimo że aplikacja nadal obsługuje ruch. Te zachowania obejmują skalowanie planu usługi App Service, tworzenie aplikacji, konfigurację aplikacji i publikowanie aplikacji.

Po włączeniu nadmiarowości strefy w planie usługi App Service można również zwiększyć odporność podczas aktualizacji platformy. Aby uzyskać więcej informacji, zobacz Odporność na przerwy w konserwacji usługi.

W przypadku planów usługi App Service, które nie są strefowo nadmiarowe, bazowe wystąpienia maszyn wirtualnych nie są odporne na awarie strefy dostępności. Mogą doświadczyć przestojów podczas awarii w dowolnej strefie w tym regionie.

Koszt

Nadmiarowość stref można włączyć w środowisku App Service Environment lub jego planach bez dodatkowych kosztów. Jednak nadmiarowość strefy dla planu wymaga, aby miał co najmniej dwa wystąpienia. Opłaty są naliczane na podstawie SKU planu usługi App Service, określonej pojemności i instancji, do których skalujesz na podstawie kryteriów skalowania automatycznego.

Jeśli włączysz strefy dostępności, ale określisz pojemność mniejszą niż dwa wystąpienia, platforma wymusza co najmniej dwa wystąpienia. Platforma nalicza opłaty za te dwa wystąpienia.

Ważne

Po włączeniu stref dostępności dla środowiska App Service Environment wszystkie plany usługi App Service z mniej niż 3 wystąpieniami są skalowane do 3 wystąpień. Każdy plan z co najmniej 3 wystąpieniami pozostaje niezmieniony. Po zakończeniu operacji włączania stref dostępności można skalować plany usługi App Service w razie potrzeby, w tym do mniej niż 3 wystąpień.

Konfiguruj obsługę stref dostępności

Aby dowiedzieć się, jak tworzyć, włączać lub wyłączać nowe strefowo nadmiarowe środowisko App Service Environment i nowe plany usługi App Service strefowo nadmiarowe, zobacz Configure App Service Environments and Isolated v2 App Service plans for zone redundancy (Konfigurowanie środowisk App Service Environment i izolowanych w wersji 2 dla nadmiarowości strefy).

Uwaga / Notatka

Zmiana stanu nadmiarowości strefy środowiska App Service Environment trwa od 12 do 24 godzin. Podczas procesu uaktualniania nie występują żadne problemy z przestojem ani wydajnością.

Planowanie pojemności i zarządzanie nimi

Aby przygotować się do awarii strefy dostępności, rozważ przydzielenie dodatkowych zasobów planu usługi App Service. Takie podejście pozwala rozwiązaniu tolerować pewną utratę pojemności i nadal działać bez obniżonej wydajności. Aby uzyskać więcej informacji, zobacz Zarządzanie pojemnością przy użyciu nadmiernej aprowizacji.

Zachowanie, gdy wszystkie strefy są w dobrej kondycji

Na poniższej liście opisano, czego można oczekiwać, gdy plany usługi App Service są skonfigurowane pod kątem nadmiarowości strefy, a wszystkie strefy dostępności działają:

  • Routing ruchu między strefami: Podczas normalnych operacji ruch jest kierowany między wszystkimi dostępnymi wystąpieniami planu usługi App Service we wszystkich strefach dostępności.

  • Replikacja danych między strefami: Podczas normalnych operacji każdy stan przechowywany w systemie plików aplikacji jest przechowywany w magazynie strefowo nadmiarowym i synchronicznie replikowany między strefami dostępności.

Zachowanie podczas awarii strefy

Awaria strefy dostępności może mieć wpływ na niektóre aspekty usługi App Service, mimo że aplikacja nadal obsługuje ruch. Te zachowania obejmują skalowanie planu usługi App Service, tworzenie aplikacji, konfigurację aplikacji i publikowanie aplikacji.

Na poniższej liście opisano, czego można oczekiwać, gdy plany usługi App Service są skonfigurowane pod kątem nadmiarowości strefy, a co najmniej jedna strefa dostępności jest niedostępna:

  • Wykrywanie i reagowanie: Platforma App Service automatycznie wykrywa błędy w strefie dostępności i inicjuje odpowiedź. Do zainicjowania trybu failover strefy nie jest wymagana interwencja ręczna.
  • Aktywne żądania: Wszystkie żądania w toku, które łączą się z wystąpieniem planu usługi App Service w uszkodzonej strefie dostępności, zostaną zakończone. Ponów próbę tych żądań.

  • Przekierowywanie ruchu: Usługa App Service wykrywa utracone wystąpienia z tej strefy i próbuje znaleźć nowe wystąpienia zastępcze. Gdy usługa App Service znajdzie zamiany, dystrybuuje ruch między nowe wystąpienia zgodnie z potrzebami.

    Jeśli skalowanie automatyczne jest skonfigurowane i określa, że potrzebne są więcej wystąpień, żąda wystąpień z usługi App Service. Zachowanie autoskalowania działa niezależnie od zachowania platformy App Service. Dlatego specyfikacja liczby wystąpień nie musi być wielokrotną liczbą dwóch. Aby uzyskać więcej informacji, zobacz Skalowanie aplikacji w górę w usłudze App Service i Omówienie skalowania automatycznego.

    Ważne

    Platforma Azure nie gwarantuje, że żądania większej liczby wystąpień kończą się powodzeniem w scenariuszu strefowym. Platforma podejmuje próbę wypełnienia utraconych wystąpień na zasadzie najlepszego nakładu pracy. Jeśli potrzebujesz gwarantowanej pojemności podczas awarii strefy dostępności, utwórz i skonfiguruj plany usługi App Service, aby uwzględnić utratę strefy przez nadmierną aprowizację pojemności.

  • Zachowania nieuruchomienia: Aplikacje w strefowo nadmiarowym planie usługi App Service nadal działają i obsługują ruch, nawet jeśli strefa dostępności wystąpi awaria. Jednak zachowania niewynikające z czasu wykonania mogą być dotknięte podczas awarii strefy dostępności. Te zachowania obejmują skalowanie planu usługi App Service, tworzenie aplikacji, konfigurację aplikacji i publikowanie aplikacji.

Odzyskiwanie strefy

Po odzyskaniu strefy dostępności usługa App Service automatycznie tworzy wystąpienia w odzyskanej strefie dostępności, usuwa wszystkie tymczasowe wystąpienia utworzone w innych strefach dostępności i kieruje ruch między wystąpieniami jak zwykle.

Testowanie pod kątem niepowodzeń strefy

Platforma App Service zarządza routingiem ruchu, trybem awaryjnym i powrotem do pracy po awarii dla strefowo nadmiarowych planów usługi App Service. Ta funkcja jest w pełni zarządzana, więc nie trzeba inicjować ani weryfikować procesów awarii strefy dostępności.

Odporność na awarie całego regionu

Usługa App Service to usługa jednoregionowa. Jeśli region stanie się niedostępny, środowisko i jego plany i aplikacje również staną się niedostępne.

Niestandardowe rozwiązania obejmujące wiele regionów w celu zapewnienia odporności

Aby zmniejszyć ryzyko awarii ograniczonej do jednego regionu, która wpływa na Twoją aplikację, wdrożenie wielu Środowisk Usług Aplikacji w wielu regionach. Poniższe kroki pomagają zwiększyć odporność:

  • Wdróż aplikację w środowiskach App Service Environment w każdym regionie.
  • Skonfiguruj równoważenie obciążenia i zasady przełączania awaryjnego.
  • Replikuj dane między regionami, aby można było odzyskać ostatni stan aplikacji.

Przykładowe podejście ilustrujące tę architekturę można znaleźć w temacie Wdrażanie w przedsiębiorstwie o wysokiej dostępności przy użyciu środowiska App Service Environment.

Tworzenie kopii zapasowej i przywracanie

Aby utworzyć kopię zapasową aplikacji usługi App Service w pliku, użyj funkcji tworzenia kopii zapasowych i przywracania usługi App Service.

Te możliwości ułatwiają ponowne wdrażanie kodu lub przechowywanie stanu na dysku. Większość rozwiązań nie powinna polegać wyłącznie na kopiach zapasowych. Zamiast tego skorzystaj z innych funkcji w tym przewodniku, aby spełnić wymagania dotyczące odporności. Jednak kopie zapasowe chronią przed pewnymi zagrożeniami, których nie zapewniają inne podejścia.

Ważne

Od 31 marca 2028 r. niestandardowe kopie zapasowe usługi Azure App Service nie będą już obsługiwać tworzenia kopii zapasowych połączonych baz danych. Aby uzyskać więcej informacji, zobacz Wycofywanie połączonych kopii zapasowych bazy danych .

Zamiast tego użyj natywnych narzędzi do tworzenia kopii zapasowych i przywracania połączonej bazy danych. Aby uzyskać więcej informacji, zobacz Tworzenie kopii zapasowej i przywracanie aplikacji w usłudze App Service.

Odporność usługi na prace konserwacyjne

Usługa App Service wykonuje regularne uaktualnienia usług i inne zadania konserwacji. Aby zachować oczekiwaną pojemność podczas uaktualniania, platforma automatycznie dodaje dodatkowe wystąpienia planu usługi App Service podczas procesu uaktualniania.

Aktywuj replikację strefy. Po włączeniu nadmiarowości strefy w planie usługi App Service można również zwiększyć odporność podczas aktualizacji platformy. Domeny aktualizacji składają się z kolekcji maszyn wirtualnych, które przechodzą w tryb offline podczas aktualizacji, i mapują je na strefy dostępności. Wdrożenie wielu wystąpień w planie usługi App Service i włączenie nadmiarowości strefy dla planu powoduje dodanie dodatkowej warstwy odporności, jeśli wystąpienie lub strefa stanie się w złej kondycji podczas uaktualniania.

Dostosuj cykl uaktualniania. Możesz dostosować cykl uaktualniania dla środowiska App Service Environment. Jeśli musisz zweryfikować wpływ uaktualnień na obciążenie, włącz uaktualnienia ręczne. Takie podejście umożliwia przeprowadzenie walidacji i testowania w wystąpieniu nieprodukcyjnym przed zastosowaniem ich do wystąpienia produkcyjnego.

Aby uzyskać więcej informacji na temat preferencji konserwacji, zobacz Uaktualnianie preferencji dotyczących planowanej konserwacji środowiska App Service Environment.

Umowa dotycząca poziomu usług

Umowa dotycząca poziomu usług (SLA) dla usług platformy Azure opisuje oczekiwaną dostępność każdej usługi oraz warunki, które rozwiązanie musi spełnić, aby osiągnąć te oczekiwania dotyczące dostępności. Aby uzyskać więcej informacji, zobacz Umowy SLA dotyczące usług online.

Podczas wdrażania strefowo redundantnego planu App Service zwiększa się procent czasu pracy określony w umowie SLA.