AWS Germany – Amazon Web Services in Deutschland

AWS Health Aware — Angepasste Warnungen für Organisationen und persönliche AWS-Konten

von Mridula Grandhi und Jordan Roth, übersetzt von Christoph Schmitter

AWS strebt eine hohe Verfügbarkeit an und die meisten Dienste haben eine Verfügbarkeit von 99,9%. In den seltenen Fällen, in denen Ereignisse auftreten, sollten Kunden jedoch bereit sein, darauf zu reagieren. AWS Health ist der wichtigste Kanal für die Kommunikation von Servicebeeinträchtigungen, geplanten Änderungen und Problemen, die sich auf Ressourcen auswirken. Für Kunden, die kritische Anwendungen betreiben, ist der Zugriff auf proaktive Warnmeldungen in Echtzeit ein wichtiger Aspekt, um ihre gesamten Prozesse zur Behebung von Problemen zu verbessern und die Qualität des Betriebs zu gewährleisten. Geschwindigkeit und Agilität sind für unsere Kunden entscheidend, wenn es um die Überwachung von Ereignissen und die Aufrechterhaltung der Zuverlässigkeit und Verfügbarkeit der Kundenanwendungen geht, die auf AWS laufen.

Das AWS Health Aware [EN, Extern] — AHA ist ein Framework für Vorfallmanagement und Kommunikation, mit dem proaktive Warnmeldungen von AWS Health in Echtzeit an die bevorzugten Kommunikationskanäle des Kunden übertragen werden können. Kunden, die AWS Organizations verwenden, können aggregierte Benachrichtigungen auf Kontoebene von aktiven, betroffenen Konten in ihrer gesamten Organisation erhalten. Benachrichtigungen können für Endgeräte wie Slack, Microsoft Teams, Amazon Chime und E-Mail konfiguriert werden. AHA kann auch in eine Vielzahl anderer Endpunkte integriert werden. Diese Warnmeldungen sollen Kunden einen Überblick über Ereignisse geben und ihnen helfen, Probleme, die sich auf die Anwendungen oder Workloads unserer Kunden auswirken, schnell zu diagnostizieren und zu lösen.

Vorteile von AHA­

AHA verwendet die AWS Health API, die ausschließlich AWS-Kunden mit einem Business- oder Enterprise Support-Plan zur Verfügung steht.

Diese Kunden können die folgenden Funktionen nutzen:

  1. Integration mit Kommunikationsplattformen wie Slack, Amazon Chime, Microsoft Teams und E-Mail für automatische Benachrichtigungen in Echtzeit bei AWS-Vorfällen.
  2. Integration mit Amazon EventBridge, mit der Möglichkeit, sowohl organisatorische als auch nicht organisatorische Warnmeldungen in einen Event-Bus aufzunehmen. Dies hilft Kunden bei der Integration mit mehr als 35 SaaS-Partnern wie NewRelic/DataDog/PagerDuty usw.
  3. Aggregierte AWS Personal Health Dashboard (PHD) Warnungen mit verbindlichen Anleitungen von AWS Health.
  4. Einblick in die AWS-Konten und Ressourcen, die von PHD-Benachrichtigungen betroffen sind.
  5. Möglichkeit, unerwünschte Benachrichtigungen herauszufiltern, indem bestimmte Regionen ausgewählt werden.

Umfang

Bevor wir mit der Bereitstellung beginnen, schauen wir uns die Funktionen und die Architektur von AHA an, um besser zu verstehen, wie alles zusammenarbeitet. In Abbildung 1 werden die verfügbaren AWS Health API-Ereignisse dargestellt, aufgeschlüsselt danach ob der Kunde AWS Organizations verwendet oder nicht.Überblick über die Architektur

Überblick über die Architektur

Die folgenden Diagramme zeigen die Architektur von AHA, ein serverloses Setup in einer oder mehreren Regionen.

Ein Benutzer lädt ein AWS CloudFormation Template (CFT) in sein AWS-Konto hoch. Das CFT lädt die Lösung aus einem Amazon Simple Storage Service (Amazon S3)-Bucket. Das CFT erstellt dann AWS Identity and Access Management (IAM)-Rollen, einen Amazon EventBridge-Scheduler , eine AWS-Lambda-Funktion, Webhook-URLs in AWS Secrets Manager und eine Amazon DynamoDB-Tabelle.

Einzelne Region

Diese Architektur ermöglicht es Ihnen, AHA in einer bestimmten AWS-Region bereitzustellen.

Mehrere Regionen

Mit dieser Architektur können Sie AHA in einem Active-Active-Region-Modell einsetzen. Dabei wird die AHA-Bereitstellung in mehreren Regionen repliziert, um jederzeit reagieren zu können und Störungen zu vermeiden, die bei AWS bedingten Ereignissen auftreten können.

