Modell der geteilten Verantwortung für Ausfallsicherheit - Säule der Zuverlässigkeit

Modell der geteilten Verantwortung für Ausfallsicherheit

Die Ausfallsicherheit ist eine geteilte Verantwortung zwischen AWS und Ihnen. Sie sollten unbedingt wissen, wie die Notfallwiederherstellung (DR) und Verfügbarkeit als Teil der Ausfallsicherheit im Rahmen dieses gemeinsamen Modells funktionieren.

AWS-Verantwortung – Ausfallsicherheit der Cloud

AWS ist für die Ausfallsicherheit der Infrastruktur verantwortlich, über die alle in AWS Cloud angebotenen Services ausgeführt werden. Diese Infrastruktur umfasst die Hardware, Software, Netzwerke und Einrichtungen, die die AWS Cloud-Services ausführen. AWS unternimmt wirtschaftlich vertretbare Anstrengungen, um diese AWS Cloud-Services verfügbar zu halten und sicherzustellen, dass die Verfügbarkeit der Services die Service Level Agreements (SLAs) von AWS erfüllt oder übertrifft.

Die globale Cloud-Infrastruktur von AWS ist so konzipiert, dass Kunden hochgradig widerstandsfähige Workload-Architekturen erstellen können. Jede AWS-Region-Region ist vollständig isoliert und besteht aus mehreren Availability Zones, bei denen es sich um physisch isolierte Partitionen der Infrastruktur handelt. Availability Zones isolieren Fehler, die die Ausfallsicherheit von Workloads beeinträchtigen könnten, und verhindern, dass sie sich auf andere Zonen in der Region auswirken. Gleichzeitig sind alle Zonen in einer AWS-Region mit einem Netzwerk mit hoher Bandbreite und geringer Latenz verbunden, und zwar über vollständig redundante, dedizierte Metro-Glasfaserverbindungen, die einen hohen Durchsatz und eine geringe Latenz zwischen den Zonen ermöglichen. Der gesamte Datenverkehr zwischen den Zonen ist verschlüsselt. Die Leistung des Netzwerks ist ausreichend, um eine synchrone Replikation zwischen den Zonen zu ermöglichen. Wenn eine Anwendung auf mehrere AZs aufgeteilt wird, sind Unternehmen besser isoliert und vor Problemen wie Stromausfällen, Blitzeinschlägen, Tornados, Wirbelstürmen und mehr geschützt.

Kundenverantwortung – Ausfallsicherheit in der Cloud

Ihre Verantwortung wird von den AWS Cloud-Services bestimmt, die Sie auswählen. Dies bestimmt den Umfang der Konfigurationsarbeit, die Sie als Teil Ihrer Verantwortung für die Ausfallsicherheit durchführen müssen. Bei einem Service wie Amazon Elastic Compute Cloud (Amazon EC2) muss der Kunde zum Beispiel alle notwendigen Aufgaben zur Konfiguration und Verwaltung der Ausfallsicherheit übernehmen. Kunden, die Amazon-EC2-Instances bereitstellen, sind für die Bereitstellung von Amazon-EC2-Instances an mehreren Standorten (wie AWS Availability Zones), die Implementierung der Selbstreparatur mit Services wie Auto Scaling sowie die Verwendung von bewährten Methoden für eine ausfallsichere Workload-Architektur für Anwendungen, die auf den Instances installiert sind, verantwortlich. Für verwaltete Services wie Amazon S3 und Amazon DynamoDB betreibt AWS die Infrastrukturebene, das Betriebssystem und die Plattformen. Kunden greifen auf die Endpunkte zu, um Daten zu speichern und abzurufen. Sie sind dafür verantwortlich, die Ausfallsicherheit Ihrer Daten zu verwalten, einschließlich Sicherungs-, Versionsverwaltungs- und Replikationsstrategien.

