Notificar a los usuarios los cambios de alarma - Amazon CloudWatch

Notificar a los usuarios los cambios de alarma

En esta sección se explica cómo puede utilizar las notificaciones de AWS usuario o Amazon Simple Notification Service para que se notifique a los usuarios de los cambios de alarma.

Configuración de las notificaciones de usuario de AWS

Puede usar las notificaciones de usuario de AWS para configurar canales de entrega de y recibir notificaciones sobre cambios de estado de alarma de CloudWatch y eventos de cambio de configuración. Recibirá una notificación cuando un evento coincida con una regla que especifique. Puede recibir notificaciones de eventos a través de varios canales, como correo electrónico, notificaciones por AWS Chatbot o notificaciones push en la aplicación móvil de la consola de AWS. También puede ver las notificaciones en el Centro de notificaciones de la consola. Las notificaciones de usuario admiten la agregación, lo que puede reducir el número de notificaciones que recibe durante eventos específicos.

Las configuraciones de notificaciones que cree con las notificaciones de usuario de AWS no se tienen en cuenta para el límite del número de acciones que puede configurar por estado de alarma objetivo. A medida que las notificaciones de usuario de AWS coinciden con los eventos emitidos a Amazon EventBridge, envía notificaciones para todas las alarmas de su cuenta y las regiones seleccionadas, a menos que especifique un filtro avanzado para permitir o denegar alarmas o patrones específicos.

El siguiente ejemplo de filtro avanzado coincide con un cambio de estado de alarma de OK a ALARM en la alarma llamada ServerCpuTooHigh.

{ "detail": { "alarmName": ["ServerCpuTooHigh"], "previousState": { "value": ["OK"] }, "state": { "value": ["ALARM"] } } }

Puede usar cualquiera de las propiedades publicadas por una alarma en los eventos de EventBridge para crear un filtro. Para obtener más información, consulte Eventos de alarma y EventBridge.

Configuración de notificaciones de Amazon SNS

Puede usar Amazon Simple Notification Service para enviar mensajería de aplicación a aplicación (A2A) y mensajería de aplicación a persona (A2P), incluidos mensajes de texto (SMS) y mensajes de correo electrónico. Para obtener más información, consulte destinos de eventos de Amazon SNS.

Para cada estado que pueda adoptar una alarma, puede configurarla para que envíe un mensaje a un tema de SNS. Cada tema de Amazon SNS que configure para un estado de una alarma determinada se tendrá en cuenta para el límite del número de acciones que puede configurar para esa alarma y estado. Puede enviar mensajes al mismo tema de Amazon SNS desde cualquier alarma de su cuenta y usar el mismo tema de Amazon SNS tanto para los consumidores de aplicaciones (A2A) como para los consumidores personales (A2P). Como esta configuración se realiza a nivel de alarma, solo las alarmas que haya configurado envían mensajes al tema de Amazon SNS seleccionado.

En primer lugar, cree un tema y, a continuación, suscríbase al mismo. Como opción, puede publicar un mensaje de prueba en el tema. Para ver un ejemplo, consulte Configuración de un tema de Amazon SNS mediante la AWS Management Console. Para obtener más información, consulte Introducción a Amazon SNS.

Como alternativa, si tiene previsto crear la alarma de CloudWatch con la AWS Management Console, puede omitir este procedimiento, ya que puede crear el tema al crear la alarma.

Al crear una alarma de CloudWatch, puede añadir acciones para cualquier estado de destino en el que se encuentre la alarma. Añada una notificación de Amazon SNS para el estado sobre el que desee recibir notificaciones y seleccione el tema de Amazon SNS que creó en el paso anterior para enviar una notificación por correo electrónico cuando la alarma entre en el estado seleccionado.

nota

Cuando cree un tema de Amazon SNS, puede elegir convertirlo en un tema estándar o un tema FIFO. CloudWatch garantiza la publicación de todas las notificaciones de alarma en ambos tipos de temas. Sin embargo, incluso si utiliza un tema FIFO, en pocos casos, CloudWatch envía las notificaciones al tema que no se está utilizando. Si utiliza un tema FIFO, la alarma establece que el ID del grupo de mensajes de las notificaciones de alarma sea un hash de los ARN de la alarma.

Prevención de errores del suplente confuso

Para evitar problemas de seguridad con suplentes confusos entre servicios, le recomendamos que utilice las claves de condición global aws:SourceArn y aws:SourceAccount de la política de recursos de Amazon SNS que conceden permiso a CloudWatch para acceder a los recursos de Amazon SNS.

La política de recursos del ejemplo siguiente ilustra la clave de condición de aws:SourceArn para reducir el permiso SNS:Publish para ser utilizado únicamente por las alarmas de CloudWatch de la cuenta especificada.

