Opciones de notificación de Amazon SNS para Amazon EC2 Auto Scaling - Amazon EC2 Auto Scaling

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Opciones de notificación de Amazon SNS para Amazon EC2 Auto Scaling

Puede configurar su grupo de escalado automático para que le informe eventos importantes que afecten a su aplicación. Con notificaciones, también puede eliminar los sondeos de modo que no encuentre el error RequestLimitExceeded que a veces se produce con el sondeo.

Hay dos formas de recibir notificaciones sobre Amazon EC2 Auto Scaling:

  • Amazon Simple Notification Service: Amazon SNS puede enviarle una notificación cada vez que el grupo de escalado automático inicialice o termine instancias. Solo puede activar o desactivar notificaciones de Amazon SNS. Para obtener más información, consulte Amazon SNS y Amazon EC2 Auto Scaling.

  • Amazon EventBridge: EventBridge proporciona notificaciones más avanzadas basadas en eventos que coinciden con criterios específicos y se envían a una variedad de destinos, incluido Amazon SNS. EventBridge también puede monitorear una gama más amplia de eventos de Auto Scaling para un monitoreo más preciso. Para obtener más información, consulte Uso de EventBridge para gestionar eventos de Auto Scaling.

Si lo desea, puede utilizar notificaciones con enlaces de ciclo de vida para realizar acciones personalizadas en las instancias durante la inicialización o la finalización. Para obtener más información sobre cómo configurar las notificaciones para usarlas con los enlaces del ciclo de vida, consulte Ganchos del ciclo de vida de Amazon EC2 Auto Scaling.

Amazon SNS y Amazon EC2 Auto Scaling

En esta sección se muestra cómo usar Amazon SNS para supervisar cuándo su grupo de escalado automático inicializa o termina instancias.

Por ejemplo, si configura el grupo de Auto Scaling para que utilice el tipo de notificación autoscaling: EC2_INSTANCE_TERMINATE, y su grupo de Auto Scaling termina una instancia, se envía una notificación por correo electrónico. Este correo electrónico contiene los detalles de la instancia terminada, como el ID de instancia y el motivo por el que se terminó la instancia.

Tenga en cuenta que, a medida que Amazon EC2 Auto Scaling agrega o elimina instancias del grupo, se le envían notificaciones sobre estos cambios, con una notificación por instancia. Sin embargo, la entrega de estas notificaciones se realiza en la medida de lo posible, y sus instancias podrían fallar después de la notificación inicial, por ejemplo, si falla una comprobación de estado posterior. Para obtener más información sobre el proceso de comprobaciones de estado, consulte Comprobaciones de estado para instancias en un grupo de escalado automático.

Para obtener más información sobre Amazon SNS en general, consulte la Guía para desarrolladores de Amazon Simple Notification Service.

Notificaciones de SNS

Amazon EC2 Auto Scaling admite el envío de notificaciones de Amazon SNS cuando se producen los siguientes eventos.

Evento Descripción

autoscaling:EC2_INSTANCE_LAUNCH

Instancia lanzada correctamente

autoscaling:EC2_INSTANCE_LAUNCH_ERROR

Error al lanzar la instancia

autoscaling:EC2_INSTANCE_TERMINATE

Instancia terminada correctamente

autoscaling:EC2_INSTANCE_TERMINATE_ERROR

Error al terminar la instancia

El mensaje incluye la siguiente información:

  • Event: el evento.

  • AccountId: el ID de la cuenta de Amazon Web Services.

  • AutoScalingGroupName: el nombre del grupo de Auto Scaling.

  • AutoScalingGroupARN: el ARN del grupo de Auto Scaling.

  • EC2InstanceId— El ID de la EC2 instancia.

Por ejemplo:

