abhinav-dops/linux-aws-support-lab
GitHub: abhinav-dops/linux-aws-support-lab
一个模拟真实 Linux 服务器管理与 AWS 云支持的实战实验项目,覆盖服务器加固、自动化监控、故障检测与事件响应全流程。
Stars: 0 | Forks: 0
# Linux & AWS 基础设施支持实验
一个模拟真实世界 Linux 服务器管理的实战基础设施支持项目,
监控以及在 AWS EC2 上的事件响应。
## 项目目标
展示 Technical Support Engineer、Cloud Support Engineer
以及 L1 AWS Support 岗位所需的技能。
## 技术栈
- Ubuntu 22.04 (EC2 t2.micro)
- Nginx(web 服务器 + 反向代理)
- Bash 脚本
- Cron 自动化
- UFW 防火墙
- AWS CloudWatch + SNS
- systemd + journalctl
## 构建内容
### 阶段 1 — 服务器设置与 SSH 加固
- 启动 EC2,附加 Elastic IP
- 创建用户、组和 sudo 权限
- 使用 chmod/chown 设置文件权限
- 加固 SSH:禁用 root 登录,更改端口为 2222,
强制仅使用密钥认证,设置 MaxAuthTries 为 3
### 阶段 2 — Nginx + 防火墙
- 在端口 80 上托管静态站点
- 配置反向代理(端口 80 → 3000)
- UFW 规则:允许 2222、80、443 — 拒绝其他所有
### 阶段 3 — 监控与自动化
- monitor.sh:每 5 分钟检查一次 CPU、磁盘、内存 — 超过阈值时发出警报
- health.sh:每 5 分钟检查一次 nginx — 宕机时自动重启
- backup.sh:每日将 /var/www/labsite 备份至 /backup/
- Cron:每个脚本单独记录日志(cron-monitor.log、cron-health.log、cron-backup.log)
- 使用 stress 工具模拟 CPU 飙升 — 警报被记录至 sysmon.log
### 阶段 4 — CloudWatch
- 安装并配置 CloudWatch agent
- 指标:CPU、内存、磁盘
- 日志组:sysmon、nginx-error
- 警报:lab-cpu-high (>70%)、lab-status-check
- 在 CPU 飙升测试期间验证了 SNS 邮件警报
## 模拟的事件
| # | 事件 | 检测 | 解决方案 |
|---|----------|-----------|------------|
| 001 | CPU 飙升 (100%) | monitor.sh 警报 | 结束 stress 负载 |
| 002 | Nginx 宕机 | health.sh 警告 | 通过 systemctl 自动重启 |
| 003 | 磁盘满(流程) | monitor.sh 阈值 | 日志轮转 + 清理 cron |
## 使用的运维命令
### 服务管理
systemctl status nginx
systemctl restart nginx
systemctl enable nginx
journalctl -u nginx -n 20
journalctl -xe
journalctl --since "1 hour ago"
### 日志分析
tail -f /var/log/sysmon.log
grep "ERROR" /var/log/sysmon.log
grep "failed" /var/log/auth.log
grep "error" /var/log/nginx/error.log
### 文件与权限
vim /etc/nginx/nginx.conf
vim /etc/ssh/sshd_config
chmod +x *.sh
chown -R www-data:www-data /var/www/labsite
### 监控
df -h
free -m
top
htop
vmstat 1 2
### Cron 与自动化
crontab -e
crontab -l
## 仓库结构
scripts/ — monitor.sh, health.sh, backup.sh
configs/ — nginx.conf, sshd_config.diff, ufw-rules.txt
cron/ — crontab.txt
docs/ — 事件工单、RCA、CloudWatch 设置
标签:AWS, DPI, Nginx, 应用安全, 监控告警, 系统运维, 自动化运维, 运维