Notificaciones de entorno de Elastic Beanstalk con Amazon SNS - AWS Elastic Beanstalk

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.

Notificaciones de entorno de Elastic Beanstalk con Amazon SNS

Puede configurar el entorno de AWS Elastic Beanstalk para que utilice Amazon Simple Notification Service (Amazon SNS) y lo notifique sobre eventos importantes que afecten a su aplicación. Para recibir mensajes de correo electrónico de AWS siempre que se produzca un error o cambie el estado del entorno, especifique una dirección de correo electrónico cuando cree un entorno o más adelante.

nota

Elastic Beanstalk utiliza Amazon SNS para las notificaciones. Para obtener información sobre los precios de Amazon SNS, consulte https://aws.amazon.com/sns/pricing/.

Cuando configura notificaciones para su entorno, Elastic Beanstalk crea un tema de Amazon SNS para su entorno en su nombre. Para enviar mensajes a un tema de Amazon SNS, Elastic Beanstalk debe tener el permiso requerido. Para obtener más información, consulte Configuración de los permisos para enviar notificaciones.

Cuando se produce un evento notable, Elastic Beanstalk envía un mensaje al tema. A continuación, Amazon SNS transmite los mensajes que recibe a los suscriptores del tema. Los eventos destacables incluyen errores de creación del entorno y todos los cambios en el estado del entorno y las instancias. Los eventos para las operaciones de Amazon EC2 Auto Scaling (como agregar y eliminar instancias del entorno) y otros eventos informativos no activan las notificaciones.

Correo electrónico de notificación de Amazon SNS

Puede escribir una dirección de correo electrónico en la consola de Elastic Beanstalk cuando cree un entorno o en algún momento posterior. Esto creará un tema de Amazon SNS y se suscribirá a él. Elastic Beanstalk administra el ciclo de vida del tema y lo elimina cuando se termina el entorno o cuando elimina su dirección de correo electrónico en la consola de administración del entorno.

El espacio de nombres de aws:elasticbeanstalk:sns:topics proporciona opciones para configurar un tema de Amazon SNS con archivos de configuración, una CLI o un SDK. Mediante uno de estos métodos, puede configurar el tipo de suscriptor y el punto de enlace. Para el tipo de suscriptor, puede elegir una cola de Amazon SQS o una URL HTTP.

Solo puede activar o desactivar notificaciones de Amazon SNS. La frecuencia de las notificaciones enviadas al tema puede ser alta, en función del tamaño y la composición del entorno. Para configurar las notificaciones que se enviarán en circunstancias específicas, tiene otras opciones. Puede configurar reglas controladas por eventos con Amazon EventBridge que lo notifiquen cuando Elastic Beanstalk emita eventos que cumplan criterios específicos. O bien, puede configurar su entorno para publicar métricas personalizadas y establecer alarmas de Amazon CloudWatch a fin de notificarlo cuando esas métricas alcancen un umbral incorrecto.

Configuración de notificaciones mediante la consola de Elastic Beanstalk

Puede escribir una dirección de correo electrónico en la consola de Elastic Beanstalk a fin de crear un tema de Amazon SNS para su entorno.

Para configurar notificaciones en la consola de Elastic Beanstalk
  1. Abra la consola de Elastic Beanstalk y, en la lista Regions (Regiones), seleccione su Región de AWS.

  2. En el panel de navegación, elija Environments (Entornos) y, a continuación, elija el nombre del entorno en la lista.

    nota

    Si tiene muchos entornos, utilice la barra de búsqueda para filtrar la lista de entornos.

  3. En el panel de navegación, elija Configuration (Configuración).

  4. En la categoría de configuración Actualizaciones, supervisión y registro, seleccione Editar.

  5. Desplácese hasta la sección Notificaciones de correo electrónico.

  6. Escriba una dirección de correo electrónico.

  7. Para guardar los cambios, elija Aplicar en la parte inferior de la página.

Cuando escribe una dirección de correo electrónico para notificaciones, Elastic Beanstalk crea un tema de Amazon SNS para su entorno y añade una suscripción. Amazon SNS envía un correo electrónico a la dirección suscrita para confirmar la suscripción. Debe hacer clic en el enlace del correo electrónico de confirmación para activar la suscripción y recibir notificaciones.

Configuración de las notificaciones con las opciones de configuración

