Opciones de notificación de Amazon SNS para Auto Scaling de Amazon EC2 - 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 Auto Scaling de Amazon EC2

Puede configurar su grupo de Auto Scaling para que le notifique los eventos importantes que afecten a su aplicación. Con las notificaciones, también puede eliminar las votaciones y evitar los RequestLimitExceeded errores que a veces se producen en las votaciones.

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

  • Amazon Simple Notification Service: Amazon SNS puede notificarle cuando su grupo de Auto Scaling lance o finalice instancias. Solo puede activar o desactivar notificaciones de Amazon SNS. Para obtener más información, consulte Auto 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 Se usa EventBridge para gestionar eventos de Auto Scaling.

También puedes realizar una acción personalizada cuando una instancia entre en un estado pendiente durante el lanzamiento o la finalización mediante enlaces de ciclo de vida y servicios como EventBridge Amazon SNS y Amazon SQS. Los enlaces del ciclo de vida también pueden proporcionar tiempo adicional para que una nueva instancia complete un script especificado en los datos del usuario antes de que Amazon EC2 Auto Scaling añada la instancia al grupo. Para obtener más información, consulte Enlaces de ciclo de vida de Amazon EC2 Auto Scaling.

Auto SNS y Amazon EC2 Auto SCALING

En esta sección se muestra cómo usar Amazon SNS para monitorear cuándo su grupo de Auto Scaling lanza 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, estas notificaciones se envían de la mejor manera posible, y sus instancias podrían seguir fallando después de la notificación inicial, por ejemplo, si no se realiza una comprobación de estado posterior. Por lo tanto, aunque Amazon EC2 Auto Scaling le notifique al principio, una instancia podría fallar más adelante. Tenga en cuenta que puede configurar cuánto tiempo espera Amazon EC2 Auto Scaling tras lanzar una instancia antes de realizar la primera comprobación de estado. Para obtener más información, consulte Establezca el periodo de gracia de la comprobación de estado para 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 eventos siguientes.

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 instancia EC2.

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

Configuración de 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 Auto Scaling envía al tema, debe suscribir un punto de enlace al tema. En este procedimiento, en Endpoint (Punto de enlace), especifique la dirección de correo electrónico donde 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. 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. Abra la consola de Amazon EC2 en https://console.aws.amazon.com/ec2/ y elija Auto Scaling Groups (Grupos de escalado automático) 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. Abra la consola de Amazon EC2 en https://console.aws.amazon.com/ec2/ y elija Auto Scaling Groups (Grupos de escalado automático) 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. Seleccione 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. Abra la consola de Amazon EC2 en https://console.aws.amazon.com/ec2/ y elija Auto Scaling Groups (Grupos de escalado automático) 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 de Amazon EC2 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 AWSServiceRoleForAutoScalingpermisos al rol vinculado al servicio denominado para usar la clave administrada por el cliente. Para obtener más información sobre el rol vinculado a los servicios de Amazon EC2 Auto Scaling, consulte Roles vinculados a servicios de Amazon EC2 Auto Scaling.

{ "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 de condición aws:SourceArn y aws:SourceAccount no se admiten en las políticas de claves que permiten a Amazon EC2 Auto Scaling publicar en temas cifrados.