¿Por qué mi tema de Amazon SNS no recibe notificaciones de CloudWatch Events?

Última actualización: 10/09/2021

He configurado una regla de Amazon CloudWatch Events para enviar notificaciones a mi tema Amazon Simple Notification Service (Amazon SNS). ¿Por qué mi tema de Amazon SNS no recibe notificaciones de eventos?

Resolución

Verificar que los destinos de la regla de CloudWatch Events se encuentran en la misma región de AWS que la regla

Los destinos que asocie a una regla deben estar en la misma región que la regla. Para obtener más información, consulte Introducción a Amazon CloudWatch Events.

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

Verificar la causa del problema mediante la revisión de las métricas “Invocations” (Invocaciones) e “FailedInvocations” (Invocaciones fallidas) de la regla de CloudWatch Events

En la consola de CloudWatch, revise las métricas Invocations (Invocaciones) y FailedInvocations (Invocaciones fallidas) de la regla de CloudWatch Event.

Si hay puntos de datos para ambas métricas, la notificación de la regla de CloudWatch Events intentó invocar el destino pero la invocación falló. Para resolver el problema, debe conceder a CloudWatch los permisos necesarios para publicar mensajes en su tema. Para obtener instrucciones, consulte la sección Confirmar que ha concedido a CloudWatch los permisos necesarios para publicar mensajes en su tema de este artículo.

Si hay puntos de datos solo para la métrica Invocations (Invocaciones), la notificación de la regla de CloudWatch Events no alcanzó el objetivo. Para resolver el problema, corrija la configuración errónea en el destino.

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

Confirmar que ha concedido a CloudWatch los permisos necesarios para publicar mensajes en su tema

La política basada en recursos de su tema de Amazon SNS debe permitir a CloudWatch publicar mensajes en el tema. Revise la política de AWS Identity and Access Management (IAM) de su 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 de Mi regla se ejecuta, pero no veo ningún mensaje publicado en el tema de Amazon SNS.

Ejemplo de declaración de permisos de IAM que permite a CloudWatch 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 cifrado del lado del servidor [SSE] activado) Confirme que su tema tenga los permisos necesarios para AWS Key Management (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 claves personalizada que conceda a CloudWatch permisos de uso de claves suficientes.

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

1.    Cree una nueva clave de KMS administrada por el cliente e incluya los permisos necesarios para CloudWatch.

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 CloudWatch publicar mensajes en su tema cifrado.

Ejemplo de declaración de política de IAM que permite a CloudWatch 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?