Warum erhält mein Amazon-SNS-Thema keine CloudWatch-Events-Benachrichtigungen?

Letzte Aktualisierung: 10.09.2021

Ich habe eine Amazon-CloudWatch-Events-Regel eingerichtet, um Benachrichtigungen an mein Thema Amazon Simple Notification Service (Amazon SNS) zu senden. Warum erhält mein Amazon-SNS-Thema keine Ereignisbenachrichtigungen?

Auflösung

Stellen Sie sicher, dass sich die Ziele der CloudWatch-Events-Regel in derselben AWS-Region wie die Regel befinden

Die Ziele, die Sie einer Regel zuordnen, müssen sich in derselben Region wie die Regel befinden. Weitere Informationen finden Sie unter Erste Schritte mit Amazon CloudWatch Events.

Hinweis: Um die Region zu sehen, in der sich eine AWS-Ressource befindet, überprüfen Sie den Amazon Resource Name (ARN) der Ressource.

Überprüfen Sie die Ursache des Problems, indem Sie die Metriken „Aufrufe“ und „FailedInvocations“ Ihrer CloudWatch Events-Regel überprüfen

Überprüfen Sie in der CloudWatch-Konsole die Aufrufe und FailedInvocations-Metrike Ihrer CloudWatch-Regel.

Wenn für beide Metriken Datenpunkte vorhanden sind, hat die Benachrichtigung über die CloudWatch-Events-Regel versucht, das Ziel aufzurufen, aber der Aufruf schlug fehl. Um das Problem zu beheben, müssen Sie CloudWatch die erforderlichen Berechtigungen erteilen, um Nachrichten zu Ihrem Thema zu veröffentlichen. Anweisungen finden Sie im Abschnitt Bestätigen Sie, dass Sie CloudWatch die erforderlichen Berechtigungen zum Veröffentlichen von Nachrichten zu Ihrem Thema erteilt haben dieses Artikels.

Wenn es nur Datenpunkte für die Aufrufmetrik gibt, hat die Benachrichtigung über die CloudWatch-Events-Regel das Ziel nicht erreicht. Korrigieren Sie die Fehlkonfiguration des Ziels, um das Problem zu beheben.

Weitere Informationen finden Sie unter Anzeigen verfügbarer Metriken im CloudWatch-Benutzerhandbuch.

Bestätigen Sie, dass Sie CloudWatch die erforderlichen Berechtigungen zum Veröffentlichen von Nachrichten zu Ihrem Thema erteilt haben

Die ressourcenbasierte Richtlinie Ihres Amazon SNS-Themas muss es CloudWatch ermöglichen, Nachrichten zum Thema zu veröffentlichen. Überprüfen Sie die AWS Identity and Access Management (IAM) -Richtlinie Ihres Themas, um zu bestätigen, dass es über die erforderlichen Berechtigungen verfügt, und fügen Sie sie bei Bedarf hinzu.

Wichtig: „events.amazonaws.com“ muss als „Service“ -Wert aufgeführt werden. „SNS:Publish“ muss als „Action“ -Wert aufgeführt werden.

Um die erforderlichen Berechtigungen hinzuzufügen, folgen Sie den Anweisungen unter Meine Regelausführungen, aber ich sehe keine Nachrichten, die in meinem Amazon SNS-Thema veröffentlicht wurden.

Beispiel für eine IAM-Berechtigungsanweisung, die es CloudWatch ermöglicht, Nachrichten zu einem Amazon SNS-Thema zu veröffentlichen

{
    "Sid": "AWSEvents_ArticleEvent_Id4950650036948",
    "Effect": "Allow",
    "Principal": {
        "Service": "events.amazonaws.com"
    },
    "Action": "sns:Publish",
    "Resource": "arn:aws:sns:us-east-1:123456789012:My_SNS_Topic"
}

(Für Themen mit aktivierter serverseitiger Verschlüsselung (SSE)) Vergewissern Sie sich, dass Ihr Thema über die erforderlichen Berechtigungen für AWS Key Management (AWS KMS) verfügt

Ihr Amazon SNS-Thema muss einen vom Kunden verwalteten AWS KMS-Schlüssel verwenden. Dieser KMS-Schlüssel muss eine Richtlinie für benutzerdefinierte Schlüssel enthalten, die CloudWatch ausreichende Schlüsselnutzungsberechtigungen einräumt.

Gehen Sie wie folgt vor, um die erforderlichen AWS KMS-Berechtigungen einzurichten:

1.    Erstellen Sie einen neuen KMS-Schlüssel, der vom Kunden verwaltet wird und die erforderlichen Berechtigungen für CloudWatch enthält.

2.    Konfigurieren Sie SSE für Ihr Amazon SNS-Thema mithilfe des benutzerdefinierten KMS-Schlüssels, den Sie gerade erstellt haben.

3.    Konfigurieren Sie AWS KMS-Berechtigungen, die es CloudWatch ermöglichen, Nachrichten zu Ihrem verschlüsselten Thema zu veröffentlichen.

Beispiel für eine IAM-Richtlinienanweisung, mit der CloudWatch Nachrichten zu einem verschlüsselten Amazon SNS-Thema veröffentlichen kann

{
    "Sid": "Allow CWE to use the key",
    "Effect": "Allow",
    "Principal": {
        "Service": "events.amazonaws.com"
    },
    "Action": [
        "kms:Decrypt",
        "kms:GenerateDataKey"
    ],
    "Resource": "*"
}

War dieser Artikel hilfreich?


Benötigen Sie Hilfe zur Fakturierung oder technischen Support?