Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Azure App Service ist ein HTTP-basierter Dienst zum Hosten von Webanwendungen, REST-APIs und mobilen Back-Ends. Der App-Dienst ist in Microsoft Azure integriert, um Sicherheit, Lastenausgleich, automatische Skalierung und automatisierte Verwaltung für Anwendungen bereitzustellen. Als Azure-Dienst bietet App Service eine Reihe von Funktionen zur Unterstützung Ihrer Zuverlässigkeitsanforderungen.
Wenn Sie Azure verwenden, ist Zuverlässigkeit eine gemeinsame Verantwortung. Microsoft bietet eine Reihe von Funktionen zur Unterstützung von Resilienz und Wiederherstellung. Sie sind dafür verantwortlich, zu verstehen, wie diese Funktionen in allen von Ihnen verwendeten Diensten funktionieren, und die Funktionen auswählen, die Sie benötigen, um Ihre Geschäftsziele und Uptime-Ziele zu erfüllen.
In diesem Artikel wird beschrieben, wie Sie den App-Dienst für eine Vielzahl potenzieller Ausfälle und Probleme widerstandsfähig machen, einschließlich vorübergehender Fehler, Ausfall der Verfügbarkeitszone, Regionsausfälle und Dienstwartung. Es wird auch beschrieben, wie Sie Sicherungen verwenden können, um sich von anderen Arten von Problemen zu erholen, und es werden einige wichtige Informationen zum Service Level Agreement (SLA) von App Service hervorgehoben.
Hinweis
Informationen zur Zuverlässigkeitsunterstützung in der App-Dienstumgebung finden Sie unter Zuverlässigkeit in der App-Dienstumgebung.
Bereitstellungsempfehlungen für die Produktion
Das Azure Well-Architected Framework bietet Empfehlungen für Zuverlässigkeit, Leistung, Sicherheit, Kosten und Vorgänge. Informationen dazu, wie sich diese Bereiche gegenseitig beeinflussen und zu einer zuverlässigen App Service-Lösung beitragen, finden Sie unter Architektur bewährte Methoden für App Service (Web Apps) im Azure Well-Architected Framework.
Übersicht über die Zuverlässigkeitsarchitektur
Wenn Sie eine App Service-Web-App erstellen, geben Sie den App Service-Plan an, der die App ausführt.
Ein App Service-Plan definiert eine Reihe von Computeressourcen, die Ihre Web-Apps ausführen. Alle Web-Apps müssen innerhalb eines Plans ausgeführt werden. Sie können einen Plan skalieren, der auf mehreren VM-Instanzen ausgeführt werden soll, auch als Worker bezeichnet. Diese Instanzen stellen die Computeressourcen bereit, die Den App-Code ausführen. Ein einzelner App Service-Plan kann mehrere Apps hosten. Alle Apps werden auf demselben freigegebenen Satz von VM-Instanzen ausgeführt.
Der App-Dienst bietet die folgenden Redundanzfeatures:
Verteilung über Fehlerdomänen: Auf Plattformebene verteilt Azure automatisch die VM-Instanzen Ihres App Service-Plans über Fehlerdomänen innerhalb der Azure-Region. Diese Verteilung minimiert das Risiko lokalisierter Hardwarefehler, indem VMs gruppiert werden, die eine gemeinsame Stromversorgung und einen Netzwerkswitch gemeinsam nutzen.
Verteilung über Verfügbarkeitszonen: Wenn Sie Zonenredundanz für einen unterstützten App Service-Plan aktivieren, verteilt Azure Ihre Instanzen über Verfügbarkeitszonen innerhalb der Region. Diese Konfiguration bietet eine höhere Resilienz, wenn ein Zonenausfall auftritt. Weitere Informationen zur Zonenredundanz finden Sie unter Unterstützung der Verfügbarkeitszone.
App-Skalierung: Wenn Sie Ihren App Service-Plan so konfigurieren, dass mehrere VM-Instanzen ausgeführt werden, werden alle Apps im Plan standardmäßig auf allen Instanzen ausgeführt. Wenn Sie Ihren Plan für die automatische Skalierung konfigurieren, skalieren alle Apps gleichzeitig basierend auf den Einstellungen für die automatische Skalierung. Sie können jedoch anpassen, wie viele Planinstanzen eine bestimmte App ausführen, indem Sie die Skalierung pro App verwenden.
Skalierungseinheiten: Intern läuft der App Service auf einer Plattform-Infrastruktur, die als Skalierungseinheiten bezeichnet wird, auch bekannt als Stamps oder Webspaces. Eine Skalierungseinheit enthält alle Komponenten, die zum Hosten und Ausführen des App-Diensts erforderlich sind, einschließlich Compute, Speicher, Netzwerk und Lastenausgleich. Azure verwaltet Skalierungseinheiten, um eine ausgewogene Workloadverteilung sicherzustellen, routinemäßige Wartung durchzuführen und die Gesamtzuverlässigkeit der Plattform aufrechtzuerhalten.
Einige Funktionen können nur auf bestimmte Skalierungseinheiten angewendet werden. Beispielsweise können einige App Service-Skalierungseinheiten Zonenredundanz unterstützen, während andere Skalierungseinheiten in derselben Region nicht.
Resilienz für vorübergehende Fehler
Vorübergehende Fehler sind kurze, zeitweilige Fehler in Komponenten. Sie treten häufig in einer verteilten Umgebung wie der Cloud auf und sind ein normaler Bestandteil von Vorgängen. Vorübergehende Fehler korrigieren sich nach kurzer Zeit. Es ist wichtig, dass Ihre Anwendungen vorübergehende Fehler behandeln können, in der Regel durch Wiederholen betroffener Anforderungen.
Alle in der Cloud gehosteten Anwendungen sollten die Anleitung zur vorübergehenden Fehlerbehandlung von Azure befolgen, wenn sie mit cloudgehosteten APIs, Datenbanken und anderen Komponenten kommunizieren. Weitere Informationen finden Sie unter Empfehlungen zur Behandlung vorübergehender Fehler.
Von Microsoft bereitgestellte SDKs behandeln in der Regel vorübergehende Fehler. Da Sie Ihre eigenen Anwendungen auf App Service hosten, führen Sie Schritte aus, um die Wahrscheinlichkeit vorübergehender Fehler zu verringern:
Bereitstellen mehrerer Instanzen in Ihrem Plan. Der App-Dienst führt automatisierte Updates und andere Wartungsarten für Instanzen in Ihrem Plan aus. Wenn eine Instanz fehlerhaft wird, kann der Dienst diese Instanz automatisch durch eine neue fehlerfreie Instanz ersetzen. Während des Ersetzungsprozesses kann es einen kurzen Zeitraum geben, in dem die vorherige Instanz nicht verfügbar ist und eine neue Instanz nicht für den Datenverkehr bereit ist. Um diese Auswirkungen zu verringern, stellen Sie mehrere Instanzen Ihres App Service-Plans bereit.
Verwenden Sie Bereitstellungsslots. Bereitstellungsplätze für App-Dienste ermöglichen Bereitstellungen ohne Ausfallzeiten Ihrer Anwendungen. Verwenden Sie Bereitstellungsplätze, um die Auswirkungen von Bereitstellungen und Konfigurationsänderungen für Ihre Benutzer zu minimieren. Durch die Verwendung von Bereitstellungsplätzen wird auch die Wahrscheinlichkeit reduziert, dass Ihre Anwendung neu gestartet wird. Durch den Neustart der Anwendung tritt ein vorübergehender Fehler auf.
Vermeiden Sie die Skalierung nach oben oder nach unten. Diese Vorgänge ändern die CPU, den Arbeitsspeicher und andere Ressourcen, die jeder Instanz zugewiesen sind, und sie können einen Anwendungsneustart auslösen. Wählen Sie stattdessen eine Stufe und Instanzgröße, die Ihren Leistungsanforderungen bei typischer Last entspricht. Sie können auf- und abskalieren, indem Sie Instanzen dynamisch hinzufügen und entfernen, um Änderungen des Datenverkehrsaufkommens zu bewältigen.
Ausfallsicherheit bei Ausfällen von Verfügbarkeitszonen
Verfügbarkeitszonen sind physisch getrennte Gruppen von Rechenzentren innerhalb einer Azure-Region. Wenn eine Zone ausfällt, erfolgt ein Failover der Dienste zu einer der verbleibenden Zonen.
In den Plänen Premium v2 bis v4 können Sie App Service als zonenredundant konfigurieren. Das bedeutet, dass Ihre Ressourcen über mehrere Verfügbarkeitszonen verteilt werden. Die Verteilung über mehrere Zonen hilft Ihren Produktionsarbeitslasten, Resilienz und Zuverlässigkeit zu erzielen. Wenn Sie Zonenredundanz in App Service-Plänen konfigurieren, werden alle Apps, die den Plan verwenden, zonenredundant.
Anforderungen
Um Zonenredundanz zu aktivieren, müssen Sie die folgenden Anforderungen erfüllen:
Regionsunterstützung: Für App Service Premium v2- und v3-Pläne wird Zonenredundanz in jeder Region unterstützt, die Verfügbarkeitszonen unterstützt.
Plantyp: Verwenden Sie Premium v2 für v4-Plantypen.
Von Bedeutung
Um Zonenredundanz für App Service Premium v4-Pläne zu aktivieren, müssen Sie bestätigen, dass Ihre gewünschte Region v4-Pläne unterstützt und verfügbarkeitszonen unterstützt.
Mindestanzahl von Instanzen: Stellen Sie mindestens zwei Instanzen in Ihrem Plan bereit.
Skalierungseinheit: Ihre App muss in einer Skalierungseinheit bereitgestellt werden, die Verfügbarkeitszonen unterstützt. Sie steuern nicht direkt die Skalierungseinheit, die Ihr Plan verwendet. Wenn Sie stattdessen einen App Service-Plan erstellen, wird der Plan einer Skalierungseinheit basierend auf der Ressourcengruppe des Plans zugewiesen. Um zu ermitteln, ob die Skalierungseinheit für Ihren App Service-Plan Zonenredundanz unterstützt, lesen Sie Überprüfen der Unterstützung von Zonenredundanz für einen App Service-Plan.
Wenn Sich Ihr App Service-Plan auf einer Skalierungseinheit befindet, die Zonenredundanz nicht unterstützt, können Sie zonenredundanz in Ihrem Plan nicht aktivieren. Stattdessen müssen Sie Ihre Apps für einen neuen Plan in einer anderen Skalierungseinheit erneut bereitstellen.
Instanzverteilung über Zonen hinweg
Wenn Sie einen zonenredundanten App Service-Plan erstellen, verteilt Azure die Instanzen des Plans über Verfügbarkeitszonen in der Region. Diese Verteilung stellt sicher, dass Ihre Apps auch dann verfügbar bleiben, wenn eine Zone einen Ausfall erlebt.
Die Instanzverteilung in einer zonenredundanten Bereitstellung folgt bestimmten Regeln. Diese Regeln gelten auch, wenn die App skaliert und verkleinert wird:
Mindestinstanzen: Ihr App Service-Plan muss mindestens zwei Instanzen für Zonenredundanz aufweisen.
Maximale Verfügbarkeitszonen, die von Ihrem Plan unterstützt werden: Azure bestimmt die Anzahl der Verfügbarkeitszonen, die Ihr Plan verwenden kann, was als maximumNumberOfZones bezeichnet wird. Informationen zum Anzeigen der Anzahl von Verfügbarkeitszonen, die Ihr bestimmter Plan verwenden kann, finden Sie unter Überprüfen der Zonenredundanzunterstützung für einen App Service-Plan.
Instanzverteilung: Wenn Zonenredundanz aktiviert ist, verteilt Azure Planinstanzen automatisch über mehrere Verfügbarkeitszonen. Die Verteilung basiert auf den folgenden Regeln:
Wenn die Anzahl der Instanzen maximumNumberOfZones überschreitet und gleichmäßig dividiert, verteilt Azure die Instanzen gleichmäßig über Zonen.
Wenn die Anzahl der Instanzen nicht gleichmäßig dividiert wird, verteilt Azure die verbleibenden Instanzen über die verbleibenden Zonen.
Wenn die App Service-Plattform Instanzen für einen zonenredundanten App Service-Plan zuweist, wird der bestmögliche Zonenausgleich verwendet, den die zugrunde liegenden Skalierungssätze für virtuelle Azure-Computer bereitstellen. Ein Plan ist ausgeglichen, wenn jede Zone dieselbe Anzahl von VMs hat oder sich um eine Instanz von allen anderen Zonen unterscheidet. Weitere Informationen finden Sie unter Zonenausgleich.
Platzierung der physischen Zone: Sie können die physische Verfügbarkeitszone anzeigen, die für jede Ihrer App Service-Planinstanzen verwendet wird. Weitere Informationen finden Sie unter Anzeigen physischer Zonen für einen App Service-Plan.
Überlegungen
Bei Premium v2- bis -v4-Plänen kann sich ein Ausfall der Verfügbarkeitszone möglicherweise auf einige Aspekte von Azure App Service auswirken, auch wenn die Anwendung weiterhin Datenverkehr verarbeitet. Diese Verhaltensweisen umfassen Skalierung von App Service-Plänen, Anwendungserstellung, Anwendungskonfiguration und Anwendungsveröffentlichung.
Wenn Sie Zonenredundanz für Ihren App Service-Premium v2- bis -v4-Plan aktivieren, verbessern Sie auch die Resilienz während Plattformupdates. Weitere Informationen finden Sie unter Ausfallsicherheit für die Wartung von Diensten.
Bei App Service-Plänen, die nicht als zonenredundant konfiguriert sind, sind die zugrunde liegenden VM-Instanzen nicht resilient gegenüber Verfügbarkeitszonenfehler. Sie können während eines Stromausfalls in jeder Zone in dieser Region von einem Stromausfall betroffen sein.
Kosten
Wenn Sie App Service-Premium v2 bis -v4-Pläne verwenden, entstehen durch das Aktivieren von Verfügbarkeitszonen keine zusätzlichen Kosten, sofern Sie über mindestens zwei Instanzen verfügen. Die Gebühren basieren auf Ihrer App Service-Plan-SKU, auf der von Ihnen angegebenen Kapazität und auf allen Instanzen, die Sie basierend auf Ihren Kriterien für die Autoskalierung skalieren.
Wenn Sie Verfügbarkeitszonen aktivieren, aber eine Kapazität von weniger als zwei angeben, erzwingt die Plattform eine Mindestinstanzanzahl von zwei. Die Plattform stellt Ihnen für diese beiden Fälle Gebühren in Rechnung.
Konfigurieren der Unterstützung von Verfügbarkeitszonen
Erstellen Sie einen neuen zonenredundanten App Service-Plan. Weitere Informationen finden Sie unter Erstellen eines neuen App Service-Plans, der Zonenredundanz beinhaltet.
Aktivieren oder Deaktivieren der Zonenredundanz für einen vorhandenen App Service-Plan. Weitere Informationen finden Sie unter Festlegen der Zonenredundanz für einen bestehenden App Service-Plan.
Kapazitätsplanung und -verwaltung
Um auf einen Fehler in der Verfügbarkeitszone vorbereitet zu sein, sollten Sie die Kapazität Ihres App Service-Plans überprovisionieren. Dieser Ansatz ermöglicht es der Lösung, einige Kapazitätsverluste zu tolerieren und weiterhin ohne beeinträchtigte Leistung zu funktionieren. Weitere Informationen finden Sie unter Verwalten der Kapazität mithilfe der Überbereitstellung.
Verhalten, wenn alle Zonen fehlerfrei sind
In der folgenden Liste wird beschrieben, was Sie erwarten müssen, wenn App Service-Pläne für Zonenredundanz konfiguriert sind und alle Verfügbarkeitszonen betriebsbereit sind:
Datenverkehrsrouting zwischen Zonen: Während normaler Vorgänge wird der Datenverkehr zwischen allen verfügbaren App Service-Planinstanzen über alle Verfügbarkeitszonen geleitet.
Datenreplikation zwischen Zonen: Bei normalen Vorgängen wird jeder im Dateisystem Ihrer Anwendung gespeicherte Zustand in zonenredundanten Speicher gespeichert und synchron zwischen Verfügbarkeitszonen repliziert.
Verhalten bei einem Zoneausfall
Ein Ausfall der Verfügbarkeitszone kann sich auf einige Aspekte des App-Diensts auswirken, obwohl die Anwendung weiterhin Datenverkehr bereitstellt. Diese Verhaltensweisen umfassen Skalierung von App Service-Plänen, Anwendungserstellung, Anwendungskonfiguration und Anwendungsveröffentlichung.
In der folgenden Liste wird beschrieben, was Sie erwarten müssen, wenn App Service-Pläne für Zonenredundanz konfiguriert sind und mindestens eine Verfügbarkeitszone nicht verfügbar ist:
- Erkennung und Reaktion: Die App Service-Plattform erkennt automatisch Fehler in einer Verfügbarkeitszone und initiiert eine Antwort. Es ist kein manueller Eingriff erforderlich, um ein Zonenfailover zu initiieren.
- Benachrichtigung: Microsoft benachrichtigt Sie nicht automatisch, wenn eine Zone deaktiviert ist. Sie können jedoch Azure Resource Health verwenden, um den Status einer einzelnen Ressource zu überwachen, und Sie können Ressourcenintegritätswarnungen einrichten, um Sie über Probleme zu informieren. Sie können auch Azure Service Health verwenden, um die allgemeine Integrität des Diensts zu verstehen, einschließlich jeglicher Zonenfehler, und Sie können Dienststatuswarnungen einrichten, um Sie über Probleme zu informieren.
Aktive Anforderungen: Alle laufenden Anforderungen, die eine Verbindung mit einer App Service-Planinstanz in der fehlerhaften Verfügbarkeitszone herstellen, werden beendet. Wiederholen Sie diese Anfragen.
Datenverkehrsumleitung: Der App-Dienst erkennt die verlorenen Instanzen aus dieser Zone und versucht, neue Ersatzinstanzen zu finden. Nachdem Der App-Dienst Ersatz gefunden hat, verteilt er den Datenverkehr nach Bedarf über die neuen Instanzen.
Wenn die automatische Skalierung konfiguriert ist und ermittelt, dass weitere Instanzen erforderlich sind, fordert sie Instanzen von App Service an. Das Verhalten der Autoskalierung funktioniert unabhängig vom App Service-Plattformverhalten. Ihre Instanzanzahlspezifikation muss also nicht ein Vielfaches von zwei sein. Weitere Informationen finden Sie unter Skalieren einer App in App Service und Übersicht über das Autoscaling.
Von Bedeutung
Azure garantiert nicht, dass Anforderungen nach mehr Instanzen in einem Szenario mit Zonenausfall erfolgreich sind. Die Plattform versucht, verlorene Instanzen nach Möglichkeit abzugleichen. Wenn Sie während eines Ausfalls der Verfügbarkeitszone eine garantierte Kapazität benötigen, erstellen und konfigurieren Sie Ihre App Service-Pläne, um Zonenverluste zu berücksichtigen, indem Sie die Kapazität überlasten.
Nicht-Laufzeitverhalten: Anwendungen in einem zonenredundanten App-Service-Plan werden weiterhin ausgeführt und bedienen den Datenverkehr auch dann, wenn eine Verfügbarkeitszone einen Ausfall erlebt. Während eines Ausfalls einer Verfügbarkeitszone können jedoch nicht-laufzeitabhängige Verhaltensweisen beeinträchtigt werden. Diese Verhaltensweisen umfassen Skalierung von App Service-Plänen, Anwendungserstellung, Anwendungskonfiguration und Anwendungsveröffentlichung.
Zonenwiederherstellung
Wenn die Verfügbarkeitszone wiederhergestellt wird, erstellt App Service automatisch Instanzen in der wiederhergestellten Verfügbarkeitszone, entfernt alle temporären Instanzen, die in den anderen Verfügbarkeitszonen erstellt wurden, und leitet den Datenverkehr wie gewohnt zwischen Ihren Instanzen weiter.
Test auf Zonenfehler
Die App Service-Plattform verwaltet Datenverkehrsrouting, Failover und Failback für zonenredundante App Service-Pläne. Dieses Feature ist vollständig verwaltet. Deshalb müssen Sie die Prozesse für ausgefallene Verfügbarkeitszonen weder einleiten noch überprüfen.
Widerstandsfähigkeit bei regionalen Ausfällen
Der App-Dienst ist ein Einzelregionsdienst. Wenn die Region nicht verfügbar ist, ist Ihre Anwendung ebenfalls nicht verfügbar.
Benutzerdefinierte Lösungen mit mehreren Regionen für Resilienz
Um das Risiko eines Ausfalls einer Region zu verringern, der sich auf Ihre Anwendung auswirkt, können Sie Pläne in mehreren Regionen bereitstellen. Die folgenden Schritte tragen zur Stärkung der Resilienz bei:
- Stellen Sie Ihre Anwendung zu den Plänen in jeder Region bereit.
- Konfigurieren sie Lastenausgleichs- und Failoverrichtlinien.
- Replizieren Sie Ihre Daten über Regionen hinweg, damit Sie den letzten Anwendungszustand wiederherstellen können.
Weitere Informationen finden Sie unter den folgenden verwandten Ressourcen:
- Referenzarchitektur: Hochverfügbare Webanwendung mit mehreren Regionen
- Zu berücksichtigende Ansätze
- Tutorial: Erstellen einer hochverfügbaren App in mehreren Regionen in Azure App Service
Sichern und Wiederherstellen
Wenn Sie den Basic- oder einen höheren Plan verwenden, können Sie Ihre App Service-App mithilfe der Sicherungs- und Wiederherstellungsfunktionen von App Service in einer Datei sichern.
Diese Funktionen helfen, wenn es schwierig ist, Code erneut bereitzustellen oder den Zustand auf dem Datenträger zu speichern. Die meisten Lösungen sollten sich nicht ausschließlich auf Sicherungen verlassen. Verwenden Sie stattdessen die anderen Funktionen in diesem Leitfaden, um Ihre Resilienzanforderungen zu unterstützen. Sicherungen schützen jedoch vor einigen Risiken, die andere Ansätze nicht vermeiden.
Von Bedeutung
Ab dem 31. März 2028 unterstützen benutzerdefinierte Azure App Service-Sicherungen das Sichern verknüpfter Datenbanken nicht mehr. Weitere Informationen finden Sie unter Abschaffung von verknüpften Datenbanksicherungen.
Verwenden Sie stattdessen die systemeigenen Sicherungs- und Wiederherstellungstools Ihrer verknüpften Datenbank. Weitere Informationen finden Sie unter Sichern und Wiederherstellen Ihrer App im App-Dienst.
Resilienz gegenüber Wartungsarbeiten an Diensten
Der App-Dienst führt regelmäßige Dienstupgrades und andere Wartungsaufgaben durch. Um ihre erwartete Kapazität während eines Upgrades aufrechtzuerhalten, fügt die Plattform während des Upgradevorgangs automatisch zusätzliche Instanzen des App Service-Plans hinzu.
Aktivieren Sie Zonenredundanz. Wenn Sie Zonenredundanz für Ihren App Service-Plan aktivieren, verbessern Sie auch die Resilienz während Plattformupdates. Aktualisierungsdomänen bestehen aus Sammlungen von virtuellen Computern, die während eines Updates offline gehen und sie den Verfügbarkeitszonen zugeordnet sind. Durch die Bereitstellung mehrerer Instanzen in Ihrem App Service-Plan und das Aktivieren der Zonenredundanz für Ihren Plan wird eine zusätzliche Resilienzebene hinzugefügt, wenn eine Instanz oder Zone während eines Upgrades fehlerhaft wird.
Weitere Informationen finden Sie unter Routinemäßig geplante Wartung für App Service und Routinemäßige Wartung für App Service, Neustarts und Downtime.
Service-Level-Vereinbarung
Der Service level agreement (SLA) für Azure-Dienste beschreibt die erwartete Verfügbarkeit jedes Diensts und die Bedingungen, die Ihre Lösung erfüllen muss, um diese Verfügbarkeitserwartungen zu erreichen. Weitere Informationen finden Sie unter SLAs für Onlinedienste.
Wenn Sie einen zonenredundanten App Service-Plan bereitstellen, erhöht sich der im SLA definierte Verfügbarkeitsprozentsatz.