Notificaciones DevOps con AWS Chatbot - Integración de eventos AWS con Slack y Teams
Aprenda cómo enviar notificaciones de alarmas CloudWatch y CodePipeline a Slack y Teams, y construir un entorno ChatOps donde puede operar AWS usando comandos @aws desde el chat.
Cómo funciona Chatbot y servicios compatibles
AWS Chatbot es un servicio ChatOps que envía notificaciones de AWS a Slack y Microsoft Teams y permite operaciones AWS desde canales de chat. Al asociar un tema SNS con un canal de chat, los mensajes publicados en ese tema se entregan como notificaciones de chat. Los servicios AWS compatibles incluyen alarmas CloudWatch, AWS Health, Security Hub, Budgets, CodePipeline, CodeBuild, GuardDuty, Systems Manager, Config y muchos más. Los mensajes de notificación se muestran en formatos optimizados para cada servicio, proporcionando información visual sobre gráficos de transición de estado de alarmas y progreso de etapas del pipeline.
Configuración de notificaciones y ChatOps
La configuración se completa en tres pasos: conectar su espacio de trabajo de Slack o inquilino de Teams a Chatbot, seleccionar un canal y asociar un tema SNS. Para notificaciones de alarmas CloudWatch, cuando una alarma transiciona al estado ALARM, se publica un mensaje en el canal de Slack con un gráfico de métricas adjunto. La función ChatOps permite ejecutar comandos AWS CLI desde canales de chat usando comandos @aws. Por ejemplo, @aws lambda invoke --function-name my-function invoca una función Lambda, y @aws cloudwatch describe-alarms --state-value ALARM lista las alarmas en estado ALARM. Durante la respuesta a incidentes, puede completar la evaluación de la situación y las acciones de respuesta dentro del canal de chat, reduciendo el cambio de contexto.
Seguridad y control de acceso
Las configuraciones de canal de Chatbot están asociadas con roles IAM que controlan qué operaciones AWS se pueden ejecutar desde ese canal. Una configuración recomendada es permitir operaciones del entorno de producción solo desde un canal de operaciones dedicado mientras se limitan los canales de desarrollo generales a operaciones de solo lectura. Las políticas de guardrail pueden restringir las acciones IAM permitidas por canal, previniendo impactos accidentales en entornos de producción. Los registros de operaciones de Chatbot se registran en CloudTrail, permitiendo auditar quién ejecutó qué comandos y cuándo. Chatbot en sí es gratuito, aplicándose solo los cargos de entrega de SNS. Para profundizar sus conocimientos sobre operaciones de notificación Slack, libros especializados en Amazon pueden ser útiles.
Precios de Chatbot
AWS Chatbot es gratuito. No hay cargos adicionales por enviar notificaciones a Slack o Teams, ni por ejecutar comandos AWS CLI desde el chat. Los únicos costos son los temas SNS que activan las notificaciones (aproximadamente $0.50 por millón de solicitudes) y los recursos creados o modificados como resultado de las operaciones AWS ejecutadas mediante ChatOps. Dado que se puede adoptar sin costo y mejora significativamente la visibilidad operativa y la velocidad de respuesta, se recomienda su implementación en todos los equipos.
Resumen
AWS Chatbot es un servicio ChatOps que convierte Slack y Teams en un centro de operaciones AWS. Permite la detección inmediata de incidentes mediante notificaciones de alarmas, respuesta rápida mediante operaciones AWS desde el chat y operaciones seguras mediante control de acceso basado en roles IAM. Su precio gratuito y baja barrera de adopción lo convierten en una opción atractiva.