Pourquoi ma rubrique Amazon SNS ne reçoit-elle pas de notifications EventBridge ?

Dernière mise à jour : 20/12/2021

J'ai configuré une règle Amazon EventBridge pour envoyer des notifications à ma rubrique Amazon Simple Notification Service (Amazon SNS). Pourquoi ma rubrique Amazon SNS ne reçoit-elle pas les notifications d'événements ?

Solution

Vérifier que les cibles de la règle EventBridge se trouvent dans la même région AWS que la règle

Les cibles que vous associez à une règle doivent se trouver dans la même région que la règle.

Remarque : Pour connaître la région dans laquelle se trouve une ressource AWS, consultez l'Amazon Resource Name (ARN) de la ressource.

Vérifiez la cause du problème en examinant les métriques « Invocations » et « FailedInvocations » de votre règle EventBridge

Dans la console CloudWatch, passez en revue les métriques Invocations et FailedInvocations de votre règle EventBridge.

S'il existe des points de données pour les deux métriques, c'est que la notification de règle EventBridge a tenté d'invoquer la cible, mais l'invocation a échoué. Pour résoudre ce problème, vous devez accorder à EventBridge les autorisations requises pour publier des messages dans votre rubrique. Pour obtenir des instructions, consultez la section Confirmer que vous avez autorisé EventBridge à publier des messages dans votre rubrique de cet article.

S'il existe des points de données uniquement pour la métrique Invocations, c'est que la notification de règle EventBridge n'a pas atteint la cible. Pour résoudre le problème,corrigez la mauvaise configuration sur la cible.

Pour plus d'informations, consultez la section Affichage des métriques disponibles dans le guide de l'utilisateur de CloudWatch.

Confirmez que vous avez autorisé EventBridge à publier des messages dans votre rubrique

La politique basée sur les ressources de votre rubrique Amazon SNS doit permettre à EventBridge de publier des messages dans la rubrique. Passez en revue la politique AWS Identity and Access Management (IAM) de votre rubrique pour vérifier qu'elle dispose des autorisations requises, puis ajoutez-les si nécessaire.

Important : « events.amazonaws.com » doit être répertorié en tant que valeur « Service ». « SNS:Publish » doit être répertorié en tant que valeur « Action ».

Pour ajouter les autorisations requises, suivez les instructions de la section Ma règle s'exécute, mais je ne vois aucun message publié dans ma rubrique Amazon SNS.

Exemple d'instruction d'autorisations IAM qui permet à EventBridge de publier des messages sur une rubrique Amazon SNS

{
    "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"
}

(Pour les rubriques avec le chiffrement côté serveur (SSE) activé) Vérifiez que votre rubrique dispose des autorisations AWS Key Management Service (AWS KMS) nécessaires

Votre rubrique Amazon SNS doit utiliser une clé AWS KMS gérée par le client. Cette clé KMS doit inclure une politique de clé personnalisée qui accorde à EventBridge des autorisations d'utilisation de clés suffisantes.

Pour configurer les autorisations AWS KMS requises, procédez comme suit :

1.    Créez une nouvelle clé KMS gérée par le client qui inclut les autorisations requises pour EventBridge (events.amazonaws.com).

2.    Configurez SSE pour votre rubrique Amazon SNS à l'aide de la clé KMS personnalisée que vous venez de créer.

3.    Configurez les autorisations AWS KMS qui permettent à EventBridge de publier des messages dans votre rubrique chiffrée (events.amazonaws.com).

Exemple d'instruction de politique IAM qui permet à EventBridge de publier des messages dans une rubrique Amazon SNS chiffrée

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

Cet article vous a-t-il été utile ?


Besoin d'aide pour une question technique ou de facturation ?