Saltar al contenido

¿Por qué mi tema de Amazon SNS no recibió las notificaciones de EventBridge?

4 minutos de lectura
0

He configurado una regla de Amazon EventBridge para enviar notificaciones a mi tema de Amazon Simple Notification Service (Amazon SNS). Sin embargo, mi tema de Amazon SNS no recibió las notificaciones de eventos.

Resolución

Verificar que los objetivos de la regla de EventBridge estén en la misma región que la regla

Los objetivos que asocies a una regla deben estar en la misma región de AWS que la regla.

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

Revisión de las métricas «Invocations» y «FailedInvocations» de tu regla de EventBridge para determinar el problema

Utiliza la consola de Amazon CloudWatch para revisar las métricas Invocations y FailedInvocations de la regla de EventBridge.

Si hay puntos de datos para ambas métricas, la notificación de la regla de EventBridge intentó invocar el objetivo, pero la invocación falló. Para resolver el problema, debes conceder a EventBridge los permisos necesarios para publicar mensajes en tu tema. Para obtener instrucciones, consulta la sección Confirmar que has concedido a EventBridge los permisos necesarios para publicar mensajes en tu tema de este artículo.

Si solo hay puntos de datos para la métrica Invocations, la notificación de la regla de EventBridge no llegó al objetivo. Para resolver el problema, vuelve a configurar la regla para el objetivo.

Confirmar que has concedido a EventBridge los permisos necesarios para publicar mensajes en tu tema

Tu política basada en recursos del tema de Amazon SNS debe permitir que EventBridge publique mensajes en el tema. Revisa tu política de AWS Identity and Access Management (IAM) del tema para confirmar que cuentas con los permisos necesarios y agrégalos si es necesario. Si la política no los tiene, agrega los permisos necesarios.

Importante: Debes incluir events.amazonaws.com como valor de servicio y sns:Publish como valor de acción.

Ejemplo de instrucción de permisos de 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"
}

Verificar que el rol de ejecución permita a EventBridge publicar en el objetivo

El rol de ejecución de IAM asignado a tu objetivo de reglas de EventBridge requiere una relación de confianza con el servicio de EventBridge. Asegúrate de que tu política de confianza de roles incluya EventBridge (events.amazonaws.com) como entidad de confianza. Si la política de confianza no incluye los permisos necesarios, actualízala para conceder a EventBridge el permiso para asumir el rol.

Ejemplo de instrucción de relación de confianza de IAM que permite a EventBridge asumir el rol de ejecución del objetivo:

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

Importante: Incluye events.amazonaws.com como valor de servicio y sts:AssumeRole como valor de acción. Sustituye ACCOUNT-ID por tu ID de cuenta de AWS y EVENTBRIDGE_RULE_ARN por tu ARN.

(Para temas con SSE activado) Confirmar que tu tema tiene los permisos de AWS KMS necesarios

Tu tema de Amazon SNS debe utilizar una clave administrada por el cliente de AWS Key Management Service (AWS KMS). Esta clave de AWS KMS debe incluir una política de claves personalizada que conceda permiso a EventBridge para usar la clave.

Para configurar los permisos de AWS KMS necesarios, sigue estos pasos:

  1. Crea una nueva clave administrada por el cliente e incluye los permisos necesarios para EventBridge (events.amazonaws.com).
  2. Utiliza la clave administrada por el cliente para configurar el cifrado en el servidor (SSE) para tu tema de Amazon SNS.
  3. Configura los permisos de AWS KMS que permitan a EventBridge publicar mensajes en tu 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": "*"
}
OFICIAL DE AWSActualizada hace 3 meses