Blog de Amazon Web Services (AWS)

AWS Health Aware: personalice las alertas de AWS Health para cuentas de AWS organizacionales y personales

Por Mridula Grandhi, Senior Leader de Specialized Solutions Architecture para Compute en AWS y
Jordan Roth, Senior Solutions Architect en AWS
AWS busca una alta disponibilidad y tiene un tiempo de operación del 99,9% para la mayoría de los servicios. Sin embargo, en el raro caso de que se produzcan incidentes, los clientes deben estar preparados para responder. AWS Health es el canal principal para comunicar la degradación del servicio, los cambios programados y los problemas que afectan a los recursos. Para los clientes que ejecutan aplicaciones críticas, tener acceso a alertas proactivas y en tiempo real es un aspecto esencial para mejorar sus procesos de corrección de incidentes y mantener la excelencia operativa. La velocidad y la agilidad son cruciales para nuestros clientes cuando se trata de monitorear los eventos relacionados con el estado de los servicios y mantener la confiabilidad y la disponibilidad de las aplicaciones de los clientes que se ejecutan en AWS.

AWS Health Aware: AHA es un framework de gestión de incidentes y comunicación para incluir alertas proactivas y en tiempo real de AWS Health en los canales de comunicación preferidos del cliente. Los clientes que utilizan AWS Organizations pueden recibir alertas agregadas a nivel de cuenta activa de las cuentas afectadas de toda su organización. Las alertas se pueden configurar para endpoints como Slack, Microsoft Teams, Amazon Chime, y correo electrónico. AHA también se puede integrar con una amplia variedad de endpoints durante la configuración. El objetivo de estas alertas es proporcionar a los clientes visibilidad y orientación sobre los eventos para ayudarles a diagnosticar y resolver problemas que están impactando sus aplicaciones o cargas de trabajo.

¿Qué es nuevo?

Nos complace anunciar las dos actualizaciones siguientes a AHA:

  1. ¡Las integraciones con EventBridge ya están disponibles! Explore el Github de AHA para obtener más información sobre la configuración.
  2. Correcciones de errores de Terraform para el despliegue de Secrets y S3 Single Region.

Beneficios de AHA

AHA usa la API de AWS Health, que solo está disponible para los clientes de AWS que tienen un plan de soporte Business o Enterprise.

Estos clientes pueden aprovechar las siguientes funciones:

  1. Integración con plataformas de comunicación como Slack, Amazon Chime, Microsoft Teams y email para alertas automatizadas y en tiempo real de los incidentes de AWS.
  2. Integración con Amazon EventBridge, con la posibilidad de incluir alertas organizativas y no organizativas en un Event Bus. Esto ayuda a los clientes a integrarse con más de 35 socios de SaaS, como NewRelic/Datadog/PagerDuty, etc.
  3. Alertas agregadas en el Personal Health Dashboard (PHD), proporcionado por AWS Health.
  4. Visibilidad de las cuentas y los recursos de AWS afectados por las alertas del PHD.
  5. Posibilidad de filtrar alertas no deseadas seleccionando regiones específicas.

Alcance

Antes de entrar en el despliegue, revisemos las características y la arquitectura de AHA para comprender mejor cómo funciona todo en conjunto. En la figura 1, los eventos disponibles en la API de AWS Health se describen en función de si el cliente utiliza AWS Organizations o no.

Vista general de la arquitectura

Los siguientes diagramas presentan la arquitectura de AHA que modela una configuración serverless de una o varias regiones.

Un usuario carga un template de AWS CloudFormation (CFT) en una cuenta de AWS. El CFT obtiene la solución de un bucket de Amazon S3. A continuación, el CFT despliega Amazon IAM Roles, un scheduler de Amazon EventBridge, una función de AWS Lambda, las URL de webhook en AWS Secrets Manager y una tabla de Amazon DynamoDB.

Región única

Esta arquitectura permite a los usuarios desplegar AHA en una región de AWS determinada.

Varias regiones

Con esta arquitectura, los usuarios pueden desplegar AHA en un modelo de región activa/activa. Esto centraliza el despliege de AHA en varias regiones para mantener la capacidad de respuesta y evitar las interrupciones que pueden producirse durante un evento de AWS.