In dieser Tabelle führen wir die Ressourcen der AHA-Architektur und ihren Zweck auf.

Resource Beschreibung
DynamoDDBTable DynamoDB-Tabelle, die zum Speichern von Event-ARNs, Updates und TTL verwendet wird
ChimeChannelSecret Webhook-URL für Amazon Chime, gespeichert in AWS Secrets Manager
EventBusNameSecret EventBus-ARN für Amazon EventBridge, gespeichert im AWS Secrets Manager
LambdaExecutionRole IAM-Rolle, die für LambdaFunction verwendet wird
LambdaFunction Lambda-Hauptfunktion, die aus der AWS Health API liest, an konfigurierte Webhook-URLs sendet und in DynamoDB schreibt
LambdaSchedule Amazon EventBridge-Regel, die jede Minute ausgeführt wird, um die LambdaFunction aufzurufen
LambdaSchedulePermission Für LambdaSchedule verwendete IAM-Rolle
MicrosoftChannelSecret Webhook-URL für Microsoft Teams, gespeichert in AWS Secrets Manager
SlackChannelSecret Webhook-URL für Slack, gespeichert in AWS Secrets Manager

EventBridge-Erweiterbarkeit

Amazon EventBridge macht es einfach, Anwendungen miteinander zu verbinden, indem ein Strom von Echtzeitdaten aus benutzerdefinierten Quellen, Software-as-a-Service (SaaS) -Anwendungen und Amazon Web Services (AWS) bereitgestellt wird.
Die Daten können dann an verschiedene Ziele wie AWS Lambda, AWS Step Functions, Amazon Kinesis und viele weitere gesendet werden. Amazon EventBridge ermöglicht es Ihnen auch, Ihre Anwendungen mit einer Reihe von SaaS-Partnern zu verbinden, ohne sich um den Aufbau und die Wartung einer benutzerdefinierten Infrastruktur kümmern zu müssen. Kunden nutzen diese Funktionen, um die Skalierbarkeit und Zuverlässigkeit ihrer Anwendungen zu verbessern, indem sie statt einer engen Service-Kopplung ereignisgesteuerte Architekturen aufbauen. Da immer mehr Kunden damit begonnen haben, End-to-End-Integrationen mit EventBridge zu entwickeln, möchte AHA Ihnen Hinweise geben, wie Sie am besten mit den verschiedenen Möglichkeiten für Ereignissquellen und Ereignistypen beginnen können.
Zu diesen Anwendungsfällen gehören:

  1. Überwachung in (nahezu) Echtzeit und Archivierung historischer Geschäftsereignisse.
  2. Visualisierung und Analyse von Ereignissen für Business Intelligence und betriebliche Zwecke.
  3. Automatisierte Warnung und Behebung von Anwendungs-, Service- und Infrastruktursystemen.
  4. Verbindung benutzerdefinierter Workflows mit nachgeschalteten Verbrauchern und älteren oder lokalen Anwendungen.

Das folgende Diagramm veranschaulicht die Optionen zur Erweiterung von AHA durch Amazon EventBridge-Integrationen:

Diagramm veranschaulicht die Optionen zur Erweiterung von AHA durch Amazon EventBridge-Integrationen

Allgemeine Voraussetzungen

Konfiguration eines Endpunkts

