名称: AWS故障排除 描述: AWS服务故障排除模式。用于解决EC2、ECS、Lambda、CloudWatch、RDS问题。
AWS故障排除专业知识
调查方法论
- 识别涉及的AWS资源/服务
- 检查资源状态 使用描述函数
- 审查CloudWatch日志 查找错误
- 检查CloudWatch指标 查找异常
- 分析配置 查找配置错误
- 综合并推荐
CloudWatch日志策略
分区优先(关键)
切勿转储所有日志。 首先使用聚合查询:
# 随时间错误率
filter @message like /ERROR/
| stats count(*) as errors by bin(5m)
# 顶级错误消息
filter @message like /Exception/
| stats count(*) by @message
| sort count desc
| limit 10
# 延迟百分位数
stats pct(@duration, 50) as p50, pct(@duration, 99) as p99 by bin(5m)
# 唯一错误类型
filter @message like /ERROR/
| parse @message /(?<error_type>[\w.]+Exception)/
| stats count(*) by error_type
查询流程
- 先统计:获取错误计数、分布
- 识别时间窗口:找出错误峰值时间
- 从峰值取样:获取具体示例
- 与基线比较:查询昨天/上周同期
服务特定模式
EC2问题
| 症状 | 第一检查 | 典型原因 |
|---|---|---|
| 不可达 | describe_ec2_instance |
安全组、停止、状态检查失败 |
| 性能问题 | get_cloudwatch_metrics (CPUUtilization) |
CPU耗尽、网络饱和 |
| 磁盘满 | get_cloudwatch_metrics (DiskSpaceUtilization) |
日志、临时文件 |
EC2的关键CloudWatch指标:
- CPUUtilization
- NetworkIn, NetworkOut
- DiskReadOps, DiskWriteOps
- StatusCheckFailed
Lambda问题
| 症状 | 第一检查 | 典型原因 |
|---|---|---|
| 超时 | CloudWatch日志 | 外部调用慢、冷启动、内存不足 |
| 权限被拒绝 | CloudWatch日志 | IAM角色缺少权限 |
| 内存错误 | CloudWatch指标 | 内存分配过低 |
| 冷启动 | CloudWatch日志 + 指标 | 需要预置并发 |
Lambda的关键CloudWatch指标:
- Invocations
- Duration
- Errors
- Throttles
- ConcurrentExecutions
Lambda的CloudWatch Insights:
# 冷启动分析
filter @type = "REPORT"
| stats avg(@initDuration) as avg_cold_start,
count(@initDuration) as cold_starts,
count(*) as total_invocations
by bin(5m)
# 超时分析
filter @message like /Task timed out/
| stats count(*) by bin(5m)
ECS/Fargate问题
| 症状 | 第一检查 | 典型原因 |
|---|---|---|
| 任务失败 | list_ecs_tasks |
容器崩溃、资源限制、镜像拉取 |
| 服务不健康 | list_ecs_tasks |
健康检查失败、目标组问题 |
| 扩展慢 | CloudWatch指标 | 容量不足、服务限制 |
调查流程:
list_ecs_tasks- 查看任务状态和健康- 检查任务描述中的停止原因
- 审查任务的CloudWatch日志
- 检查容器见解指标
RDS问题
| 症状 | 第一检查 | 典型原因 |
|---|---|---|
| 连接被拒绝 | get_rds_instance_status |
安全组、停止、维护 |
| 查询慢 | CloudWatch指标 | CPU、IOPS、连接 |
| 存储满 | CloudWatch指标 | 数据增长、日志、快照 |
RDS的关键CloudWatch指标:
- CPUUtilization
- DatabaseConnections
- ReadIOPS, WriteIOPS
- FreeStorageSpace
- ReadLatency, WriteLatency
常见AWS错误
权限错误
AccessDeniedException
UnauthorizedAccess
→ 检查附加到服务的IAM角色/策略
节流
Throttling
Rate exceeded
TooManyRequestsException
→ 实现指数退避、请求限制增加
资源未找到
ResourceNotFoundException
NoSuchEntity
→ 验证资源名称、区域、账户