Service: AWS Auto Scaling Time: 2016-09-30T19:00:36.414Z RequestId: 4e6156f4-a9e2-4bda-a7fd-33f2ae528958 Event: autoscaling:EC2_INSTANCE_LAUNCH AccountId: 123456789012 AutoScalingGroupName: my-asg AutoScalingGroupARN: arn:aws:autoscaling:region:123456789012:autoScalingGroup... ActivityId: 4e6156f4-a9e2-4bda-a7fd-33f2ae528958 Description: Launching a new EC2 instance: i-0598c7d356eba48d7 Cause: At 2016-09-30T18:59:38Z a user request update of AutoScalingGroup constraints to ... StartTime: 2016-09-30T19:00:04.445Z EndTime: 2016-09-30T19:00:36.414Z StatusCode: InProgress StatusMessage: Progress: 50 EC2InstanceId: i-0598c7d356eba48d7 Details: {"Subnet ID":"subnet-id","Availability Zone":"zone"} Origin: AutoScalingGroup Destination: EC2

Configurar las notificaciones de Amazon SNS para Amazon EC2 Auto Scaling

Para utilizar Amazon SNS para enviar notificaciones por correo electrónico, primero debe crear un tema y, a continuación, suscribir sus direcciones de correo electrónico al tema.

Crear un tema de Amazon SNS

Un tema de SNS es un punto de acceso lógico, un canal de comunicación que el grupo de Auto Scaling utiliza para enviar las notificaciones. Los temas se crean especificando un nombre para el tema.

Los nombres de tema creados deben cumplir los siguientes requisitos:

  • Deben tener entre 1 y 256 caracteres.

  • Deben contener letras ASCII en mayúsculas y minúsculas, números, guiones bajos o guiones.

Para obtener instrucciones, consulte el tema Creación de un tema de Amazon SNS en la Guía para desarrolladores de Amazon Simple Notification Service.

Suscripción al tema de Amazon SNS

Para recibir las notificaciones que su grupo de escalado automático envía al tema, debe suscribir un punto de conexión al tema. En este procedimiento, para Endpoint, especifique la dirección de correo electrónico en la que desea recibir las notificaciones de Amazon EC2 Auto Scaling.

Para obtener más información, consulte el tema Suscripción a un tema de Amazon SNS en la Guía para desarrolladores de Amazon Simple Notification Service.

Confirmación de la suscripción a Amazon SNS

Amazon SNS envía un correo electrónico de confirmación a la dirección de correo electrónico que ha especificado en el paso anterior.

Asegúrese de abrir el correo electrónico de las notificaciones de AWS y de elegir el enlace para confirmar la suscripción antes de continuar en el siguiente paso.

Recibirá un mensaje de confirmación de parte de AWS. Amazon SNS estará ahora configurado para recibir notificaciones y enviar la notificación como un email a la dirección especificada.

Configuración de un grupo de Auto Scaling para enviar notificaciones

Puede configurar su grupo de Auto Scaling para que envíe notificaciones a Amazon SNS cuando se produzca un evento de escalado, como el lanzamiento de instancias o la terminación de instancias. Amazon SNS envía una notificación con información acerca de las instancias a la dirección de correo electrónico que ha especificado.