En esta tabla, enumeramos las características de la arquitectura de AHA y su propósito.

Recurso Descripción
DynamoDDBTable Tabla de DynamoDB utilizada para almacenar los ARN, las actualizaciones y el TTL de los eventos
ChimeChannelSecret URL del webhook de Amazon Chime almacenada en AWS Secrets Manager
EventBusNameSecret El ARN de EventBus para Amazon EventBridge almacenado en AWS Secrets Manager
LambdaExecutionRole Rol de IAM utilizado para LambdaFunction
LambdaFunction Función principal de Lambda que lee la API de AWS Health, envía a direcciones URL de webhook configuradas y escribe en DynamoDB
LambdaSchedule Regla de Amazon EventBridge que se ejecuta cada minuto para invocar LambdaFunction
LambdaSchedulePermission Rol de IAM utilizado para LambdaSchedule
MicrosoftChannelSecret URL del webhook de Microsoft Teams almacenada en AWS Secrets Manager
SlackChannelSecret URL del webhook de Slack almacenada en AWS Secrets Manager

Extensibilidad de EventBridge

Amazon EventBridge simplifica la conexión de aplicaciones al proporcionar streaming de datos en tiempo real desde fuentes personalizadas, desde Amazon Web Services (AWS) y desde aplicaciones de Software as a Service (SaaS).
A continuación, los datos se pueden enviar a varios destinos, como AWS Lambda, AWS Step Functions, Amazon Kinesis y muchos otros.
Amazon EventBridge también le permite conectar sus aplicaciones a una variedad de partners de SaaS sin tener que preocuparse por crear y mantener una infraestructura personalizada. Los clientes utilizan estos recursos para mejorar la escalabilidad y la confiabilidad de sus aplicaciones mediante la creación de arquitecturas orientadas a eventos en lugar de una estrecha combinación de servicios.
A medida que más clientes comiencen a crear integraciones de punto a punto con EventBridge, AHA desea ofrecer orientación a los clientes sobre la mejor manera de empezar con la variedad de diferentes posibilidades de fuentes y tipos de eventos.
Estos casos de uso incluyen:

  1. Auditoría y archivado casi en tiempo real de eventos históricos de operaciones comerciales.
  2. Visualización y análisis de eventos con fines de business intelligence y operativos.
  3. Alertas automatizadas y remediación de aplicaciones, servicios y sistemas de infraestructura.
  4. Conexión de workflows personalizados con los consumidores finales de productos y aplicaciones legacy o on-premises.

La visualización que se muestra en la figura 3 explica las opciones de extensibilidad de AHA a través de las integraciones de AWS EventBridge:

Diagram shows Event bus and Amazon Eventbridge sending to External SaaS providers.

Figure 3

 

Prerrequisitos generales

Configurando un endpoint