AHA kann an mehrere Endpunkte senden (Webhook-URLs, E-Mail oder EventBridge). Um eines davon verwenden zu können, müssen Sie es vorher einrichten, da einige davon auf Websites von Drittanbietern durchgeführt werden. Wir werden hier einige der gängigsten besprechen.

  • Erstellen einer Amazon Chime Webhook-URL (Berechtigungen erforderlich; Zugriff auf Amazon Chime-Räume, Möglichkeit, Webhooks zu verwalten)
    1. Erstellen Sie einen neuen Chatroom für Ereignisse (z. B. aws_events)
    2. Klicken Sie in dem in Schritt 1 erstellten Chatroom auf das Zahnradsymbol und klicken Sie auf Webhooks und Bots verwalten
    3. Klicken Sie auf Webhook hinzufügen
    4. Geben Sie einen Namen für den Bot ein (z. B. AHA) und klicken Sie auf Erstellen
    5. Klicken Sie auf URL kopieren, wir benötigen sie für die Bereitstellung
  • Eine Slack-Webhook-URL erstellen (Berechtigungen erforderlich; füge einen neuen Channel und eine neue App in Slack hinzu)
    1. Erstelle einen neuen Kanal [EN, Extern] für Ereignisse (z. B. aws_events)
    2. Gehe in deinem Browser zu: workspace-name.slack.com/apps, wobei workspace-name der Name Ihres Slack Workspace ist
    3. Suchen Sie in der Suchleiste nach: Incoming Webhooks und klicken Sie darauf
    4. Klicke auf Zu Slack hinzufügen
    5. Klicken Sie im Drop-down-Menü auf den Kanal, den Sie in Schritt 1 erstellt haben, und klicken Sie auf Integration für eingehende Webhooks hinzufügen
    6. Auf dieser Seite können Sie den Namen des Webhooks (z. B. AWS Bot), das zu verwendende Symbol/Emoji usw. ändern.
    7. Für das Deployment benötigen wir die Webhook-URL
  • Erstellen einer Microsoft Teams-Webhook-URL (Berechtigungen erforderlich — fügen Sie einen neuen Kanal und eine App in Microsoft Teams hinzu)
    1. Erstelle einen neuen Kanal [Extern] für Ereignisse (z. B. aws_events)
    2. Gehen Sie in Ihrem Microsoft-Team zu Apps
    3. Suchen Sie in der Suchleiste nach: Incoming Webhook und klicken Sie darauf
    4. Klicke auf Zum Team hinzufügen
    5. Gib den Namen deines Kanals ein, den du in Schritt 1 erstellt hast, und klicke auf Connector einrichten.
    6. Auf dieser Seite können Sie den Namen des Webhooks (z. B. AWS Bot), das zu verwendende Symbol/Emoji usw. ändern. Wenn Sie fertig sind, klicken Sie auf Erstellen
    7. Für die Bereitstellung benötigen wir die Webhook-URL, die angezeigt wird
  • E-Mail konfigurieren
    1. Sie können E-Mail-Benachrichtigungen an eine oder mehrere Adressen senden. Sie müssen jedoch zuerst die E-Mail (s) in der Simple Email Service (SES) -Konsole verifizieren.
    2. AHA nutzt Amazon Simple Email Service (SES), sodass Sie lediglich eine An: -Adresse und eine Absenderadresse eingeben müssen.
    3. Möglicherweise müssen Sie in Ihrer Umgebung eine Regel zulassen, damit die E-Mails von Ihrem E-Mail-Client nicht als Spam gekennzeichnet werden.
  • Eine Amazon EventBridge erstellen — EventBus
    1. Öffnen Sie die Amazon EventBridge-Konsole unter https://console.aws.amazon.com/events/
    2. Wählen Sie im Navigationsbereich Event Busse aus
    3. Wählen Sie Eventbus erstellen
    4. Geben Sie einen Namen für den neuen Eventbus ein
    5. Wählen Sie Erstellen

Weitere Informationen finden Sie in der Dokumentation.

Einrichtung

Detaillierte Bereitstellungsschritte sind auf AHA Github [EN, Extern] verfügbar.

Unterstützung und Beiträge

Die AWS Health Aware-Lösung ist im Github AWS Samples-Repository verfügbar. Die Entwickler dieser Lösung können bei AHA-Fragen oder Feature-Anfragen nur auf einer „BEST EFFORT“ Basis helfen.

Enterprise Support-Kunden können sich bei weiteren Fragen oder Funktionsanfragen an ihre TAMs wenden. Alle Beiträge zu diesem Projekt innerhalb von Github sind willkommen und können über Github-Pull-Requests angefordert werden!

Fazit

In diesem Beitrag haben Sie erfahren, wie die AWS Health-API verwendet werden kann, um Sie mit aktuellen Informationen über AWS Health-Ereignisse zu versorgen, die Sie betreffen. Sie haben über AWS CloudFormation eine serverlose Infrastruktur bereitgestellt, die diese Benachrichtigungen an Ihre bevorzugten Kommunikationskanäle sendet. Sie sollten jetzt in der Lage sein, AWS Health-Ereignisse für Ihre persönlichen Konten und/oder Konten von AWS Organizations proaktiv zu überwachen und darauf zu reagieren. Besuchen Sie zunächst das Github-Repository von aws-samples und laden Sie AWS Health Aware (AHA) [EN, Extern] herunter.

Über die Autoren

Mridula Grandhi ist Leitende Solutions Architektin spezialisiert auf Compute bei AWS und berät Kunden zu Aspekten der Auswahl von Geschäftstechnologien, Anwendungsmodernisierung und Infrastrukturmodernisierung und hilft ihnen dabei, ihre digitale Transformation umzusetzen. Sie können sie auf Twitter/X unter @gmridula1 erreichen (DMs verfügbar).
Jordan Roth ist Senior Solution Architect, spezialisiert auf VMC und Hybrid-Edge für AWS. Jordan unterstützt AWS-Kunden und -Partner bei ihren Cloud-Migrationsstrategien. In seiner Freizeit reist er gerne mit seiner Frau um die Welt, kocht, löst Escape Rooms und führt seine beiden Hunde aus.