Utilice las opciones del espacio de nombres de aws:elasticbeanstalk:sns:topics para configurar notificaciones de Amazon SNS para el entorno. Puede definir estas opciones utilizando archivos de configuración, una CLI o un SDK.

  • Punto de enlace de notificación: la dirección de correo electrónico, cola de Amazon SQS o URL a la que se envían las notificaciones. Si establece esta opción, se crearán una cola de SQS y una suscripción para el punto de enlace especificado. Si el punto de enlace no es una dirección de correo electrónico, también debe establecer la opción Notification Protocol. SNS valida el valor de Notification Endpoint en función del valor de Notification Protocol. Si define esta opción varias veces, se crean suscripciones adicionales al tema. Si quita esta opción, el tema se elimina.

  • Protocolo de notificación: el protocolo que se utiliza para enviar notificaciones a Notification Endpoint. El valor predeterminado de esta opción es email. Defina esta opción para email-json enviar correo electrónico con formato JSON, http o https para publicar notificaciones con formato JSON a un punto de enlace HTTP, o sqs para enviar notificaciones a una cola de SQS.

    nota

    No se admiten las notificaciones de AWS Lambda.

  • ARN de tema de notificación: después de establecer un punto de enlace de notificación para su entorno, consulte este valor para obtener el ARN del tema de SNS. También puede definir esta opción para que se utilice un tema de SNS para recibir notificaciones. Un tema asociado a su entorno mediante esta opción no se elimina cuando cambia esta opción o termina el entorno.

    Para configurar las notificaciones de Amazon SNS, debe tener los permisos necesarios. Si el usuario de IAM utiliza la política de usuario administrada AdministratorAccess-AWSElasticBeanstalk, ya debe disponer de los permisos necesarios para configurar el tema predeterminado de Amazon SNS que Elastic Beanstalk crea para el entorno. Sin embargo, si configura un tema de Amazon SNS que Elastic Beanstalk no administra, deberá agregar la siguiente política a su rol de usuario.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "sns:SetTopicAttributes", "sns:GetTopicAttributes", "sns:Subscribe", "sns:Unsubscribe", "sns:Publish" ], "Resource": [ "arn:aws:sns:us-east-2:123456789012:sns_topic_name" ] } ] }
  • Nombre de tema de notificación: defina esta opción para personalizar el nombre del tema de Amazon SNS utilizado para las notificaciones del entorno. Si existe un tema con el mismo nombre, Elastic Beanstalk asocia ese tema al entorno.

    aviso

    Si asocia un tema de SNS existente a un entorno con Notification Topic Name, Elastic Beanstalk eliminará el tema en caso de que termine el entorno o cambie esta configuración en el futuro.

    Si cambia esta opción, también se cambia Notification Topic ARN. Si ya hay un tema asociado al entorno, Elastic Beanstalk eliminará el tema anterior y creará un tema y suscripción nuevos.

    Al utilizar un nombre de tema personalizado, también debe proporcionar un ARN de un tema personalizado creado externamente. La política de usuario administrada no detecta automáticamente un tema con un nombre personalizado, por lo que debe proporcionar permisos personalizados de Amazon SNS a los usuarios de IAM. Utilice una política similar a la que se utiliza para un ARN de tema personalizado, pero incluya las siguientes adiciones:

    • Incluya dos acciones más en la lista Actions, concretamente: sns:CreateTopic, sns:DeleteTopic

    • Si va a cambiar el Notification Topic Name de un nombre de tema personalizado a otro, incluya los ARN de ambos temas en la lista Resource. También puede incluir una expresión regular que cubra ambos temas. De esta forma, Elastic Beanstalk tiene permisos para eliminar el tema anterior y crear el nuevo.

La CLI de EB y la consola de Elastic Beanstalk aplican los valores recomendados a las opciones anteriores. Debe eliminar estos ajustes si desea usar archivos de configuración para configurarlos. Para obtener más información, consulte Valores recomendados.

Configuración de los permisos para enviar notificaciones

En esta sección se describen las consideraciones de seguridad relacionadas con las notificaciones que utilizan Amazon SNS. Existen dos casos distintos:

  • Utilice el tema predeterminado de Amazon SNS que Elastic Beanstalk crea para su entorno.

  • Proporcione un tema externo de Amazon SNS a través de las opciones de configuración.

La política de acceso predeterminada para un tema de Amazon SNS permite únicamente al propietario del tema publicarlo o suscribirse a él. Sin embargo, mediante la configuración adecuada de la política, se puede conceder permiso a Elastic Beanstalk para publicar en un tema de Amazon SNS en cualquiera de los dos casos descritos en esta sección. En las siguientes subsecciones se proporciona más información.

Permisos de un tema predeterminado

Cuando configura notificaciones para su entorno, Elastic Beanstalk crea un tema de Amazon SNS para su entorno. Para enviar mensajes a un tema de Amazon SNS, Elastic Beanstalk debe tener el permiso requerido. Si su entorno utiliza el rol de servicio que la consola de Elastic Beanstalk o la CLI de EB han generado para él, o el rol vinculado al servicio de monitoreo de la cuenta, no es necesario hacer nada más. Estos roles administrados incluyen el permiso necesario que permite a Elastic Beanstalk enviar mensajes al tema de Amazon SNS.

Sin embargo, si ha proporcionado un rol de servicio personalizado al crear su entorno, asegúrese de que incluya la siguiente política.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "sns:Publish" ], "Resource": [ "arn:aws:sns:us-east-2:123456789012:ElasticBeanstalkNotifications*" ] } ] }

Permisos de un tema externo

En Configuración de las notificaciones con las opciones de configuración se explica cómo puede reemplazar el tema de Amazon SNS que Elastic Beanstalk proporciona, por otro tema de Amazon SNS. Si reemplazó el tema, Elastic Beanstalk debe comprobar que tiene permiso para publicar en este tema de SNS a fin de poder asociar el tema SNS con el entorno. Debería tener sns:Publish. El rol de servicio utiliza el mismo permiso. Para verificar que este es el caso, Elastic Beanstalk envía una notificación de prueba a SNS como parte de su acción a fin de crear o actualizar el entorno. Si esta prueba falla, el intento de crear o actualizar el entorno también falla. Elastic Beanstalk muestra un mensaje que explica el motivo de esta falla.

Si proporciona un rol de servicio personalizado para su entorno, asegúrese de que incluya la siguiente política a fin de permitir que Elastic Beanstalk envíe mensajes al tema de Amazon SNS. En el código siguiente, reemplace sns_topic_name con el nombre del tema de Amazon SNS que proporcionó en las opciones de configuración.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "sns:Publish" ], "Resource": [ "arn:aws:sns:us-east-2:123456789012:sns_topic_name" ] } ] }

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