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, 应用安全, 监控告警, 系统运维, 自动化运维, 运维