Wie behebe ich ein Amazon SNS-Thema, das keine Benachrichtigungen von AWS Cost Anomaly Detection erhält?

Lesedauer: 4 Minute
0

Der von mir erstellte Monitor zur Erkennung von Kostenanomalien sendet keine Benachrichtigungen zu meinem Amazon Simple Notification Service (Amazon SNS)-Thema.

Kurzbeschreibung

Wenn der Monitor zur Erkennung von Kostenanomalien eine Anomalie feststellt, veröffentlicht er eine Benachrichtigung zum Thema Amazon SNS. Anschließend übermittelt Amazon SNS die Benachrichtigungen an die abonnierten Endpunkte, in der Regel per E-Mail. Die Benachrichtigung kann den betroffenen Endpunkt aus den folgenden Gründen nicht erreichen:

  • Benachrichtigungen zur Erkennung von Kostenanomalien decken das Thema SNS nicht ab. Dies kann an fehlenden Berechtigungen für das Thema Zugriffsrichtlinie oder die KMS-Schlüsselrichtlinie liegen, wenn die Verschlüsselung für das Thema aktiviert ist.
  • Das SNS-Thema übermittelt keine Benachrichtigungen an die abonnierten Endpunkte.

Behebung

Überprüfen Sie die SNS-Metrik NumberOfMessagesPublished

Überprüfen Sie anhand der SNS-Metrik NumberOfMessagesPublished, ob Ereignisse im anomaly detection history entsprechende Datenpunkte für veröffentlichte Benachrichtigungen enthalten. Diese Metrik gibt an, ob die Benachrichtigungen erfolgreich zu Ihrem Thema veröffentlicht wurden.

Die SNS-Metrik NumberOfMessagesPublished hat keine Datenpunkte

Legen Sie die erforderlichen Berechtigungen fest

Bestätigen Sie, dass Sie dem AWS Cost Anomaly Detection Service die erforderlichen Berechtigungen zum Veröffentlichen von Nachrichten zu Ihrem Thema erteilt haben.

Mit der folgenden Beispielrichtlinie für den Zugriff auf SNS-Themen kann AWS Cost Anomaly Detection Nachrichten zu einem Amazon SNS-Thema veröffentlichen:

{  
  "Sid": "E.g., AWSAnomalyDetectionSNSPublishingPermissions",  
  "Effect": "Allow",  
  "Principal": {  
    "Service": "costalerts.amazonaws.com"  
  },  
  "Action": "SNS:Publish",  
  "Resource": "your topic ARN"  
}

Weitere Informationen finden Sie unter Creating an Amazon SNS topic for anomaly notifications.

Serverseitige Verschlüsselung aktivieren

Überprüfen Sie, ob Sie die serverseitige Verschlüsselung für Ihr Thema aktiviert haben. Bestätigen Sie, dass Sie dem AWS Cost Anomaly Detection Service die AWS-Schlüsselverwaltungsberechtigungen (AWS KMS) für Ihren Schlüssel erteilt haben, als Sie das Thema veröffentlicht haben.

Ihr Amazon SNS-Thema muss einen vom Kunden verwalteten AWS KMS-Schlüssel verwenden. Dieser KMS-Schlüssel muss eine benutzerdefinierte Schlüsselrichtlinie enthalten, die es dem AWS Cost Anomaly Detection Service ermöglicht, die Aktionen kms:GenerateDataKey und kms:Decrypt auszuführen. Weitere Informationen finden Sie unter Configuring AWS KMS permissions.

Das folgende Beispiel für eine IAM-Richtlinie ermöglicht es AWS Cost Anomaly Detection, Nachrichten in einem verschlüsselten Amazon SNS-Thema zu veröffentlichen:

{  
    "Version": "2012-10-17",  
    "Statement": [{  
        "Effect": "Allow",  
        "Principal": {  
            "Service": "costalerts.amazonaws.com"  
        },  
    "Action": [  
        "kms:GenerateDataKey*",  
        "kms:Decrypt"  
        ],  
    "Resource": "*"  
    }]  
    }

Die SNS-Metrik NumberOfMessagesPublished ist gefüllt, aber Sie erhalten immer noch keine Benachrichtigungen

Gehen Sie wie folgt vor, um das Problem zu beheben:

  1. Stellen Sie sicher, dass sich Ihre abonnierten Endpunkte im Confirmed state befinden.
  2. Bestätigen Sie, dass die Metrikbenachrichtigungen NumberOfNotificationsDelivered und NumberOfNotificationsFailed veröffentlicht und erfolgreich an die Endpunkte übermittelt wurden.
  3. Prüfen Sie, ob es für die abonnierten Endpunkte eine Filterrichtlinie gibt. Überprüfen Sie die NumberOfNotificationsFilteredOut-Metrik, um festzustellen, ob die Nachrichten herausgefiltert werden. Wenn Nachrichten herausgefiltert werden, finden Sie weitere Informationen unter How do I troubleshoot subscription filter policy issues in Amazon SNS?
  4. Überprüfen Sie, ob der abonnierte Endpunkt des Themas ein E-Mail-Protokoll ist. Prüfen Sie, ob die Metrik NumberOfNotificationsDelivered anzeigt, dass Benachrichtigungen erfolgreich zugestellt wurden, aber nicht den E-Mail-Posteingang erreichen. Weitere Informationen finden Sie unter Why can't I receive email notifications from my Amazon SNS topic?
  5. Nachrichten erreichen diese anderen abonnierten Endpunkte möglicherweise nicht:
  • HTTP
  • Amazon Kinesis Data Firehose
  • AWS Lambda
  • Endpunkt der Plattformanwendung
  • Amazon Simple Queue-Service
  • Kurznachrichtendienst (SMS)

Aktivieren Sie die Versandstatusprotokolle zum Thema Amazon SNS, um das Problem weiter zu beheben. Das ProviderResponse-Attribut in den Protokollen erklärt die Ursache des Lieferfehlers.

**Hinweis:**Um sicherzustellen, dass jeder Nachrichtenübermittlungsstatus protokolliert wird, setzen Sie die Erfolgsmeldungsrate auf 100 %. Wenn Sie einen niedrigeren Prozentsatz verwenden, generiert SNS Zustellungsprotokolle nur für den angegebenen Prozentsatz der zugestellten oder fehlgeschlagenen Nachrichten.

AWS OFFICIAL
AWS OFFICIALAktualisiert vor 10 Monaten