Saltar al contenido

¿Cómo invoco un tema de Amazon SNS entre cuentas con una alarma de CloudWatch?

3 minutos de lectura
0

Quiero invocar un tema de Amazon Simple Notification Service (Amazon SNS) con una alarma de Amazon CloudWatch en diferentes cuentas de AWS.

Solución

Nota: La siguiente resolución utiliza dos cuentas.

Utiliza la cuenta A para crear la alarma de CloudWatch y la cuenta B para crear un tema de Amazon SNS. Luego, actualiza la política de acceso del tema de SNS para permitir que la alarma de la cuenta A publique mensajes.

Creación de un tema de SNS en la cuenta B

Sigue estos pasos:

  1. Abre la Consola de Amazon SNS.
  2. En el panel de navegación, selecciona Temas y, a continuación, selecciona Crear tema.
  3. Elige Estándar para el tipo de tema y, a continuación, proporciona un nombre para el tema.
  4. Selecciona Crear tema y, a continuación, copia el nombre de recurso de Amazon (ARN) del tema.
  5. En el panel de navegación, elige Suscripciones y, a continuación, selecciona Crear suscripción.
  6. Agrega el ARN del tema en la sección ARN del tema y, a continuación, elige Correo electrónico como protocolo.
  7. Selecciona Crear suscripción y, a continuación, comprueba tu correo electrónico para confirmar la suscripción.

Creación de una alarma de CloudWatch en la cuenta A

Sigue estos pasos:

  1. Abre la consola de CloudWatch.
  2. En el panel de navegación, elige Alarmas y, a continuación, Crear alarma.
  3. Selecciona tu métrica y, a continuación, proporciona detalles sobre el umbral y los parámetros de comparación.
  4. En Configurar acciones, en Notificaciones, elige Usar el tema ARN para notificar a otras cuentas y, a continuación, introduce el tema ARN desde la cuenta B.
  5. Cree un nombre para la alarma y, a continuación, selecciona Crear alarma.

Actualización de la política de acceso del tema de SNS en la cuenta B

Cuando actualizas la política de acceso del tema de SNS en la cuenta B, esto permite que la alarma publique mensajes.

Sigue estos pasos:

  1. Abre la consola de SNS.

  2. En el panel de navegación, elige Temas y, a continuación, selecciona el tema.

  3. Selecciona Editar y, a continuación, agrega la siguiente instrucción a la política:

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

    Nota: En la política anterior, sustituye los valores de ejemplo por tus valores.

Probar la alarma

Para probar la alarma, cambia el umbral de alarma en función de los puntos de datos de la métrica o ejecuta el comando set-alarm-state. Cuando cambias el umbral o el estado de alarma, recibes una notificación por correo electrónico.

Información relacionada

Permitir que cualquier alarma de CloudWatch se publique en un tema de otra cuenta

¿Por qué no he recibido una notificación de SNS cuando se ha activado mi alarma de CloudWatch?