{ "Statement": [{ "Effect": "Allow", "Principal": { "Service": "cloudwatch.amazonaws.com" }, "Action": "SNS:Publish", "Resource": "arn:aws:sns:us-east-2:444455556666:MyTopic", "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:cloudwatch:us-east-2:111122223333:alarm:*" }, "StringEquals": { "aws:SourceAccount": "111122223333" } } }] }

Si un ARN de alarma incluye caracteres que no sean ASCII, utilice únicamente la clave de condición global aws:SourceAccount para limitar los permisos.

Configuración de un tema de Amazon SNS mediante la AWS Management Console

En primer lugar, cree un tema y, a continuación, suscríbase al mismo. Como opción, puede publicar un mensaje de prueba en el tema.

Para crear un tema de SNS
  1. Abra la consola de Amazon SNS en https://console.aws.amazon.com/sns/v3/home.

  2. En el panel de Amazon SNS, en Common actions (Acciones comunes), elija Create Topic (Crear tema).

  3. En el cuadro de diálogo Create new topic (Crear un nuevo tema), en Topic name (Nombre del tema), escriba un nombre para el tema (por ejemplo, my-topic).

  4. Elija Create new topic (Crear nuevo tema).

  5. Copie el Topic ARN (ARN de tema) en la siguiente tarea (por ejemplo, arn:aws:sns:us-east-1:111122223333:my-topic).

Para suscribirse a un tema de SNS
  1. Abra la consola de Amazon SNS en https://console.aws.amazon.com/sns/v3/home.

  2. En el panel de navegación, elija Subscriptions, Create subscription.

  3. En el cuadro de diálogo Create subscription, en Topic ARN, pegue el ARN del tema que creó en la tarea anterior.

  4. En Protocolo, elija Correo electrónico.

  5. En Endpoint (Punto de enlace), escriba una dirección de correo electrónico que puede utilizar para recibir la notificación y, a continuación, elija Create subscription (Crear suscripción).

  6. Desde su aplicación de correo electrónico, abra el mensaje de Notificaciones de AWS y confirme la suscripción.

    El navegador web muestra una respuesta de confirmación de Amazon SNS.

Para publicar un mensaje de prueba en un tema de SNS
  1. Abra la consola de Amazon SNS en https://console.aws.amazon.com/sns/v3/home.

  2. En el panel de navegación, elija Temas.

  3. En la página Topics (Temas), seleccione un tema y elija Publish to topic (Publicar en tema).

  4. En la página Publish a message (Publicar un mensaje), en Subject (Asunto), escriba una línea de asunto para el mensaje y en Message (Mensaje), escriba un mensaje breve.

  5. Elija Publish Message (Publicar mensaje).

  6. Compruebe el correo electrónico para confirmar que ha recibido el mensaje.

Configuración de un tema de SNS mediante la AWS CLI

Primero cree un tema de SNS y, a continuación, publique un mensaje directamente en el tema para comprobar que lo ha configurado correctamente.

Para configurar un tema de SNS
  1. Cree el tema utilizando el comando create-topic como se indica a continuación.

    aws sns create-topic --name my-topic

    Amazon SNS muestra un ARN del tema con el siguiente formato:

    { "TopicArn": "arn:aws:sns:us-east-1:111122223333:my-topic" }
  2. Suscríbase a su dirección de correo electrónico para utilizar el comando subscribe. Si la solicitud de suscripción tiene éxito, recibe un mensaje de correo electrónico de confirmación.

    aws sns subscribe --topic-arn arn:aws:sns:us-east-1:111122223333:my-topic --protocol email --notification-endpoint my-email-address

    Amazon SNS devuelve lo siguiente:

    { "SubscriptionArn": "pending confirmation" }
  3. Desde su aplicación de correo electrónico, abra el mensaje de Notificaciones de AWS y confirme la suscripción.

    En el navegador web se muestra una respuesta de confirmación de Amazon Simple Notification Service.

  4. Compruebe la suscripción mediante el comando list-subscriptions-by-topic.

    aws sns list-subscriptions-by-topic --topic-arn arn:aws:sns:us-east-1:111122223333:my-topic

    Amazon SNS devuelve lo siguiente:

    { "Subscriptions": [ { "Owner": "111122223333", "Endpoint": "me@mycompany.com", "Protocol": "email", "TopicArn": "arn:aws:sns:us-east-1:111122223333:my-topic", "SubscriptionArn": "arn:aws:sns:us-east-1:111122223333:my-topic:64886986-bf10-48fb-a2f1-dab033aa67a3" } ] }
  5. (Opcional) Publique un mensaje de prueba en el tema mediante el comando publish.

    aws sns publish --message "Verification" --topic arn:aws:sns:us-east-1:111122223333:my-topic

    Amazon SNS devuelve lo siguiente.

    { "MessageId": "42f189a0-3094-5cf6-8fd7-c2dde61a4d7d" }
  6. Compruebe el correo electrónico para confirmar que ha recibido el mensaje.