silar512/silar512-aws-web-server-monitoring-incident-response-lab

GitHub: silar512/silar512-aws-web-server-monitoring-incident-response-lab

该项目演示了如何在 AWS 上部署 Nginx 网站并通过 CloudWatch、SNS 和 Systems Manager 实现监控告警与高 CPU 事件的安全排查和恢复。

Stars: 0 | Forks: 0

# AWS Web 服务器监控与事件响应实验 一个实践性的云支持工程师项目,演示如何使用 AWS 服务来部署、监控、故障排除和恢复一个托管在 EC2 上的 Web 服务器。 ## 项目概述 在这个项目中,我在 Amazon EC2 实例上部署了一个小型的 Nginx 网站,并使用 Amazon CloudWatch 和 Amazon SNS 配置了监控和警报。 我还模拟了一次 CPU 使用率过高的事件,接收了警报邮件,通过 AWS Systems Manager Session Manager 安全地调查了实例,并确认环境已成功恢复。 ## 架构 ``` Internet | | HTTP (Port 80) v Amazon EC2 Instance Amazon Linux 2023 + Nginx | +-- CloudWatch Metrics and Alarm +-- SNS Email Alert +-- Systems Manager Session Manager ``` ## 使用的 AWS 服务 - Amazon EC2 - Amazon Linux 2023 - Nginx - Amazon VPC Security Groups - Amazon CloudWatch - Amazon SNS - AWS Systems Manager Session Manager - AWS IAM ## 安全配置 - 创建了一个名为 `cloud-support-web-sg` 的安全组 - 允许端口 80 上的入站 HTTP 流量 - 未开放 SSH 端口 22 - 使用 Systems Manager Session Manager 进行安全的实例访问 ## 监控配置 创建了一个名为以下名称的 CloudWatch 警报: ``` web-01-high-cpu ``` 警报配置: - 指标:`CPUUtilization` - 命名空间:`AWS/EC2` - 阈值:CPU 使用率大于或等于 70% - 评估周期:5 分钟内的 1 个数据点 - 通知:Amazon SNS 电子邮件警报 ## 事件场景:CPU 使用率过高 在 EC2 实例上触发了高 CPU 负载,以模拟真实的运维事件。 ### 事件工作流 1. CloudWatch 检测到 CPU 使用率超过 70%。 2. `web-01-high-cpu` 警报状态从 `OK` 变为 `ALARM`。 3. Amazon SNS 发送了电子邮件通知。 4. 我使用 Systems Manager Session Manager 进行了安全连接。 5. 我检查了 Nginx 状态、HTTP 响应、磁盘使用情况和内存使用情况。 6. 我减少或停止了高 CPU 负载。 7. CloudWatch 警报恢复为 `OK` 状态。 ## 验证命令 ``` sudo systemctl status nginx curl -I http://localhost df -h free -m top ``` ## 结果 - Nginx 服务成功运行。 - 网站返回 `HTTP/1.1 200 OK`。 - CloudWatch 成功检测到 CPU 使用率过高。 - SNS 成功发送了警报电子邮件通知。 - 恢复后警报状态返回 `OK`。 ## 项目证明 - [项目报告](docs/AWS_Web_Server_Monitoring.pdf) - [网站演示视频](videos/website-demo.mp4) - [CloudWatch 事件演示视频](videos/cloudwatch-alert-demo.mp4) ## 展示的核心技能 - EC2 实例部署与配置 - Linux 和 Nginx 故障排除 - CloudWatch 监控与警报配置 - SNS 电子邮件通知设置 - 使用 Systems Manager Session Manager 进行安全访问 - 事件检测、调查、缓解和恢复 - 云安全最佳实践 ## 清理 为避免产生意外的 AWS 费用,完成实验后应删除以下资源: - EC2 实例 - CloudWatch 警报和仪表盘 - SNS 主题和订阅 - 安全组(在不再附加到资源之后) ## 作者 Shaik Silar 有志成为云支持工程师
标签:AWS, CloudWatch, DPI, EC2, IaC, Nginx, 运维监控