Ashwini2601/Automated-Incident-Response-System-using-CloudWatch-Alarms-and-AWS-Lambda-Remediation

GitHub: Ashwini2601/Automated-Incident-Response-System-using-CloudWatch-Alarms-and-AWS-Lambda-Remediation

该项目利用 Amazon CloudWatch 监控 EC2 指标并在 CPU 超阈值时触发 AWS Lambda 自动重启实例,实现无需人工干预的事件响应与自动修复。

Stars: 0 | Forks: 0

# 🚀 使用 Amazon CloudWatch 和 AWS Lambda 的自动化事件响应系统 ![AWS](https://img.shields.io/badge/AWS-Cloud-orange?style=for-the-badge&logo=amazonaws) ![Lambda](https://img.shields.io/badge/AWS-Lambda-orange?style=for-the-badge&logo=awslambda) ![CloudWatch](https://img.shields.io/badge/CloudWatch-Monitoring-blue?style=for-the-badge) ![EC2](https://img.shields.io/badge/Amazon-EC2-blue?style=for-the-badge) ## 📌 项目概述 本项目演示了使用 AWS 服务构建的**事件驱动型自动化事件响应系统**。它通过 **Amazon CloudWatch** 持续监控 Amazon EC2 实例,并在 CPU 利用率超过设定阈值时,使用 **AWS Lambda** 自动触发修复操作。 该系统可确保**高可用性、减少停机时间,并在无需人工干预的情况下实现自动恢复**。 ## 🏗 架构 ``` EC2 Instance → CloudWatch Metrics → CloudWatch Alarm → AWS Lambda → EC2 Reboot → CloudWatch Logs ```

Architecture Diagram

## 🎯 问题描述 生产系统可能会出现高 CPU 使用率的情况,从而导致性能下降或停机。手动监控会增加响应时间和运维成本。 ## 本项目通过自动化检测和修复来解决此问题。 ## 🎯 目标 - 监控 EC2 CPU 利用率 - 自动检测阈值越界 - 触发 AWS Lambda 函数 - 自动重启 EC2 实例 - 在 CloudWatch 中维护日志 - 减少人工干预 ## ✨ 核心功能 - 使用 CloudWatch 进行实时监控 - 自动事件检测 - 使用 Lambda 进行无服务器修复 - EC2 自动重启功能 - 集中式日志管理 - 事件驱动架构 - 减少停机时间(改善 MTTR) ## 🛠 使用的 AWS 服务 | 服务 | 用途 | |----------|---------| | EC2 | 计算实例 | | CloudWatch | 监控指标 | | CloudWatch Alarm | 阈值检测 | | AWS Lambda | 自动化与修复 | | IAM | 权限管理 | | CloudWatch Logs | 日志记录 | ## 📂 项目结构 ``` Automated-Incident-Response-System/ ├── images/ │ └── architecture.png │ ├── lambda/ │ └── lambda_function.py │ ├── screenshots/ │ ├── ec2-instance.png │ ├── cloudwatch-alarm.png │ ├── high-cpu-utilization.png │ ├── lambda-execution.png │ ├── ec2-reboot.png │ └── cloudwatch-logs.png │ └── README.md ``` ## ⚙ 实施步骤 1. 启动 EC2 实例 2. 启用 CloudWatch 监控 3. 创建 CPU 利用率告警 (>70%) 4. 创建 AWS Lambda 函数 5. 附加 IAM 权限 6. 将告警链接到 Lambda 触发器 7. 使用 stress 工具生成 CPU 负载 8. 验证 EC2 自动重启 ## 📷 截图 ### EC2 实例 ## ![架构](https://static.pigsec.cn/wp-content/uploads/repos/cas/8b/8be155566dd3b51417b98c2aaeee63b50001ef22a6aed10454e7ddf961db035f.png) ### CloudWatch Alarm ## ![告警](https://static.pigsec.cn/wp-content/uploads/repos/cas/ec/ec3ab07322e2d0760a38dc8d7e3a3cbe6a02de204467b153f8984322bf49921d.png) ### 高 CPU 利用率 ## ![CPU](https://static.pigsec.cn/wp-content/uploads/repos/cas/09/09f4477d955a248ebdef21daa454f34e221ed3f56d7a10fb8e942f91858f6e8c.png) ### Lambda 执行 ## ![Lambda](https://static.pigsec.cn/wp-content/uploads/repos/cas/46/46f1591174c1a969fa87a8e51469a5ca8a7a1ce696289148617467bcbc1ef761.png) ### EC2 重启 ## ![重启](https://static.pigsec.cn/wp-content/uploads/repos/cas/10/10e8ae8cbd46265d26f42193e8c3a8caf89c96fcb985e3f6806bae27449fb3f7.png) ### CloudWatch Logs ![Logs](https://static.pigsec.cn/wp-content/uploads/repos/cas/0e/0e3089eda921c52c804453e8bc640b8ec842edff515de834516097d062f1498d.png) ## 📈 结果 - 成功检测到 CPU 峰值 - 自动触发 CloudWatch Alarm - Lambda 在无人工干预下执行 - EC2 实例成功重启 - 日志存储在 CloudWatch 中 ## 🚀 未来改进 - SNS 电子邮件 / Slack 通知 - Auto Scaling 集成 - AWS Systems Manager 自动化 - 多实例监控 - 基于 EventBridge 的工作流 ## 🧠 核心学习点 - AWS CloudWatch 监控 - 事件驱动架构 - AWS Lambda 自动化 - EC2 管理 - IAM 角色配置 - 云运维最佳实践 ## 🏁 结论 本项目演示了一个使用 AWS 无服务器和监控服务构建的完全自动化的事件响应系统。它通过智能的云自动化提高了系统可靠性,减少了停机时间,并免除了人工干预。
标签:AWS, AWS Lambda, CloudWatch, DPI, WSL, 事件驱动架构, 自动化响应, 自动化运维, 逆向工具