Para configurar las notificaciones de Amazon SNS para el grupo de Auto Scaling (consola)
  1. Abre la EC2 consola de Amazon en https://console.aws.amazon.com/ec2/y selecciona Auto Scaling Groups en el panel de navegación.

  2. Seleccione la casilla situada junto al grupo de escalado automático.

    Se abre un panel dividido en la parte inferior de la página, que muestra información sobre el grupo seleccionado.

  3. En la pestaña Activity (Actividad), seleccione Activity notifications (Notificaciones de actividad, Create notification (Crear notificación).

  4. En el panel Create notifications, proceda del modo siguiente:

    1. En SNS Topic (Tema de SNS), seleccione el tema de SNS.

    2. En Event types (Tipos de eventos), seleccione los eventos para los que va enviar notificaciones.

    3. Seleccione Crear.

Para configurar las notificaciones de Amazon SNS para el grupo de Auto Scaling (AWS CLI)

Use el siguiente comando put-notification-configuration.

aws autoscaling put-notification-configuration --auto-scaling-group-name my-asg --topic-arn arn --notification-types "autoscaling:EC2_INSTANCE_LAUNCH" "autoscaling:EC2_INSTANCE_TERMINATE"

Prueba de la notificación

Para generar una notificación para un evento de lanzamiento, actualice el grupo de Auto Scaling aumentando la capacidad deseada del grupo de Auto Scaling en 1. Usted recibe una notificación al cabo de unos minutos después de que se lance la instancia.

Para cambiar la capacidad deseada (consola)
  1. Abre la EC2 consola de Amazon en https://console.aws.amazon.com/ec2/y selecciona Auto Scaling Groups en el panel de navegación.

  2. Seleccione la casilla situada junto al grupo de Auto Scaling.

    Se abre un panel dividido en la parte inferior de la página Auto Scaling groups (Grupos de Auto Scaling) que muestra información sobre el grupo seleccionado.

  3. En la pestañaDetails (Detalles) elija Group details (Detalles de grupo), Edit (Editar).

  4. En Desired capacity (Capacidad deseada), aumente el valor actual en 1. Si este valor supera el valor especificado en Maximum capacity (Capacidad máxima), también debe aumentar el valor de Maximum capacity (Capacidad máxima) en 1.

  5. Elija Actualizar.

  6. Después de unos minutos, recibirá una notificación del evento. Si no necesita la instancia adicional que lanzó para esta prueba, puede reducir el valor Desired capacity (Capacidad deseada) en 1. Después de unos minutos, recibirá una notificación del evento.

Eliminación de la configuración de notificaciones

Puede eliminar la configuración de notificaciones de Amazon EC2 Auto Scaling si ya no se utiliza.

Para eliminar la configuración de notificaciones de Amazon EC2 Auto Scaling (consola)
  1. Abre la EC2 consola de Amazon en https://console.aws.amazon.com/ec2/y selecciona Auto Scaling Groups en el panel de navegación.

  2. Seleccione el grupo de escalado automático.

  3. En la pestaña Actividad, seleccione la casilla situada junto a la notificación que desea eliminar y elija Acciones, Eliminar.

Para eliminar la configuración de notificaciones EC2 de Amazon Auto Scaling (AWS CLI)

Use el siguiente comando delete-notification-configuration.

aws autoscaling delete-notification-configuration --auto-scaling-group-name my-asg --topic-arn arn

Para obtener información sobre cómo eliminar el tema de Amazon SNS y todas las suscripciones asociadas a un grupo de Auto Scaling, consulte Eliminación de una suscripción y un tema de Amazon SNS en la Guía para desarrolladores de Amazon Simple Notification Service.

Política de claves para un tema de Amazon SNS cifrado

El tema de Amazon SNS que especifique puede estar cifrado con una clave gestionada por el cliente creada con AWS Key Management Service. Para conceder permiso a Amazon EC2 Auto Scaling para publicar en temas cifrados, primero debe crear su clave de KMS y, a continuación, añadir la siguiente declaración a la política de la clave de KMS. Sustituya el ARN del ejemplo por el ARN del rol vinculado a servicios correspondiente que tiene permitido el acceso a la clave. Para obtener más información, consulte Configuración de permisos de AWS KMS en la Guía para desarrolladores de Amazon Simple Notification Service.

En este ejemplo, la declaración de política otorga permisos al rol vinculado al servicio denominado AWSServiceRoleForAutoScalingpermisos para usar la clave administrada por el cliente. Para obtener más información sobre la función vinculada al servicio Amazon EC2 Auto Scaling, consulte. Funciones vinculadas a servicios para Amazon Auto Scaling EC2

{ "Sid": "Allow service-linked role use of the customer managed key", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::123456789012:role/aws-service-role/autoscaling.amazonaws.com/AWSServiceRoleForAutoScaling" }, "Action": [ "kms:GenerateDataKey*", "kms:Decrypt" ], "Resource": "*" }

Las claves aws:SourceArn y las claves de aws:SourceAccount condición no se admiten en las políticas clave que permiten a Amazon EC2 Auto Scaling publicar en temas cifrados.