REL 11: Wie lassen sich Workloads so gestalten, dass sie Komponentenausfälle verkraften?
Workloads, für die eine hohe Verfügbarkeit und eine niedrige mittlere Reparaturzeit erforderlich sind, müssen auf Ausfallsicherheit ausgelegt sein.
Ressourcen
Static stability in AWS: AWS re:Invent 2019: Introducing The Amazon Builders’ Library
(DOP328)
AWS OpsWorks: Using Auto Healing to Replace Failed Instances
What Is Amazon EventBridge?
Amazon Route 53: Choosing a Routing Policy
What Is AWS Global Accelerator?
The Amazon Builders' Library: Static stability using Availability Zones
The Amazon Builders' Library: Implementing health checks
Well-Architected lab: Level 300: Implementing Health Checks and Managing Dependencies
to Improve Reliability
The Berkeley/Stanford Recovery-Oriented Computing (ROC) Project
Multiple data center HA network connectivity
AWS Marketplace: products that can be used for fault tolerance
APN
Partner: partners that can help with automation of your fault tolerance
Bewährte Methoden:
-
Überwachen aller Komponenten der Workload auf Fehler: Überwachen Sie den Zustand Ihrer Workload kontinuierlich, damit Sie und die automatisierten Systeme eine Verschlechterung oder einen vollständigen Ausfall umgehend bemerken. Überwachen Sie Key Performance Indicators (KPIs, wichtige Leistungskennzahlen) auf Grundlage des geschäftlichen Wertes.
-
Failover zu fehlerfreien Ressourcen: Stellen Sie sicher, dass fehlerfreie Ressourcen weiterhin Anforderungen erfüllen können, wenn ein Ressourcenausfall auftritt. Stellen Sie bei Standortausfällen (z. B. Availability Zone oder AWS-Region) sicher, dass Sie Systeme für ein Failover auf fehlerfreie Ressourcen an nicht beeinträchtigten Standorten eingerichtet haben.
-
Automatisieren der Reparatur auf allen Ebenen: Verwenden Sie bei Erkennung eines Fehlers automatisierte Funktionen, um Maßnahmen zur Behebung durchzuführen.
-
Verhindern von bimodalem Verhalten mithilfe statischer Stabilität: Bimodales Verhalten bedeutet, dass eine Workload im normalen Modus und im Fehlermodus unterschiedliche Verhaltensweisen zeigt, z. B. bei Ausfall einer Availability Zone neue Instances startet. Stattdessen sollten Sie Workloads erstellen, die statisch stabil sind und nur in einem Modus betrieben werden. In diesem Fall sollten Sie genügend Instances in jeder Availability Zone bereitstellen, damit die Verarbeitung der Workload auch beim Entfernen einer Availability Zone gewährleistet ist. Anschließend sollten Sie die beeinträchtigten Instances mithilfe von Elastic Load Balancing- oder Amazon Route 53-Zustandsprüfungen entlasten.
-
Benachrichtigungen senden, wenn sich Ereignisse auf die Verfügbarkeit auswirken: Benachrichtigungen werden nach Erkennung wichtiger Ereignisse gesendet, auch wenn das durch das Ereignis verursachte Problem automatisch behoben wurde.
Verbesserungsplan
Überwachen aller Komponenten der Workload auf Fehler
- Überwachungsintervall hängt davon ab, wie schnell Wiederherstellungen durchgeführt werden müssen: Die Wiederherstellungszeit hängt davon ab, wie viel Zeit für eine Wiederherstellung benötigt wird. Daher müssen Sie die Häufigkeit der Erfassung bestimmen, indem Sie diese Zeit und das RTO einkalkulieren.
- Festlegen, ob eine detaillierte Überwachung für EC2-Instances und Auto Scaling erforderlich
ist: Die detaillierte Überwachung bietet Metriken im 1-Minuten-Intervall, die Standardüberwachung
Metriken im 5-Minuten-Intervall.
Enable or Disable Detailed Monitoring for Your Instance
Monitoring Your Auto Scaling Groups and Instances Using Amazon CloudWatch - Bestimmen, ob eine erweiterte Überwachung für RDS erforderlich ist: Bei der erweiterten Überwachung werden mit einem Agent in den RDS-Instances nützliche
Informationen über verschiedene Prozesse oder Threads in einer RDS-Instance abgerufen.
Enhanced Monitoring
Publishing Custom Metrics
Amazon CloudWatch Synthetics enables you to create user canaries
Publishing Custom Metrics
Using Amazon CloudWatch Alarms
Using CloudWatch Dashboards
Failover zu fehlerfreien Ressourcen
- Wenn in Ihrer Workload AWS-Services wie Amazon S3 oder Amazon DynamoDB verwendet werden, werden diese automatisch in mehreren Availability Zones bereitgestellt. Bei einem Ausfall leitet die AWS-Steuerebene den Datenverkehr automatisch an fehlerfreie Standorte weiter.
- Für Amazon RDS müssen Sie Multi-AZ als Konfigurationsoption auswählen. Bei einem Ausfall
leitet AWS den Datenverkehr dann automatisch an die fehlerfreie Instance weiter.
High Availability (Multi-AZ) for Amazon RDS - Für Amazon EC2-Instances oder Amazon ECS-Aufgaben wählen Sie aus, in welchen Availability Zones die Bereitstellung erfolgen soll. Elastic Load Balancing bietet dann die Lösung, um Instances in fehlerhaften Zonen zu erkennen und den Datenverkehr an die fehlerfreien Zonen weiterzuleiten. Elastic Load Balancing kann den Datenverkehr sogar an Komponenten in Ihrem lokalen Rechenzentrum weiterleiten.
- TRANSLATION REQUIRED
- TRANSLATION REQUIRED
Overview of Amazon RDS Read Replicas - TRANSLATION REQUIRED
Amazon Route 53: Choosing a Routing Policy
What Is AWS Global Accelerator?
- TRANSLATION REQUIRED
Automatisieren der Reparatur auf allen Ebenen
How AWS Auto Scaling Works
Amazon EC2 Automatic Recovery
Amazon Elastic Block Store (Amazon EBS)
Amazon Elastic File System (Amazon EFS)
What is Amazon FSx for Lustre?
What is Amazon FSx for Windows File Server?
- Mit AWS OpsWorks lässt sich die automatische Reparatur von EC2-Instances in der Schicht
konfigurieren
AWS OpsWorks: Using Auto Healing to Replace Failed Instances
What is AWS Step Functions?
What is AWS Lambda?
- Mit Amazon EventBridge lassen sich Ereignisse wie CloudWatch-Alarme oder Statusänderungen
in anderen AWS-Services überwachen und filtern. Anhand der Ereignisinformationen kann
der Service anschließend AWS Lambda (oder andere Ziele) auslösen, um eine benutzerdefinierte
Korrekturlogik für die Workload auszuführen.
What Is Amazon EventBridge?
Using Amazon CloudWatch Alarms
Verhindern von bimodalem Verhalten mithilfe statischer Stabilität
The Amazon Builders' Library: Static stability using Availability Zones
Static stability in AWS: AWS re:Invent 2019: Introducing The Amazon Builders’ Library (DOP328)
- Stattdessen sollten Sie Systeme erstellen, die statisch stabil sind und nur in einem Modus betrieben werden. In diesem Fall sollten Sie genügend Instances in jeder Zone bereitstellen, damit die Verarbeitung der Workload auch beim Entfernen einer Availability Zone gewährleistet ist. Anschließend sollten Sie die beeinträchtigten Instances mithilfe von Elastic Load Balancing- oder Amazon Route 53-Zustandsprüfungen entlasten.
- Ein weiteres Beispiel für bimodales Verhalten: Sie lassen zu, dass Clients im Fehlerfall den Workload-Cache umgehen. Dies mag zwar wie eine praktikable Lösung zur Erfüllung der Clientanforderungen aussehen, sollte aber vermieden werden, da sie die Ansprüche an die Workload erheblich verändert und wahrscheinlich zu Fehlern führt.
Benachrichtigungen senden, wenn sich Ereignisse auf die Verfügbarkeit auswirken
Creating a CloudWatch Alarm Based on a Static Threshold
What is Amazon Simple Notification Service?