Passer au contenu

Pourquoi ma rubrique Amazon SNS n'a-t-elle pas reçu les notifications EventBridge ?

Lecture de 4 minute(s)
0

J'ai configuré une règle Amazon EventBridge pour envoyer des notifications à ma rubrique Amazon Simple Notification Service (Amazon SNS). Cependant, ma rubrique Amazon SNS n'a pas reçu les notifications d'événement.

Résolution

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

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

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

Vérifier les métriques « Invocations » et « FailedInvocations » de votre règle EventBridge pour déterminer le problème

Utilisez la console Amazon CloudWatch pour examiner les métriques Invocations et FailedInvocations de votre règle EventBridge.

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

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

Vérifier que vous avez accordé à EventBridge les autorisations nécessaires pour publier des messages dans votre rubrique

La politique basée sur les ressources de votre rubrique Amazon SNS doit autoriser EventBridge à publier des messages dans la rubrique. Consultez la politique de Gestion des identités et des accès AWS (AWS IAM) de votre rubrique pour vous assurer qu'elle dispose des autorisations requises. Si la politique ne dispose pas des autorisations requises, ajoutez les autorisations requises.

Important : Vous devez répertorier events.amazonaws.com comme valeur de Service et sns:Publish comme valeur de Action.

Exemple d’instruction d'autorisations IAM qui permet à EventBridge de publier des messages dans 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"
}

Vérifier que le rôle d'exécution permet à EventBridge de publier sur la cible

Le rôle d'exécution IAM attribué à votre cible de règles EventBridge nécessite une relation d’approbation avec le service EventBridge. Assurez-vous que votre politique d’approbation de rôles inclut EventBridge (events.amazonaws.com) en tant qu'entité approuvée. Si la politique d’approbation n'inclut pas les autorisations requises, mettez-la à jour pour autoriser EventBridge à assumer le rôle.

Exemple d’instruction de relation d’approbation IAM qui permet à EventBridge d'assumer le rôle d'exécution de la cible :

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "events.amazonaws.com"
            },
            "Action": "sts:AssumeRole",
            "Condition": {
                "StringEquals": {
                    "aws:SourceAccount": "ACCOUNT-ID",
                    "aws:SourceArn": "EVENTBRIDGE-RULE-ARN"
                }
            }
        }
    ]
}

Important : Répertoriez events.amazonaws.com comme valeur de Service et sts:AssumeRole comme valeur de Action. Remplacez ACCOUNT-ID par votre ID de compte AWS et EVENTBRIDGE_RULE_ARN par votre ARN.

(Pour les rubriques pour lesquelles SSE est activé) Vérifier que votre rubrique dispose des autorisations AWS KMS requises

Votre rubrique Amazon SNS doit utiliser une clé gérée par le client AWS Key Management Service (AWS KMS). Cette clé AWS KMS doit inclure une politique de clé personnalisée qui autorise EventBridge à utiliser la clé.

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

  1. Créez une nouvelle clé gérée par le client et assurez-vous d’inclure les autorisations requises pour EventBridge (events.amazonaws.com).
  2. Utilisez la clé gérée par le client pour configurer le chiffrement côté serveur (SSE) pour votre rubrique Amazon SNS.
  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": "*"
}
AWS OFFICIELA mis à jour il y a 6 mois