Wie erhalte ich benutzerdefinierte E-Mail-Benachrichtigungen, wenn sich der Status meiner Amazon-EC2-Instance ändert?
Ich möchte E-Mail-Benachrichtigungen erhalten, wenn sich der Status meiner Amazon Elastic Compute Cloud (Amazon EC2)-Instance ändert.
Kurzbeschreibung
Um E-Mail-Benachrichtigungen zu erhalten, wenn die EC2-Instance den Status ändert, erstelle ein Amazon Simple Notification Service (Amazon SNS)-Thema, um Nachrichten an abonnierte Endpunkte oder Clients zu senden. Verwende anschließend den Ereignytyp EC2 Instance State-change Notification (Benachrichtigung zu Statusänderungen bei EC2-Instances), um eine Amazon-EventBridge-Regel zu erstellen.
Hinweis: Amazon SNS und EventBridge werden dir separat in Rechnung gestellt.
Lösung
Erstellen einer benutzerdefinierten E-Mail-Benachrichtigung
Gehe wie folgt vor:
- Erstelle ein Amazon-SNS-Thema.
Hinweis: Wähle für Typ die Option Standard aus. - Erstelle ein Abonnement für das SNS-Thema.
Hinweis: Wähle für Protokoll die Option E-Mail aus. Du erhältst eine E-Mail zur Bestätigung des Abonnements an die von dir eingegebene E-Mail-Adresse. Wähle in der E-Mail Abonnement bestätigen. - Öffne die EventBridge-Konsole.
- Wähle Regel erstellenaus. Oder wähle im Navigationsbereich Ereignisse die Option Regeln und dann Regel erstellen aus.
- Gib einen Namen und eine Beschreibung für deine Regel ein.
- Behalte die Standardeinstellungen für den Event Bus und den Typ der Regel bei, und wähle dann Nächster Schritt aus.
- Behalte bei Ereignismuster die Option AWS-Services als Ereignisquelle bei. Wähle als AWS-Service die Option EC2 aus.
- Wähle als Ereignistyp die Option Benachrichtigung zu Statusänderungen bei EC2-Instances aus.
- Behalte die Standardeinstellungen für Beliebiger Zustand und Beliebige Instance bei und wähle dann Nächster Schritt.
- Wähle unter Ein Ziel auswählen die Option SNS-Thema aus.
- Wähle als Thema das Thema aus, das du erstellt hast, und klicke dann auf Nächster Schritt.
- Erweitere den Abschnitt Zusätzliche Einstellungen. Wähle unter Zieleingabe konfigurieren die Option Eingabe-Transformer aus.
- Wähle Eingabe-Transformer konfigurieren aus und gib dann den folgenden Text für Eingabepfad und Vorlage ein.
Eingabepfad:
{ "instance-id": "$.detail.instance-id", "state": "$.detail.state", "time": "$.time", "region": "$.region", "account": "$.account" }
Vorlage:
"At <time>, the status of your EC2 instance <instance-id> on account <account> in the AWS Region <region> has changed to <state>."
Hinweis: Weitere Informationen zu Eingabe-Transformationsfeldern findest du unter Amazon-EventBridge-Eingabetransformation. Der Eingabe-Transformer kann nur Felder verwenden, die im Datenereignis vorhanden sind. Das folgende Ereignismuster für ein Ereignis, das in der vorherigen Konfiguration erfasst wurde, zeigt beispielsweise eine Instance, die in den Status Ausstehend übergegangen ist:
{ "id": "7bf73129-1428-4cd3-a780-95db273d1602", "detail-type": "EC2 Instance State-change Notification", "source": "aws.ec2", "account": "123456789012", "time": "2021-11-11T21:29:54Z", "region": "us-east-1", "resources": ["arn:aws:ec2:us-east-1:123456789012:instance/i-1234567890abcdef0"], "detail": { "instance-id": "i-1234567890abcdef0", "state": "pending" } }
- Wähle Nächster Schritt aus.
- Lasse die optionalen Tags leer und wähle dann Nächster Schritt.
- Wähle Regel erstellenaus.
Hinweis: Die Regel, die du erstellt hast, gilt nur für die AWS-Region, in der du sie erstellt hast. Die Regel generiert jedes Mal eine E-Mail-Benachrichtigung, wenn eine Instance den Status ändert.
Testen der benutzerdefinierten E-Mail-Benachrichtigung
Starte eine Instance und halte sie an, um die Regel zu testen.
Hinweis: Wenn du eine Instance anhältst und startest, ändert sich die öffentliche IP-Adresse der Instance. Es empfiehlt sich, beim Weiterleiten von externem Datenverkehr an die Instance eine Elastic IP-Adresse anstelle einer öffentlichen IP-Adresse zu verwenden. Wenn du Amazon Route 53 verwendest, musst du möglicherweise die Route-53-DNS-Datensätze aktualisieren, wenn sich die öffentliche IP-Adresse ändert.
Bevor du die Instance anhältst und startest, gehe wie folgt vor:
- Wenn deine Instance einen Instance-Speicher verwendet, sichere die Volume-Daten im Instance-Speicher auf persistentem Speicher. Du kannst beispielsweise die Daten in Amazon Elastic Block Store (Amazon EBS)-Volumes oder Amazon Simple Storage Service (Amazon S3)-Buckets speichern.
Wichtig: Amazon EC2 löscht Instance-Speicherdaten, wenn du die Instance anhältst. - Erstelle einen Snapshot des Amazon-EBS-Volumes. Wenn Probleme auftreten, kannst du den Snapshot verwenden, um die Instance wiederherzustellen.
- Entferne die Instance vorübergehend aus ihrer Amazon EC2-Auto-Scaling-Gruppe, damit du die Instance beim Anhalten nicht versehentlich beendest.
Hinweis: EC2 Auto Scaling kann angehaltene Instances in einer Auto-Scaling-Gruppe basierend auf deinen Einstellungen für den Abskalierungsschutz beenden. Instances, die du mit Amazon EMR, AWS CloudFormation oder AWS Elastic Beanstalk startest, sind möglicherweise Teil einer Auto-Scaling-Gruppe. - Stelle das Verhalten beim Herunterfahren der Instance auf Stopp ein, um sicherzustellen, dass die Instances nicht beendet werden, wenn du sie anhältst.
- Themen
- Compute
- Sprache
- Deutsch