AHA puede enviar a varios endpoints (URL de webhook, correo electrónico o EventBridge). Para utilizar cualquiera de ellos, deberá configurarlo con antelación, ya que algunos de ellos están hechos en sitios de terceros. Vamos a ver algunos de los más comunes aquí.

  • Creación de una URL de webhook de Amazon Chime (se requieren permisos; acceso a la sala de Amazon Chime, posibilidad de administrar webhooks)
    1. Cree una nueva sala de chat para eventos (por ejemplo, aws_events)
    2. En la sala de chat creada en el paso 1, haga clic en el icono con forma de engranaje y después en administrar webhooks y bots
    3. Haga clic en Agregar webhook
    4. Escriba un nombre para el bot (por ejemplo, AHA) y haga clic en Crear
    5. Haga clic en Copiar URL, la necesitaremos para la implementación
  • Crear una URL de webhook para Slack (se requieren permisos; agregar un nuevo canal y aplicación en Slack)
    1. Cree un nuevo canal para eventos (por ejemplo, aws_events)
    2. En su navegador, vaya a: workspace-name.slack.com/apps, donde workspace-name es el nombre de su Slack Workspace
    3. En la barra de búsqueda, busque: Incoming Webhooks y haga clic en él
    4. Haga clic en Añadir a Slack
    5. En el menú desplegable, haga clic en el canal que creaste en el paso 1 y haga clic en Agregar integración con Incoming Webhooks.
    6. Desde esta página, puede cambiar el nombre del webhook (por ejemplo, AWS Bot), el icono o el emoji que se utilizará, etc.
    7. Para el despliegue, necesitaremos la URL de Webhook
  • Crear una URL de webhook de Microsoft Teams (se requieren permisos; agrega un nuevo canal y aplicación en Microsoft Teams)
    1. Cree un nuevo canal para eventos (por ejemplo, aws_events)
    2. Dentro de Microsoft Teams, vaya a Aplicaciones
    3. En la barra de búsqueda, busque: Incoming Webhook y haga clic en él
    4. Haga clic en Añadir al equipo
    5. Escriba su nombre en el canal creado en el paso 1 y haz clic en Configurar un conector
    6. Desde esta página, puede cambiar el nombre del webhook (por ejemplo, AWS Bot), el icono o el emoji que se utilizará, etc. Cuando haya terminado, haga clic en Crear
    7. Para el despliegue, necesitaremos la URL del webhook que se presenta
  • Configurar un correo electrónico
    1. Puede enviar alertas por correo electrónico a una o varias direcciones. Sin embargo, primero debe verificar los correos electrónicos en la consola de Simple Email Service (SES).
    2. AHA utiliza Amazon Simple Email Service (SES), por lo que todo lo que necesita es introducir una dirección To: y una dirección From:.
    3. Puede que tenga que crear una regla en su entorno para que su cliente de correo electrónico no etiquete los correos electrónicos como spam.
  • Creación de un Amazon EventBridge — EventBus
    1. Abra la consola de Amazon EventBridge en https://console.aws.amazon.com/events/
    2. En el panel de navegación, seleccione Event Buses.
    3. Elija Crear bus de eventos
    4. Introduzca un nombre para el nuevo Event Bus
    5. Elija Crear

Para obtener más información, consulte la documentación.

Configuración

Los pasos detallados de implementación están disponibles en el Github de AHA.

Apoyo y contribuciones

La solución AWS Health Aware está disponible en el repositorio de AWS Samples en Github. Los creadores de esta solución pueden ayudar con preguntas o solicitudes de características de AHA ÚNICAMENTE en base a sus mejores esfuerzos.

Los clientes de Enterprise Support pueden ponerse en contacto con sus TAM si tienen preguntas o solicitudes de características adicionales. ¡Cualquier contribución a este proyecto en Github es bienvenida y se puede solicitar a través de pull requests de Github!

Conclusión

En este post, aprendió cómo se puede utilizar la API de AWS Health para alertar a los clientes con información actualizada sobre los eventos de AWS Health que les afectan. Ha implementado una infraestructura serverless a través de AWS CloudFormation que envía estas alertas a sus canales de comunicación preferidos. Ahora debería poder supervisar y reaccionar de forma proactiva ante los eventos de AWS Health en sus cuentas personales o de AWS Organizations. Para empezar, visite el repositorio de Github de aws-samples y descargue AWS Health Aware (AHA). 

 

Este artículo fue traducido del Blog da AWS em Inglés.

 


Acerca de los autores

Mridula Grandhi es una Senior Leader de Specialized Solutions Architecture para Compute en AWS, dándole a los clientes orientación sobre aspectos como la alineación entre negocio y tecnología, modernización de aplicaciones, modernización de infraestructura y ayudándolos a reinventar su transformación digital. Puedes ponerte en contacto con ella en Twitter a través de @gmridula1 (los mensajes directos están abiertos).

 

 

 

 

Jordan Roth un Senior Solutions Architect especializado en VMC y Hybrid-Edge para AWS.  Jordan ayuda a los clientes y socios de AWS con sus estrategias de migración a la nube.  En su tiempo libre, le gusta viajar por el mundo con su esposa, cocinar, hacer scape rooms y correr con sus dos perros.

 

 

 

 

Revisores

Juan Pablo Melgarejo Zamora es un arquitecto de soluciones especializado en Microsoft Workloads. Tiene experiencia en Software, DevOps y seguridad. Fuera del trabajo, le gusta viajar y cocinar.