Das Bereitstellen Ihrer Workload in mehreren Availability Zones in einer AWS-Region ist Teil einer Hochverfügbarkeitsstrategie, die darauf abzielt, Workloads zu schützen, indem Probleme auf eine Availability Zone beschränkt werden. Die Redundanz der anderen Availability Zones wird genutzt, um Anfragen weiterhin zu bedienen. Eine Multi-AZ-Architektur ist außerdem Teil einer Notfallwiederherstellungsstrategie, die darauf abzielt, Workloads besser zu isolieren und vor Problemen wie Stromausfällen, Blitzeinschlägen, Tornados, Erdbeben und anderen Ereignissen zu schützen. Notfallwiederherstellungsstrategien können auch auf mehrere AWS-Regionen zurückgreifen. In einer Aktiv/Passiv-Konfiguration wird der Service für die Workload beispielsweise von der aktiven Region auf die Notfallwiederherstellungsregion übertragen, wenn die aktive Region die Anfragen nicht mehr bedienen kann.

Diagramm zur Veranschaulichung des geteilten Modells zur Ausfallsicherheit

Verantwortung für die Ausfallsicherheit in der Cloud und der Cloud selbst für Kunden und AWS

Sie können AWS-Services nutzen, um Ihre Ausfallsicherheitsziele zu erreichen. Als Kunde sind Sie für die Verwaltung der folgenden Aspekte Ihres Systems verantwortlich, um die Ausfallsicherheit in der Cloud zu erreichen. Weitere Informationen zu den einzelnen Services finden Sie in der AWS-Dokumentation.

Netzwerke, Kontingente und Beschränkungen

  • Bewährte Methoden für diesen Bereich des Modells der geteilten Verantwortung werden unter Grundlagen detailliert beschrieben.

  • Planen Sie Ihre Architektur mit ausreichendem Spielraum zum Skalieren. Informieren Sie sich über die Service Quotas und die Beschränkungen der genutzten Services unter Berücksichtigung der erwarteten Zunahme der Last, falls zutreffend.

  • Entwerfen Sie Ihre Netzwerktopologie so, dass sie hochverfügbar, redundant und skalierbar ist.

Änderungsmanagement und operative Ausfallsicherheit

Beobachtbarkeit und Ausfallmanagement

Workload-Architektur

  • Ihre Workload-Architektur umfasst die Art und Weise, wie Sie Services rund um geschäftliche Bereiche entwerfen, SOA und das Design verteilter Systeme anwenden, um Fehler zu vermeiden, und Funktionen wie Drosselung, Wiederholungen, Warteschlangenmanagement, Zeitüberschreitungen und Notfallfunktionen integrieren.

  • Verlassen Sie sich auf bewährte AWS-Lösungen, die Amazon Builders' Library und Serverless-Muster, um sich an bewährten Methoden zu orientieren und Implementierungen anzugehen.

  • Nutzen Sie kontinuierliche Verbesserungen, um Ihr System in verteilte Services aufzuteilen und so schneller zu skalieren und Innovationen voranzutreiben. Nutzen Sie Leitfäden für AWS-Microservices und verwaltete Serviceoptionen, um Ihre Möglichkeiten zur Umsetzung von Veränderungen und Innovationen zu vereinfachen und zu beschleunigen.

Kontinuierliches Testen kritischer Infrastrukturen

  • Das Testen der Zuverlässigkeit bedeutet auf der Funktions-, Leistungs- und Chaos-Ebene zu testen sowie die Anwendung von Vorfallsanalysen und Gameday-Verfahren, um Fachwissen zur Lösung von Problemen aufzubauen, die nicht genau verstanden werden.

  • Sowohl bei Anwendungen, die vollständig in der Cloud laufen, als auch bei hybriden Anwendungen können Sie sich schnell und zuverlässig von Ausfällen erholen, wenn Sie wissen, wie sich Ihre Anwendung bei Problemen oder Komponentenausfällen verhält.

  • Erstellen und dokumentieren Sie wiederholbare Experimente, um zu verstehen, wie sich Ihr System verhält, wenn Dinge nicht wie erwartet funktionieren. Diese Tests belegen die Effektivität Ihrer allgemeinen Ausfallsicherheit und bieten eine Feedback-Schleife für Ihre operativen Verfahren, bevor Sie mit realen Fehlerszenarien konfrontiert werden.