¿Por qué el tema de Amazon SNS no recibe notificaciones de EventBridge?

Última actualización: 20 de diciembre de 2021

Configuré una regla de Amazon EventBridge para enviar notificaciones al tema de Amazon Simple Notification Service (Amazon SNS). ¿Por qué el tema de Amazon SNS no recibe las notificaciones de eventos?

Resolución

Verifique que los destinos de la regla de EventBridge estén en la misma región de AWS que la regla

Los destinos que se asocian a una regla deben estar en la misma región que la regla.

Nota: Para ver la región en la que se encuentra un recurso de AWS, revise su nombre de recurso de Amazon (ARN).

Para verificar la causa del problema, revise las métricas “Invocations” y “FailedInvocations” de la regla de EventBridge

En la consola de CloudWatch, revise las métricas Invocations y FailedInvocations de la regla EventBridge.

Si existen puntos de datos correspondientes a ambas métricas, entonces la notificación de la regla EventBridge intentó invocar el destino pero se produjo un error en la invocación. Para resolver el problema, debe conceder a EventBridge los permisos necesarios para publicar mensajes en el tema. Para obtener instrucciones, consulte la sección de este artículo llamada Confirme que ha concedido a EventBridge los permisos necesarios para publicar mensajes en el tema.

Si únicamente hay puntos de datos para la métrica Invocations, significa que la notificación de la regla de EventBridge no alcanzó el destino. Para resolver el problema, corrija la configuración errónea en el destino.

Para obtener más información, consulte Ver las métricas disponibles en la Guía del usuario de CloudWatch.

Confirme que ha concedido a EventBridge los permisos necesarios para publicar mensajes en el tema

La política basada en recursos del tema de Amazon SNS debe permitir que EventBridge publique mensajes en el tema. Revise la política de AWS Identity and Access Management (IAM) del tema para confirmar que tiene los permisos necesarios, y agréguelos si es necesario.

Importante: “events.amazonaws.com” debe aparecer como el valor “Service” (Servicio). “SNS:Publish” debe aparecer como el valor de “Action” (Acción).

Para agregar los permisos necesarios, siga las instrucciones que aparecen en La regla se ejecuta, pero ningún mensaje aparece publicado en el tema de Amazon SNS.

Ejemplo de instrucción de permisos IAM que permite a EventBridge publicar mensajes en un tema de 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"
}

(Para temas con el cifrado del lado del servidor [SSE] activado) Confirme que el tema cuenta con los permisos necesarios de AWS Key Management Service (AWS KMS)

El tema de Amazon SNS debe utilizar una clave de AWS KMS administrada por el cliente. Esta clave de KMS debe incluir una política de clave personalizada que otorgue a EventBridge suficientes permisos de uso de la clave.

Para configurar los permisos necesarios de AWS KMS, haga lo siguiente:

1.    Cree una nueva clave de KMS administrada por el cliente y que incluya los permisos necesarios para EventBridge (events.amazonaws.com).

2.    Configure SSE para su tema de Amazon SNS mediante la clave de KMS personalizada que acaba de crear.

3.    Configure los permisos de AWS KMS que permiten a EventBridge publicar mensajes en el tema cifrado (events.amazonaws.com).

Ejemplo de instrucción de política de IAM que permite a EventBridge publicar mensajes en un tema cifrado de Amazon SNS

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

¿Le resultó útil este artículo?


¿Necesita asistencia técnica o con la facturación?