El supervisor de detección de anomalías en los costes de AWS que he creado no envía notificaciones a mi tema de Amazon Simple Notification Service (Amazon SNS).
Descripción corta
Cuando el supervisor de detección de anomalías de costes detecta una anomalía, publica una notificación en el tema de Amazon SNS. A continuación, Amazon SNS envía las notificaciones a los puntos de enlace suscritos, normalmente por correo electrónico. Es posible que la notificación no llegue al punto de enlace por los siguientes motivos:
- Las notificaciones de detección de anomalías en los costes no llegaron al tema de SNS. La falta de permisos en la política de acceso al tema o en la política de claves de KMS puede provocar esto al activar el cifrado en el tema.
- El tema de SNS no envía notificaciones a los puntos de enlace suscritos.
Resolución
Revisión de la métrica de SNS NumberOfMessagesPublished
Revisa la métrica de SNS NumberOfMessagesPublished para confirmar si los eventos del historial de detección de anomalías tienen los puntos de datos correspondientes a las notificaciones publicadas. Esta métrica indica si tu tema publica correctamente las notificaciones.
La métrica de SNS NumberOfMessagesPublished no tiene puntos de datos
Confirma que has otorgado a Cost Anomaly Detection los permisos necesarios para publicar mensajes en tu tema.
El siguiente ejemplo de política de acceso a temas de SNS permite a Cost Anomaly Detection publicar mensajes en un tema de Amazon SNS:
{
"Sid": "E.g., AWSAnomalyDetectionSNSPublishingPermissions",
"Effect": "Allow",
"Principal": {
"Service": "costalerts.amazonaws.com"
},
"Action": "SNS:Publish",
"Resource": "your topic ARN"
}
Para obtener más información, consulta Creación de un tema de Amazon SNS para las notificaciones de anomalías.
La métrica de SNS NumberOfMessagesPublished tiene puntos de datos
Para solucionar este problema, sigue estos pasos:
- Comprueba que los puntos de enlace suscritos estén en el estado Confirmado.
- Confirma si las métricas NumberOfNotificationsDelivered y NumberOfNotificationsFailed indican que las notificaciones se han publicado y enviado correctamente a los puntos de enlace.
- Comprueba si hay una política de filtro en los puntos de enlace suscritos. Comprueba la métrica NumberOfNotificationsFilteredOut para comprobar si la política de filtro de suscripciones filtra los mensajes. Si los mensajes se están filtrando, consulta ¿Cómo puedo solucionar los problemas de la política de filtro de suscripciones en Amazon SNS?
- Comprueba si el punto de enlace suscrito al tema es un protocolo de correo electrónico. Comprueba si la métrica NumberOfNotificationsDelivered muestra que el tema ha enviado correctamente las notificaciones, pero no han llegado a la bandeja de entrada del correo electrónico. Para obtener más información, consulta ¿Por qué no puedo recibir notificaciones por correo electrónico de mi tema de Amazon SNS?
Cómo confirmar que se ha activado el cifrado del lado del servidor
Confirma que has activado el cifrado del lado del servidor en tu tema de Amazon SNS. Si has activado el cifrado del lado del servidor, comprueba tus requisitos de permiso. Asegúrate de que la detección de anomalías en los costes conceda los permisos de AWS Key Management Service (AWS KMS) necesarios para tu clave.
Tu 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 permita a Cost Anomaly Detection realizar las acciones kms:GenerateDataKey* y kms:Decrypt. Para obtener más información, consulta Configuración AWS KMS permisos.
El siguiente ejemplo de enunciado de política de IAM permite a la Detección de anomalías en los costes de AWS publicar mensajes en un tema cifrado de Amazon SNS:
{
"Version": "2012-10-17",
"Statement": [{
"Effect": "Allow",
"Principal": {
"Service": "costalerts.amazonaws.com"
},
"Action": [
"kms:GenerateDataKey*",
"kms:Decrypt"
],
"Resource": "*"
}]
}
Activación de los registros de estado de envío
Activa los registros de estado de envío del tema de Amazon SNS para seguir solucionando el problema. El atributo ProviderResponse de los registros explica la causa del error del envío.
Nota: Para registrar el estado de envío de cada mensaje, establece la tasa de muestreo de éxito en el 100 %. Si utilizas un porcentaje inferior, SNS genera registros de entrega únicamente para el porcentaje especificado de mensajes entregados o fallidos.