monikagaikwad22/aws-auto-incident-response

GitHub: monikagaikwad22/aws-auto-incident-response

基于CloudWatch Alarms和Lambda的AWS自动事件响应系统,实现资源指标异常时触发无服务器函数执行自动修复。

Stars: 0 | Forks: 0

# 使用 CloudWatch Alarms 和 Lambda 修复的自动事件响应系统 ## 项目概述 本项目演示了在 AWS 上构建的自动事件响应系统。 该系统利用 CloudWatch alarms 自动检测问题,并触发 Lambda 函数在无需人工干预的情况下执行修复操作。 这有助于提高系统可靠性,减少停机时间,并实现更快的事件解决。 ## 架构 1. 启动实例 2. AWS 资源生成指标(CPU 使用率) 3. CloudWatch 监控这些指标。 4. 当超过阈值时,CloudWatch Alarm 被触发。 5. 该警报触发 AWS Lambda 函数。 6. Lambda 执行修复(例如重启 EC2 实例)。 ## 使用的技术 * AWS CloudWatch * AWS Lambda * AWS EC2 * Python ## 工作流程 EC2 实例 → CloudWatch 指标 → CloudWatch 警报 → Lambda 触发 → 自动修复 示例场景: * CPU 使用率超过阈值 * CloudWatch 警报被触发 * Lambda 函数自动运行 * Lambda 重启 EC2 实例 ## 实施步骤 ### 1. 启动 EC2 实例 创建一个将被监控的 EC2 实例。 ### 2. 创建 Lambda 函数 创建一个执行修复操作的 Lambda 函数。 **示例 Python 代码:** ``` import boto3 import json ec2 = boto3.client('ec2') def lambda_handler(event, context): instance_id = "i-09ee7872e12ad5ba3" try: print("CloudWatch Alarm Event:", json.dumps(event)) print("Restarting instance:", instance_id) ec2.reboot_instances( InstanceIds=[instance_id] ) print("Instance reboot initiated successfully") return { 'statusCode': 200, 'body': json.dumps('EC2 reboot triggered successfully!') } except Exception as e: print("Error occurred:", str(e)) return { 'statusCode': 500, 'body': json.dumps('Error rebooting EC2 instance') } ``` ### 3. 创建 CloudWatch Alarm 为如下指标配置警报: * CPU 利用率 > 70% 将警报操作设置为触发 Lambda 函数。 ### 4. 测试系统 在 EC2 实例上生成负载以提高 CPU 使用率。 一旦越过阈值: * CloudWatch 警报触发 * Lambda 执行 * EC2 实例自动重启 # **实施步骤** # 1. **启动 EC2 实例** Instance details _ EC2 _ ap-southeast-1 - Google Chrome 3_11_2026 10_27_33 PM # 2. **CloudWatch Alarm 配置** ![WhatsApp Image 2026-03-11 at 2 55 24 PM](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/b1049aec79035209.jpg) # 3. **Lambda 函数配置** ![WhatsApp Image 2026-03-11 at 3 02 58 PM](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/6fbb340fe8035224.jpg) # 4. **警报触发事件** ![WhatsApp Image 2026-03-11 at 3 31 04 PM](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/2895e5b320035240.jpg) # 5. **Lambda 执行日志** ![WhatsApp Image 2026-03-11 at 3 43 40 PM](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/12c5fc6382035256.jpg) ## 结论 本项目演示了如何集成 AWS 服务以创建自动事件响应系统。利用 CloudWatch alarms 和 Lambda 函数,有助于组织自动响应系统问题并保持高可用性。
标签:AWS, CloudWatch, DPI, EC2, IaC, Incident Response, Lambda, Python, 告警 Remediation, 基础架构即代码, 异常检测, 故障自愈, 无后门, 无服务器, 服务可靠性, 自动化运维, 运维自动化, 逆向工具