
AWS Resilience Modeling Skill
- 18 installs
- 9 repo stars
- Updated July 29, 2026
aws-resilience-modeling is a skill that analyzes AWS architecture resilience, identifies failure modes, scores risk, and designs disaster-recovery plans.
npx skills add https://github.com/aws-samples/sample-aws-resilience-skill --skill aws-resilience-modelingInstall if
Architects and SREs assessing AWS system resilience and disaster-recovery readiness
Skip if
Environments requiring write access, since all analysis runs strictly read-only
What aws-resilience-modeling covers
- Runs comprehensive AWS resilience analysis and failure-mode identification
- Maps component dependencies, scores risk, and designs DR and mitigation plans
- Operates read-only via AWS MCP servers or falls back to IaC and docs analysis
aws-resilience-modeling by the numbers
| All-time installs | 18 | skills.sh registry |
|---|---|---|
| Repo stars | ★ 9 | GitHub |
| Repo last updated | July 29, 2026 | GitHub |
| Repository | aws-samples/sample-aws-resilience-skill ↗ | |
Data as of Oct 20, 2026 (Skillselion catalog sync)
What can the aws-resilience-modeling skill do in Claude Code?
- Capabilities
- resilience analysis · failure mode analysis · dependency mapping · disaster recovery planning
- Works with
- aws
- Use cases
- devops · research
What aws-resilience-modeling says it does
You are a senior AWS Solutions Architect specializing in cloud system resilience assessment and risk management.
If MCP is not configured, the Skill will automatically fall back to analyzing IaC code, architecture documentation, or interactive Q&A.
What does the Aws Resilience Modeling skill produce?
A prioritized resilience report with failure modes, risk scores, and a mitigation roadmap
- architecture and dependency diagrams
- a failure-mode and risk-scoring report
- a mitigation strategy and implementation roadmap
- 7 analysis tasks
- 9-dimension resilience scoring
- 4 industry-leading methodologies
What files ship with aws-resilience-modeling?
Language / 语言
- If the user speaks English, follow SKILL_EN.md
- 如果用户使用中文,请遵循 SKILL_ZH.md
Detect the language from the user's message and load the corresponding instruction file.
AWS 系统韧性分析报告
[客户名称] - [环境名称]
分析日期:2025-02-17 分析师:Claude (AWS Resilience Assessment Skill) 版本:1.0
执行摘要
概述
本报告对 [客户名称] 的 AWS 生产环境进行了全面的韧性评估,识别了潜在的故障模式,并提供了优先级排序的改进建议。
当前韧性成熟度
总体评分:⭐⭐⭐ (3/5 - 已定义)
| 维度 | 评分 | 说明 |
|---|---|---|
| 架构韧性 | ⭐⭐⭐⭐ | 多 AZ 部署,但缺少跨区域 DR |
| 数据韧性 | ⭐⭐⭐ | 定期备份,但未测试恢复 |
| 运营韧性 | ⭐⭐ | 基础监控,缺少自动化恢复 |
| 测试韧性 | ⭐⭐ | 年度 DR 演练,无混沌工程 |
| 合规韧性 | ⭐⭐⭐ | 定义 SLA,但无 SLO 跟踪 |
关键发现(Top 5 风险)
| 优先级 | 风险 | 影响 | 当前状态 |
|---|---|---|---|
| 🔴 高 | RDS 单区域部署 | RTO > 30 分钟 | 需迁移到 Aurora Global |
| 🔴 高 | 缺少 Auto Scaling | 无法应对流量突增 | 需配置 Target Tracking |
| 🟡 中 | 监控覆盖不足 | 故障检测延迟 | 需集成 X-Ray 和 Synthetics |
| 🟡 中 | 未实施 Circuit Breaker | 级联故障风险 | 需在应用层实现 |
| 🟢 低 | NAT Gateway 单 AZ | 单点故障 | 需多 AZ 部署 |
优先改进建议(Top 3)
- 迁移到 Aurora Global Database
- 预期效果:RTO < 1 分钟,RPO < 1 秒
- 实施周期:3-4 周
- 预估成本:+$500-2000/月
- 实施 Auto Scaling 策略
- 预期效果:自动应对 3x 流量突增
- 实施周期:1-2 周
- 预估成本:变动成本(按需)
- 建立混沌工程实践
- 预期效果:每季度验证韧性,提前发现问题
- 实施周期:持续
- 预估成本:$100-300/月
预期投资和回报
| 项目 | 一次性投资 | 月度成本 | 预期收益 |
|---|---|---|---|
| 基础韧性改进 | $10,000 | +$500 | 减少 70% 中断时间 |
| 完整韧性改进 | $30,000 | +$2,000 | 达到 99.99% 可用性 |
| 持续改进计划 | $5,000 | +$500 | 持续韧性验证 |
ROI 分析:
- 当前估计年度中断损失:$100,000
- 实施后预期减少:$70,000/年
- 投资回收期:6 个月
1. 系统架构可视化
1.1 当前架构总览
graph TB
subgraph "AWS Region: us-east-1"
subgraph "VPC: 10.0.0.0/16"
subgraph "Public Subnet - AZ-1a"
ALB1[Application Load Balancer]
NAT1[NAT Gateway]
end
subgraph "Public Subnet - AZ-1b"
ALB2[ALB - Standby]
end
subgraph "Private Subnet - AZ-1a"
EC2_1a_1[EC2 Instance]
EC2_1a_2[EC2 Instance]
end
subgraph "Private Subnet - AZ-1b"
EC2_1b_1[EC2 Instance]
EC2_1b_2[EC2 Instance]
end
subgraph "Data Subnet - AZ-1a"
RDS_Primary[RDS Primary<br/>PostgreSQL]
Redis_1a[ElastiCache<br/>Redis]
end
subgraph "Data Subnet - AZ-1b"
RDS_Standby[RDS Standby]
Redis_1b[ElastiCache<br/>Redis]
end
end
end
Internet[Internet] -->|HTTPS| R53[Route 53]
R53 -->|Health Check| ALB1
ALB1 --> EC2_1a_1
ALB1 --> EC2_1a_2
ALB1 --> EC2_1b_1
ALB1 --> EC2_1b_2
EC2_1a_1 --> RDS_Primary
EC2_1a_2 --> RDS_Primary
EC2_1b_1 --> RDS_Primary
EC2_1b_2 --> RDS_Primary
EC2_1a_1 --> Redis_1a
EC2_1a_2 --> Redis_1a
EC2_1b_1 --> Redis_1b
EC2_1b_2 --> Redis_1b
RDS_Primary -.->|Sync Replication| RDS_Standby
EC2_1a_1 -->|Egress| NAT1
EC2_1a_2 -->|Egress| NAT1
classDef spof fill:#ff6b6b,stroke:#c92a2a,stroke-width:3px
class NAT1,RDS_Primary spof🚨 识别的单点故障:
- NAT Gateway(仅 AZ-1a)
- RDS Primary(故障转移需 60-120 秒)
1.2 组件依赖关系图
graph LR
User[用户请求] --> R53[Route 53]
R53 --> ALB[Application LB]
ALB --> App[应用服务器]
App --> Cache[ElastiCache]
App --> RDS[RDS 数据库]
App --> S3[S3 存储]
App -.->|异步| SQS[SQS 队列]
SQS -.->|异步| Worker[Worker 服务]
classDef critical fill:#ff6b6b
classDef important fill:#ffd93d
classDef optional fill:#6bcf7f
class RDS,App critical
class Cache,ALB important
class S3,SQS optional依赖关系说明:
- 🔴 关键依赖(同步):RDS、应用服务器
- 🟡 重要依赖(同步):ElastiCache、ALB
- 🟢 可选依赖(异步):S3、SQS
1.3 数据流图
sequenceDiagram
participant User as 用户
participant CF as CloudFront
participant ALB as Application LB
participant App as 应用服务器
participant Cache as ElastiCache
participant DB as RDS
User->>CF: 1. HTTPS 请求
CF->>ALB: 2. 转发(或缓存命中)
ALB->>App: 3. 负载均衡
App->>Cache: 4. 检查缓存
alt 缓存命中
Cache-->>App: 5a. 返回缓存数据
else 缓存未命中
App->>DB: 5b. 查询数据库
DB-->>App: 6. 返回数据
App->>Cache: 7. 更新缓存
end
App-->>ALB: 8. 返回响应
ALB-->>CF: 9. 返回响应
CF-->>User: 10. 返回(并缓存)1.4 网络拓扑图
graph TB
subgraph "VPC: prod-vpc (10.0.0.0/16)"
subgraph "AZ-1a"
PubSub1a[Public Subnet<br/>10.0.1.0/24]
PrivSub1a[Private Subnet<br/>10.0.11.0/24]
DataSub1a[Data Subnet<br/>10.0.21.0/24]
end
subgraph "AZ-1b"
PubSub1b[Public Subnet<br/>10.0.2.0/24]
PrivSub1b[Private Subnet<br/>10.0.12.0/24]
DataSub1b[Data Subnet<br/>10.0.22.0/24]
end
IGW[Internet Gateway]
NAT1[NAT Gateway<br/>AZ-1a]
RouteTablePub[Public Route Table<br/>0.0.0.0/0 → IGW]
RouteTablePriv[Private Route Table<br/>0.0.0.0/0 → NAT]
SGWeb[Security Group: Web<br/>Allow 443 from 0.0.0.0/0]
SGApp[Security Group: App<br/>Allow 8080 from Web SG]
SGDB[Security Group: DB<br/>Allow 5432 from App SG]
end
Internet[Internet] --> IGW
IGW --> PubSub1a
IGW --> PubSub1b
PubSub1a --> RouteTablePub
PubSub1b --> RouteTablePub
PrivSub1a --> RouteTablePriv
PrivSub1b --> RouteTablePriv
PrivSub1a --> NAT1
PrivSub1b --> NAT1
classDef spof fill:#ff6b6b
class NAT1 spof网络分析:
- ✅ 多 AZ 部署(1a、1b)
- ✅ 分层子网(Public、Private、Data)
- ✅ 安全组遵循最小权限原则
- 🚨 NAT Gateway 单 AZ(单点故障)
- ⚠️ 缺少 VPC Flow Logs(可观测性不足)
2. 故障模式识别与分类
📋 以下风险识别基于AWS总结的常见风险检查清单,结合客户实际环境进行评估。
2.1 单点故障 (SPOF)
| 风险 ID | 组件 | 故障场景 | 影响 | 概率 | 优先级 |
|---|---|---|---|---|---|
| R-001 | NAT Gateway (AZ-1a) | AZ-1a 故障 | AZ-1b 实例无法访问互联网 | 中 (3) | 🟡 中 |
| R-002 | RDS Primary | 硬件故障 | 60-120s 故障转移延迟 | 低 (2) | 🟡 中 |
| R-003 | API Gateway (单区域) | 区域故障 | 完全服务中断 | 极低 (1) | 🔴 高 |
详细分析:R-003 - API Gateway 单区域部署
当前配置:
Region: us-east-1
Endpoints:
- API Gateway: https://api.example.com
- 无跨区域复制
- 无故障转移机制故障场景:
- us-east-1 区域级故障(历史案例:2017 年 S3 中断)
- API Gateway 服务中断
影响:
- 所有 API 请求失败
- 100% 用户无法使用服务
- 业务完全中断
当前缓解措施:
- ❌ 无
建议改进: 参见 6.1 缓解策略 - R-003
2.2 过度延迟
| 风险 ID | 组件 | 瓶颈点 | 当前延迟 | 目标延迟 | 优先级 |
|---|---|---|---|---|---|
| R-004 | 数据库查询 | N+1 查询 | P95: 500ms | < 200ms | 🔴 高 |
| R-005 | 跨 AZ 调用 | 网络往返 | P95: 5ms | < 2ms | 🟢 低 |
2.3 过度负载
| 风险 ID | 组件 | 容量限制 | 当前峰值 | 预期增长 | 优先级 |
|---|---|---|---|---|---|
| R-006 | EC2 Auto Scaling | 固定容量(4 实例) | 80% CPU | 流量增长 50%/年 | 🔴 高 |
| R-007 | RDS 连接池 | 最大 100 连接 | 峰值 85 | 预计超限 | 🟡 中 |
| R-008 | API Gateway | 10,000 RPS 配额 | 峰值 8,500 | 季节性突增 | 🟡 中 |
2.4 错误配置
| 风险 ID | 配置项 | 问题 | Well-Architected 违反 | 优先级 |
|---|---|---|---|---|
| R-009 | RDS 备份 | 保留期 7 天 | 推荐 30 天 | 🟢 低 |
| R-010 | CloudWatch 日志 | 未设置保留期 | 成本优化 | 🟢 低 |
| R-011 | IAM 策略 | 过于宽松(s3:*) | 安全 | 🟡 中 |
| R-012 | 未启用 MFA Delete | S3 数据误删风险 | 可靠性 | 🟡 中 |
2.5 共享命运 (Shared Fate)
| 风险 ID | 共享资源 | 耦合组件 | 影响范围 | 优先级 |
|---|---|---|---|---|
| R-013 | RDS Primary | 所有应用服务 | 数据库故障影响 100% | 🔴 高 |
| R-014 | 单个 AWS 账户 | 所有环境 | 账户级配额、安全 | 🟡 中 |
| R-015 | NAT Gateway | AZ-1b 出站流量 | 50% 实例无互联网 | 🟡 中 |
3. 韧性评估(5 星评分)
3.1 RDS 数据库
| 评估维度 | 评分 | 当前状态 | 差距分析 | 改进建议 |
|---|---|---|---|---|
| 冗余设计 | ⭐⭐⭐ | Multi-AZ 部署 | 单区域,区域故障 RTO > 30 分钟 | 迁移到 Aurora Global Database |
| AZ 容错 | ⭐⭐⭐⭐ | 自动故障转移 | RTO 60-120 秒 | 使用 Aurora(RTO < 30s) |
| 超时与重试 | ⭐⭐⭐ | 应用层配置 5s 超时 | 未配置指数退避 | 实施指数退避重试 |
| 断路器 | ⭐ | 无 | 数据库故障导致应用崩溃 | 实施 Circuit Breaker |
| 自动扩展 | ⭐⭐ | 手动扩展 | 响应慢,需人工干预 | 启用 Auto Scaling(Aurora) |
| 配置防护 | ⭐⭐⭐ | IaC (Terraform) | 未启用 drift 检测 | AWS Config 规则 |
| 故障隔离 | ⭐⭐ | 所有服务共享 | 无读写分离 | 实施读副本 |
| 备份恢复 | ⭐⭐⭐ | 每日自动备份 | 未测试恢复 | 季度恢复演练 |
| 最佳实践 | ⭐⭐⭐ | 部分合规 | 未加密(静态) | 启用加密 |
综合评分:⭐⭐⭐ (3/5)
3.2 应用服务器 (EC2 / ECS)
| 评估维度 | 评分 | 当前状态 | 差距分析 | 改进建议 |
|---|---|---|---|---|
| 冗余设计 | ⭐⭐⭐⭐ | 多 AZ 部署 | 配置正确 | 保持 |
| AZ 容错 | ⭐⭐⭐⭐ | Auto Scaling 跨 AZ | 健康检查配置正确 | 增加预热实例 |
| 超时与重试 | ⭐⭐ | 部分配置 | 依赖服务无超时 | 所有外部调用配置超时 |
| 断路器 | ⭐ | 无 | 依赖故障导致级联 | 集成 resilience4j |
| 自动扩展 | ⭐⭐ | 固定容量(4 实例) | 无法应对突增 | Target Tracking Auto Scaling |
| 配置防护 | ⭐⭐⭐⭐ | CI/CD + IaC | 配置审查流程 | 保持 |
| 故障隔离 | ⭐⭐⭐ | 微服务架构 | 部分服务紧耦合 | 解耦共享依赖 |
| 备份恢复 | ⭐⭐⭐⭐⭐ | AMI + 自动化部署 | 配置完善 | 保持 |
| 最佳实践 | ⭐⭐⭐⭐ | 大部分合规 | 少量优化空间 | 详见具体建议 |
综合评分:⭐⭐⭐ (3.2/5)
3.3 汇总评分
总体韧性评分:⭐⭐⭐ (3/5 - 已定义)
成熟度模型:
├─ Level 1: 初始(被动响应)
├─ Level 2: 可重复(有记录流程)
├─ Level 3: 已定义(标准化流程)✅ 当前
├─ Level 4: 管理(量化管理) ← 目标
└─ Level 5: 优化(持续改进)4. 业务影响分析
4.1 关键业务功能映射
| 业务功能 | 依赖组件 | 优先级 | 当前 RTO | 当前 RPO | 目标 RTO | 目标 RPO |
|---|---|---|---|---|---|---|
| 用户登录/注册 | ALB + App + RDS | P0 | 2 分钟 | 5 分钟 | 1 分钟 | 1 分钟 |
| 订单处理 | ALB + App + RDS + SQS | P0 | 5 分钟 | 5 分钟 | 2 分钟 | 0 秒 |
| 支付交易 | 第三方 API + App + RDS | P0 | 5 分钟 | 0 秒 | 1 分钟 | 0 秒 |
| 库存查询 | ALB + App + Cache + RDS | P1 | 10 分钟 | N/A | 5 分钟 | N/A |
| 报表生成 | Worker + RDS | P2 | 1 小时 | 1 小时 | 30 分钟 | 30 分钟 |
4.2 组件故障影响矩阵
| 组件 | 故障场景 | 影响的业务功能 | 影响程度 | 用户影响 | 当前 RTO |
|---|---|---|---|---|---|
| RDS Primary | AZ 故障 | 所有写操作 | 严重 | 100% 无法下单 | 2 分钟 |
| ALB | 配置错误 | 所有流量 | 严重 | 100% 无法访问 | 10 分钟 |
| ElastiCache | 节点故障 | 用户会话、缓存 | 中等 | 需重新登录,查询变慢 | 即时(降级) |
| NAT Gateway | AZ-1a 故障 | AZ-1b 出站流量 | 中等 | 50% 实例无法调用第三方 API | 15 分钟 |
| SQS 队列 | 队列延迟 | 异步任务处理 | 轻微 | 报表延迟 | 不影响实时 |
4.3 RTO/RPO 合规性分析
当前架构 vs 业务目标:
业务功能:订单处理
├─ 业务目标:RTO < 2 分钟,RPO = 0 秒
├─ 当前能力:RTO ~ 5 分钟,RPO ~ 5 分钟
└─ 差距:❌ 不符合
原因分析:
1. RDS Multi-AZ 故障转移需要 60-120 秒
2. 应用重连数据库需要 30-60 秒
3. 健康检查检测延迟 30 秒
4. RPO 取决于 RDS 备份频率(5 分钟)
改进建议:
1. 迁移到 Aurora(故障转移 < 30 秒)
2. 应用实现快速重连(连接池)
3. 减少健康检查间隔(15 秒)
4. 启用 Aurora Backtrack(RPO = 0)合规性总结:
| 业务功能 | 目标 RTO | 当前 RTO | 合规性 | 差距 |
|---|---|---|---|---|
| 用户登录 | 1 分钟 | 2 分钟 | ❌ | -1 分钟 |
| 订单处理 | 2 分钟 | 5 分钟 | ❌ | -3 分钟 |
| 支付交易 | 1 分钟 | 5 分钟 | ❌ | -4 分钟 |
| 库存查询 | 5 分钟 | 10 分钟 | ❌ | -5 分钟 |
| 报表生成 | 30 分钟 | 1 小时 | ❌ | -30 分钟 |
结论:当前架构无法满足任何业务功能的 RTO/RPO 目标,需要紧急改进。
5. 风险优先级排序
5.1 风险评分矩阵
评分公式:
风险得分 = (发生概率 × 业务影响 × 检测难度) / 修复复杂度
其中:
- 发生概率:1-5(1=极低,5=极高)
- 业务影响:1-5(1=轻微,5=严重)
- 检测难度:1-5(1=易检测,5=难检测)
- 修复复杂度:1-5(1=简单,5=复杂)5.2 风险清单(按优先级排序)
| 排名 | 风险 ID | 风险描述 | 概率 | 影响 | 检测 | 修复 | 得分 | 优先级 |
|---|---|---|---|---|---|---|---|---|
| 1 | R-013 | RDS 单区域部署 | 2 | 5 | 2 | 3 | 6.67 | 🔴 高 |
| 2 | R-006 | 缺少 Auto Scaling | 4 | 4 | 1 | 2 | 8.00 | 🔴 高 |
| 3 | R-004 | 数据库 N+1 查询 | 5 | 3 | 2 | 2 | 15.00 | 🔴 高 |
| 4 | R-003 | API 单区域部署 | 1 | 5 | 2 | 4 | 2.50 | 🟡 中 |
| 5 | R-007 | RDS 连接池限制 | 3 | 4 | 2 | 1 | 24.00 | 🟡 中 |
| 6 | R-001 | NAT Gateway 单 AZ | 3 | 3 | 1 | 1 | 9.00 | 🟡 中 |
| 7 | R-014 | 单账户架构 | 2 | 3 | 3 | 5 | 3.60 | 🟢 低 |
| 8 | R-009 | RDS 备份保留期短 | 2 | 2 | 1 | 1 | 4.00 | 🟢 低 |
5.3 风险可视化矩阵
影响 ↑
5 │ [R-013] [R-003]
4 │ [R-006] [R-007]
3 │ [R-004] [R-001]
│ [R-014]
2 │ [R-009]
1 │
└─────────────────────────────→ 概率
1 2 3 4 5
图例:
🔴 高优先级(风险得分 > 5)
🟡 中优先级(风险得分 2-5)
🟢 低优先级(风险得分 < 2)5.4 级联效应分析
场景:us-east-1 区域故障
graph TD
A[us-east-1 区域故障] --> B[API Gateway 不可用]
A --> C[RDS Primary 不可用]
A --> D[ElastiCache 不可用]
A --> E[NAT Gateway 不可用]
B --> F[100% API 请求失败]
C --> G[所有写操作失败]
D --> H[缓存未命中,数据库负载增加]
E --> I[无法调用第三方 API]
F --> J[完全业务中断]
G --> J
H --> J
I --> J
J --> K[预估损失:$50,000/小时]
classDef critical fill:#ff6b6b
class A,J,K critical结论:
- 单区域架构存在严重的级联故障风险
- 区域故障导致完全业务中断
- 建议:实施多区域 DR 策略(至少导航灯模式)
(报告后续部分包括:缓解策略建议、实施路线图、持续改进计划、附录等,格式类似)
说明
这是一个示例模板,展示了最终报告的格式和内容。实际分析时会根据你的具体环境和需求进行定制。
报告的其他部分(6-9 节)将包含:
- 详细的缓解策略(含架构图、代码、命令)
- 分阶段实施路线图(Gantt 图、资源需求)
- 持续改进计划(SLO/SLI、事后复盘、混沌工程)
- 附录(完整资源清单、配置审计、术语表)
完整报告通常为 30-50 页,包含大量可视化图表和可执行的代码示例。
AWS System Resilience Analysis Report
[Customer Name] - [Environment Name]
Analysis Date: 2025-02-17 Analyst: Claude (AWS Resilience Assessment Skill) Version: 1.0
Executive Summary
Overview
This report provides a comprehensive resilience assessment of [Customer Name]'s AWS production environment, identifying potential failure modes and providing prioritized improvement recommendations.
Current Resilience Maturity
Overall Score: 3/5 - Defined
| Dimension | Score | Description |
|---|---|---|
| Architecture Resilience | 4/5 | Multi-AZ deployment, but no cross-region DR |
| Data Resilience | 3/5 | Regular backups, but recovery not tested |
| Operational Resilience | 2/5 | Basic monitoring, no automated recovery |
| Testing Resilience | 2/5 | Annual DR drills, no chaos engineering |
| Compliance Resilience | 3/5 | SLA defined, but no SLO tracking |
Key Findings (Top 5 Risks)
| Priority | Risk | Impact | Current Status |
|---|---|---|---|
| High | RDS single-region deployment | RTO > 30 min | Need to migrate to Aurora Global |
| High | Missing Auto Scaling | Cannot handle traffic spikes | Need Target Tracking configuration |
| Medium | Insufficient monitoring coverage | Delayed fault detection | Need X-Ray and Synthetics integration |
| Medium | No Circuit Breaker implemented | Cascading failure risk | Need application-layer implementation |
| Low | NAT Gateway single AZ | Single point of failure | Need multi-AZ deployment |
Priority Improvement Recommendations (Top 3)
- Migrate to Aurora Global Database
- Expected Outcome: RTO < 1 minute, RPO < 1 second
- Implementation Timeline: 3-4 weeks
- Estimated Cost: +$500-2000/month
- Implement Auto Scaling Strategy
- Expected Outcome: Automatically handle 3x traffic spikes
- Implementation Timeline: 1-2 weeks
- Estimated Cost: Variable (on-demand)
- Establish Chaos Engineering Practice
- Expected Outcome: Quarterly resilience verification, proactive issue discovery
- Implementation Timeline: Ongoing
- Estimated Cost: $100-300/month
Expected Investment and Return
| Item | One-time Investment | Monthly Cost | Expected Benefit |
|---|---|---|---|
| Foundation Resilience Improvements | $10,000 | +$500 | 70% reduction in downtime |
| Complete Resilience Improvements | $30,000 | +$2,000 | Achieve 99.99% availability |
| Continuous Improvement Plan | $5,000 | +$500 | Continuous resilience verification |
ROI Analysis:
- Estimated annual outage losses: $100,000
- Expected reduction after implementation: $70,000/year
- Payback period: 6 months
1. System Architecture Visualization
1.1 Current Architecture Overview
graph TB
subgraph "AWS Region: us-east-1"
subgraph "VPC: 10.0.0.0/16"
subgraph "Public Subnet - AZ-1a"
ALB1[Application Load Balancer]
NAT1[NAT Gateway]
end
subgraph "Public Subnet - AZ-1b"
ALB2[ALB - Standby]
end
subgraph "Private Subnet - AZ-1a"
EC2_1a_1[EC2 Instance]
EC2_1a_2[EC2 Instance]
end
subgraph "Private Subnet - AZ-1b"
EC2_1b_1[EC2 Instance]
EC2_1b_2[EC2 Instance]
end
subgraph "Data Subnet - AZ-1a"
RDS_Primary[RDS Primary<br/>PostgreSQL]
Redis_1a[ElastiCache<br/>Redis]
end
subgraph "Data Subnet - AZ-1b"
RDS_Standby[RDS Standby]
Redis_1b[ElastiCache<br/>Redis]
end
end
end
Internet[Internet] -->|HTTPS| R53[Route 53]
R53 -->|Health Check| ALB1
ALB1 --> EC2_1a_1
ALB1 --> EC2_1a_2
ALB1 --> EC2_1b_1
ALB1 --> EC2_1b_2
EC2_1a_1 --> RDS_Primary
EC2_1a_2 --> RDS_Primary
EC2_1b_1 --> RDS_Primary
EC2_1b_2 --> RDS_Primary
EC2_1a_1 --> Redis_1a
EC2_1a_2 --> Redis_1a
EC2_1b_1 --> Redis_1b
EC2_1b_2 --> Redis_1b
RDS_Primary -.->|Sync Replication| RDS_Standby
EC2_1a_1 -->|Egress| NAT1
EC2_1a_2 -->|Egress| NAT1
classDef spof fill:#ff6b6b,stroke:#c92a2a,stroke-width:3px
class NAT1,RDS_Primary spofIdentified Single Points of Failure:
- NAT Gateway (AZ-1a only)
- RDS Primary (failover requires 60-120 seconds)
1.2 Component Dependency Diagram
graph LR
User[User Request] --> R53[Route 53]
R53 --> ALB[Application LB]
ALB --> App[Application Servers]
App --> Cache[ElastiCache]
App --> RDS[RDS Database]
App --> S3[S3 Storage]
App -.->|Async| SQS[SQS Queue]
SQS -.->|Async| Worker[Worker Service]
classDef critical fill:#ff6b6b
classDef important fill:#ffd93d
classDef optional fill:#6bcf7f
class RDS,App critical
class Cache,ALB important
class S3,SQS optionalDependency Description:
- Critical dependencies (synchronous): RDS, Application Servers
- Important dependencies (synchronous): ElastiCache, ALB
- Optional dependencies (asynchronous): S3, SQS
1.3 Data Flow Diagram
sequenceDiagram
participant User as User
participant CF as CloudFront
participant ALB as Application LB
participant App as Application Server
participant Cache as ElastiCache
participant DB as RDS
User->>CF: 1. HTTPS Request
CF->>ALB: 2. Forward (or cache hit)
ALB->>App: 3. Load Balance
App->>Cache: 4. Check Cache
alt Cache Hit
Cache-->>App: 5a. Return Cached Data
else Cache Miss
App->>DB: 5b. Query Database
DB-->>App: 6. Return Data
App->>Cache: 7. Update Cache
end
App-->>ALB: 8. Return Response
ALB-->>CF: 9. Return Response
CF-->>User: 10. Return (and Cache)1.4 Network Topology Diagram
graph TB
subgraph "VPC: prod-vpc (10.0.0.0/16)"
subgraph "AZ-1a"
PubSub1a[Public Subnet<br/>10.0.1.0/24]
PrivSub1a[Private Subnet<br/>10.0.11.0/24]
DataSub1a[Data Subnet<br/>10.0.21.0/24]
end
subgraph "AZ-1b"
PubSub1b[Public Subnet<br/>10.0.2.0/24]
PrivSub1b[Private Subnet<br/>10.0.12.0/24]
DataSub1b[Data Subnet<br/>10.0.22.0/24]
end
IGW[Internet Gateway]
NAT1[NAT Gateway<br/>AZ-1a]
RouteTablePub[Public Route Table<br/>0.0.0.0/0 -> IGW]
RouteTablePriv[Private Route Table<br/>0.0.0.0/0 -> NAT]
SGWeb[Security Group: Web<br/>Allow 443 from 0.0.0.0/0]
SGApp[Security Group: App<br/>Allow 8080 from Web SG]
SGDB[Security Group: DB<br/>Allow 5432 from App SG]
end
Internet[Internet] --> IGW
IGW --> PubSub1a
IGW --> PubSub1b
PubSub1a --> RouteTablePub
PubSub1b --> RouteTablePub
PrivSub1a --> RouteTablePriv
PrivSub1b --> RouteTablePriv
PrivSub1a --> NAT1
PrivSub1b --> NAT1
classDef spof fill:#ff6b6b
class NAT1 spofNetwork Analysis:
- Multi-AZ deployment (1a, 1b)
- Layered subnets (Public, Private, Data)
- Security groups follow least privilege principle
- NAT Gateway single AZ (single point of failure)
- Missing VPC Flow Logs (insufficient observability)
2. Failure Mode Identification and Classification
The following risk identification is based on AWS common risk checklists, assessed against the customer's actual environment.
2.1 Single Point of Failure (SPOF)
| Risk ID | Component | Failure Scenario | Impact | Probability | Priority |
|---|---|---|---|---|---|
| R-001 | NAT Gateway (AZ-1a) | AZ-1a failure | AZ-1b instances cannot access internet | Medium (3) | Medium |
| R-002 | RDS Primary | Hardware failure | 60-120s failover delay | Low (2) | Medium |
| R-003 | API Gateway (single region) | Regional failure | Complete service outage | Very Low (1) | High |
Detailed Analysis: R-003 - API Gateway Single-Region Deployment
Current Configuration:
Region: us-east-1
Endpoints:
- API Gateway: https://api.example.com
- No cross-region replication
- No failover mechanismFailure Scenario:
- us-east-1 regional failure (historical case: 2017 S3 outage)
- API Gateway service disruption
Impact:
- All API requests fail
- 100% of users unable to use the service
- Complete business interruption
Current Mitigations:
- None
Recommended Improvements: See 6.1 Mitigation Strategy - R-003
2.2 Excessive Latency
| Risk ID | Component | Bottleneck | Current Latency | Target Latency | Priority |
|---|---|---|---|---|---|
| R-004 | Database Queries | N+1 Queries | P95: 500ms | < 200ms | High |
| R-005 | Cross-AZ Calls | Network Round-trip | P95: 5ms | < 2ms | Low |
2.3 Excessive Load
| Risk ID | Component | Capacity Limit | Current Peak | Expected Growth | Priority |
|---|---|---|---|---|---|
| R-006 | EC2 Auto Scaling | Fixed capacity (4 instances) | 80% CPU | 50%/year traffic growth | High |
| R-007 | RDS Connection Pool | Max 100 connections | Peak 85 | Expected to exceed | Medium |
| R-008 | API Gateway | 10,000 RPS quota | Peak 8,500 | Seasonal spikes | Medium |
2.4 Misconfiguration
| Risk ID | Configuration Item | Issue | Well-Architected Violation | Priority |
|---|---|---|---|---|
| R-009 | RDS Backup | 7-day retention period | Recommended 30 days | Low |
| R-010 | CloudWatch Logs | No retention period set | Cost optimization | Low |
| R-011 | IAM Policy | Too permissive (s3:*) | Security | Medium |
| R-012 | MFA Delete not enabled | S3 data accidental deletion risk | Reliability | Medium |
2.5 Shared Fate
| Risk ID | Shared Resource | Coupled Components | Impact Scope | Priority |
|---|---|---|---|---|
| R-013 | RDS Primary | All application services | Database failure affects 100% | High |
| R-014 | Single AWS Account | All environments | Account-level quotas, security | Medium |
| R-015 | NAT Gateway | AZ-1b outbound traffic | 50% of instances without internet | Medium |
3. Resilience Assessment (5-Star Rating)
3.1 RDS Database
| Assessment Dimension | Score | Current Status | Gap Analysis | Improvement Recommendation |
|---|---|---|---|---|
| Redundancy Design | 3/5 | Multi-AZ deployment | Single region, regional failure RTO > 30 min | Migrate to Aurora Global Database |
| AZ Fault Tolerance | 4/5 | Automatic failover | RTO 60-120 seconds | Use Aurora (RTO < 30s) |
| Timeout & Retry | 3/5 | Application-layer 5s timeout | No exponential backoff | Implement exponential backoff retry |
| Circuit Breaker | 1/5 | None | Database failure crashes application | Implement Circuit Breaker |
| Auto Scaling | 2/5 | Manual scaling | Slow response, requires manual intervention | Enable Auto Scaling (Aurora) |
| Configuration Safeguards | 3/5 | IaC (Terraform) | No drift detection enabled | AWS Config rules |
| Fault Isolation | 2/5 | All services shared | No read-write separation | Implement read replicas |
| Backup & Recovery | 3/5 | Daily automated backup | Recovery not tested | Quarterly recovery drills |
| Best Practices | 3/5 | Partially compliant | Not encrypted (at rest) | Enable encryption |
Composite Score: 3/5
3.2 Application Servers (EC2 / ECS)
| Assessment Dimension | Score | Current Status | Gap Analysis | Improvement Recommendation |
|---|---|---|---|---|
| Redundancy Design | 4/5 | Multi-AZ deployment | Correctly configured | Maintain |
| AZ Fault Tolerance | 4/5 | Auto Scaling across AZs | Health checks correctly configured | Add warm instances |
| Timeout & Retry | 2/5 | Partially configured | No timeouts for dependency services | Configure timeouts for all external calls |
| Circuit Breaker | 1/5 | None | Dependency failures cause cascading | Integrate resilience4j |
| Auto Scaling | 2/5 | Fixed capacity (4 instances) | Cannot handle spikes | Target Tracking Auto Scaling |
| Configuration Safeguards | 4/5 | CI/CD + IaC | Configuration review process | Maintain |
| Fault Isolation | 3/5 | Microservices architecture | Some services tightly coupled | Decouple shared dependencies |
| Backup & Recovery | 5/5 | AMI + automated deployment | Well configured | Maintain |
| Best Practices | 4/5 | Mostly compliant | Minor optimization opportunities | See specific recommendations |
Composite Score: 3.2/5
3.3 Summary Scores
Overall Resilience Score: 3/5 - Defined
Maturity Model:
+- Level 1: Initial (reactive response)
+- Level 2: Repeatable (documented processes)
+- Level 3: Defined (standardized processes) <- Current
+- Level 4: Managed (quantitatively managed) <- Target
+- Level 5: Optimized (continuous improvement)4. Business Impact Analysis
4.1 Critical Business Function Mapping
| Business Function | Dependencies | Priority | Current RTO | Current RPO | Target RTO | Target RPO |
|---|---|---|---|---|---|---|
| User Login/Registration | ALB + App + RDS | P0 | 2 min | 5 min | 1 min | 1 min |
| Order Processing | ALB + App + RDS + SQS | P0 | 5 min | 5 min | 2 min | 0 sec |
| Payment Transactions | Third-party API + App + RDS | P0 | 5 min | 0 sec | 1 min | 0 sec |
| Inventory Queries | ALB + App + Cache + RDS | P1 | 10 min | N/A | 5 min | N/A |
| Report Generation | Worker + RDS | P2 | 1 hour | 1 hour | 30 min | 30 min |
4.2 Component Failure Impact Matrix
| Component | Failure Scenario | Affected Business Functions | Impact Severity | User Impact | Current RTO |
|---|---|---|---|---|---|
| RDS Primary | AZ failure | All write operations | Critical | 100% unable to place orders | 2 min |
| ALB | Misconfiguration | All traffic | Critical | 100% unable to access | 10 min |
| ElastiCache | Node failure | User sessions, cache | Medium | Need to re-login, queries slower | Immediate (degraded) |
| NAT Gateway | AZ-1a failure | AZ-1b outbound traffic | Medium | 50% instances cannot call third-party APIs | 15 min |
| SQS Queue | Queue delay | Async task processing | Minor | Report delays | No real-time impact |
4.3 RTO/RPO Compliance Analysis
Current Architecture vs. Business Targets:
Business Function: Order Processing
+- Business Target: RTO < 2 min, RPO = 0 sec
+- Current Capability: RTO ~ 5 min, RPO ~ 5 min
+- Gap: Does not comply
Root Cause Analysis:
1. RDS Multi-AZ failover requires 60-120 seconds
2. Application database reconnection requires 30-60 seconds
3. Health check detection delay 30 seconds
4. RPO depends on RDS backup frequency (5 minutes)
Improvement Recommendations:
1. Migrate to Aurora (failover < 30 seconds)
2. Implement fast reconnection at application layer (connection pooling)
3. Reduce health check interval (15 seconds)
4. Enable Aurora Backtrack (RPO = 0)Compliance Summary:
| Business Function | Target RTO | Current RTO | Compliance | Gap |
|---|---|---|---|---|
| User Login | 1 min | 2 min | No | -1 min |
| Order Processing | 2 min | 5 min | No | -3 min |
| Payment Transactions | 1 min | 5 min | No | -4 min |
| Inventory Queries | 5 min | 10 min | No | -5 min |
| Report Generation | 30 min | 1 hour | No | -30 min |
Conclusion: The current architecture cannot meet the RTO/RPO targets for any business function and requires urgent improvement.
5. Risk Prioritization
5.1 Risk Scoring Matrix
Scoring Formula:
Risk Score = (Probability x Business Impact x Detection Difficulty) / Remediation Complexity
Where:
- Probability: 1-5 (1=very low, 5=very high)
- Business Impact: 1-5 (1=minor, 5=critical)
- Detection Difficulty: 1-5 (1=easy to detect, 5=hard to detect)
- Remediation Complexity: 1-5 (1=simple, 5=complex)5.2 Risk Inventory (Sorted by Priority)
| Rank | Risk ID | Risk Description | Probability | Impact | Detection | Remediation | Score | Priority |
|---|---|---|---|---|---|---|---|---|
| 1 | R-013 | RDS single-region deployment | 2 | 5 | 2 | 3 | 6.67 | High |
| 2 | R-006 | Missing Auto Scaling | 4 | 4 | 1 | 2 | 8.00 | High |
| 3 | R-004 | Database N+1 queries | 5 | 3 | 2 | 2 | 15.00 | High |
| 4 | R-003 | API single-region deployment | 1 | 5 | 2 | 4 | 2.50 | Medium |
| 5 | R-007 | RDS connection pool limit | 3 | 4 | 2 | 1 | 24.00 | Medium |
| 6 | R-001 | NAT Gateway single AZ | 3 | 3 | 1 | 1 | 9.00 | Medium |
| 7 | R-014 | Single account architecture | 2 | 3 | 3 | 5 | 3.60 | Low |
| 8 | R-009 | Short RDS backup retention | 2 | 2 | 1 | 1 | 4.00 | Low |
5.3 Risk Visualization Matrix
Impact
5 | [R-013] [R-003]
4 | [R-006] [R-007]
3 | [R-004] [R-001]
| [R-014]
2 | [R-009]
1 |
+--------------------------------> Probability
1 2 3 4 5
Legend:
High priority (risk score > 5)
Medium priority (risk score 2-5)
Low priority (risk score < 2)5.4 Cascading Effect Analysis
Scenario: us-east-1 Regional Failure
graph TD
A[us-east-1 Regional Failure] --> B[API Gateway Unavailable]
A --> C[RDS Primary Unavailable]
A --> D[ElastiCache Unavailable]
A --> E[NAT Gateway Unavailable]
B --> F[100% API Requests Fail]
C --> G[All Write Operations Fail]
D --> H[Cache Misses, Database Load Increases]
E --> I[Cannot Call Third-Party APIs]
F --> J[Complete Business Outage]
G --> J
H --> J
I --> J
J --> K[Estimated Loss: $50,000/hour]
classDef critical fill:#ff6b6b
class A,J,K criticalConclusion:
- Single-region architecture has serious cascading failure risks
- Regional failure leads to complete business outage
- Recommendation: Implement multi-region DR strategy (at minimum Pilot Light)
(Subsequent report sections include: Mitigation Strategy Recommendations, Implementation Roadmap, Continuous Improvement Plan, Appendices, etc., in similar format)
Notes
This is a sample template demonstrating the format and content of the final report. The actual analysis will be customized based on your specific environment and requirements.
The remaining sections (6-9) of the report will include:
- Detailed mitigation strategies (with architecture diagrams, code, commands)
- Phased implementation roadmap (Gantt chart, resource requirements)
- Continuous improvement plan (SLO/SLI, postmortems, chaos engineering)
- Appendices (complete resource inventory, configuration audit, glossary)
A complete report typically spans 30-50 pages, with extensive visualizations and executable code examples.
English | 中文
AWS 系统韧性分析 Skill
这是一个全面的 AWS 系统韧性评估和风险分析 skill,整合了 2025 年最新的业界最佳实践。
安装
方式 A:npx skills(推荐)
# Install this skill
npx skills add aws-samples/sample-aws-resilience-skill --skill aws-resilience-modeling
# Install all 4 resilience skills
npx skills add aws-samples/sample-aws-resilience-skill --skill '*'方式 B:Git clone
git clone https://github.com/aws-samples/sample-aws-resilience-skill.git特性
- ✅ 基于 AWS Well-Architected Framework 可靠性支柱
- ✅ 整合 AWS 韧性分析框架(错误预算、SLO/SLI)
- ✅ 包含 混沌工程 方法论(AWS FIS)
- ✅ 采用 AWS 可观测性最佳实践(CloudWatch、X-Ray、分布式追踪)
- ✅ 应用 云设计模式(Circuit Breaker、Bulkhead、Retry)
- ✅ 内置 AWS 常见服务风险参考库(50+ 个风险点,覆盖存储/数据库/EKS/EC2/网络)
使用方式
方式 1:直接调用
/aws-resilience-modelingClaude 会首先询问你的环境信息和业务背景,然后开始进行全面的韧性分析。
方式 2:自动触发
当你在对话中提到以下关键词时,skill 会自动激活:
- "AWS 韧性分析"
- "系统风险评估"
- "AWS 韧性评估"
- "AWS resilience assessment"
示例:
用户: 我想对我们的 AWS 生产环境进行韧性分析
Claude: [自动加载 aws-resilience-modeling skill]准备工作
在开始分析前,请准备以下信息:
MCP 服务器配置
自动扫描 AWS 环境所需的 MCP 服务器详细配置指南,参见 references/MCP_SETUP_GUIDE_zh.md。
1. 环境信息
- AWS 账户 ID 和区域
- 访问权限(建议只读访问)
- 现有架构文档(如有)
2. 业务背景
- 关键业务流程清单
- 当前的 RTO/RPO 目标
- 现有的 SLA/SLO(如有)
- 合规要求(如 SOC2、HIPAA、PCI DSS)
3. 分析范围
- 需要分析的应用和服务
- 是否包含多账户/多区域
- 预算和时间约束
输出内容
分析完成后,你将获得:
主报告
- 执行摘要(2 页)
- 关键发现(Top 5 风险)
- 韧性成熟度评分
- 优先改进建议
- 系统架构可视化
- 架构总览图(Mermaid)
- 依赖关系图
- 数据流图
- 网络拓扑图
- 风险清单(表格)
- 按优先级排序
- 包含风险评分、影响、缓解建议
- 详细风险分析
- 每个高优先级风险的深入分析
- 故障场景
- 业务影响
- 改进建议(架构、配置、监控)
- 业务影响分析
- 关键业务功能映射
- RTO/RPO 合规性分析
- 缓解策略建议
- 具体的架构改进
- 配置优化(含参数和命令)
- 监控和告警配置
- AWS 服务推荐
- 实施路线图
- Gantt 图
- 详细任务分解
- 资源需求和预算
- 持续改进计划
- SLI/SLO 定义
- 事后复盘流程
- 混沌工程计划
附加文件
references/common-risks-reference_zh.md - AWS 常见服务风险参考手册(English)
- 覆盖存储(EBS/S3/EFS/FSx)、数据库、容器(EKS)、计算(EC2)、网络五大类
- 50+ 个常见风险点,每个包含风险原因和改进建议
- 评估检查清单,按服务类型逐项确认
references/assessment-output-spec_zh.md - 混沌工程输入规范(English)
- 定义
chaos-engineering-on-awsskill 所需的结构化输入格式 - 包含 AWS 资源清单、风险可实验性标记、监控就绪度等 8 个章节
- 不同架构模式的填写示例(EKS/Serverless/EC2/多区域)
所有参考文件均提供英文版本,英文版文件名不带后缀(如
resilience-framework.md),中文版使用_zh.md后缀。
目录结构
aws-resilience-modeling/
├── SKILL.md # 语言路由器(加载 EN/ZH)
├── SKILL_EN.md / SKILL_ZH.md # Skill 指令(双语,各 ~153 行)
├── README.md / README_zh.md # 说明文档(双语)
├── references/ # 参考文档(Agent 按需加载)
│ ├── analysis-tasks.md / _zh.md # 8 个分析任务详细指令
│ ├── resilience-framework.md / _zh.md # 框架索引和参考资料映射
│ ├── resilience-analysis-core.md / _zh.md # 9 维度评分方法论
│ ├── waf-reliability-pillar.md / _zh.md # WAF 可靠性支柱 + DR 成本基线
│ ├── common-risks-reference.md / _zh.md # 50+ 常见 AWS 风险模式
│ ├── assessment-output-spec.md / _zh.md # Chaos Skill 桥接:8 段输出规格
│ ├── compliance-mapping.md / _zh.md # SOC2/ISO 27001/NIST CSF 框架映射
│ ├── cloud-design-patterns.md / _zh.md # 云韧性设计模式
│ ├── chaos-engineering-methodology.md / _zh.md # 混沌工程方法论参考
│ ├── observability-standards.md / _zh.md # AWS 可观测性最佳实践
│ ├── report-generation.md / _zh.md # 报告生成工作流
│ ├── HTML-TEMPLATE-USAGE.md / _zh.md # HTML 模板使用指南
│ └── MCP_SETUP_GUIDE.md / _zh.md # MCP 服务器配置指南
├── scripts/
│ └── generate-html-report.py # Python 报告生成器
└── assets/
├── html-report-template.html # HTML 交互式报告模板
└── example-report-template.md / _zh.md # Markdown 报告示例分析框架
故障模式分类
| 类别 | 说明 |
|---|---|
| 单点故障 (SPOF) | 缺乏冗余的关键组件 |
| 过度延迟 | 性能瓶颈和延迟问题 |
| 过度负载 | 容量限制和突增负载 |
| 错误配置 | 不符合最佳实践 |
| 共享命运 | 紧密耦合和缺乏隔离 |
韧性评估维度
使用 5 星评分系统(1星=不足,5星=优秀)评估:
- 冗余设计
- AZ 容错能力
- 超时与重试策略
- 断路器机制
- 自动扩展能力
- 配置防护措施
- 故障隔离
- 备份恢复机制
- AWS 最佳实践合规性
风险优先级评分
风险得分 = (发生概率 × 业务影响 × 检测难度) / 修复复杂度示例场景
场景 1:电商平台
环境:
- Multi-AZ RDS (PostgreSQL)
- ECS Fargate 应用
- CloudFront + S3 静态资源
- ElastiCache Redis
关键发现:
- RDS 单区域(无 Aurora Global Database)
- 缺少 Auto Scaling 策略
- 未配置 Circuit Breaker
- 监控覆盖不足
建议:
- 迁移到 Aurora Global Database
- 实施 Target Tracking Auto Scaling
- 集成 AWS X-Ray 分布式追踪
- 建立季度 DR 演练场景 2:金融 API
环境:
- API Gateway + Lambda
- DynamoDB Global Tables
- Aurora Serverless
- Route 53 健康检查
关键发现:
- Lambda 无 Reserved Concurrency
- 缺少 API 限流策略
- 未定义 SLO/SLI
- 无混沌工程实践
建议:
- 配置 Lambda Reserved Concurrency
- 实施 API Gateway Usage Plans
- 定义 99.99% 可用性 SLO
- 建立每周混沌实验灾难恢复策略选择
| 策略 | RTO | RPO | 成本 | 适用场景 |
|---|---|---|---|---|
| 备份与恢复 | 小时-天 | 小时-天 | $ | 非关键系统 |
| 导航灯 | 10分钟-小时 | 分钟 | $$ | 重要系统 |
| 温备份 | 分钟 | 秒-分钟 | $$$ | 关键业务 |
| 多站点主动-主动 | 秒-分钟 | 秒 | $$$$ | 任务关键 |
参考资源
AWS 官方文档
- AWS Resilience Analysis Framework
- AWS Well-Architected - Reliability Pillar
- AWS Fault Injection Simulator
- AWS Resilience Hub
外部资源
高级特性
错误预算管理
基于 AWS 韧性最佳实践,计算和跟踪错误预算:
错误预算 = (1 - SLO) × 时间周期
示例:
SLO = 99.9%(月度)
错误预算 = 43.2 分钟/月混沌工程实验
使用 AWS FIS 进行故障注入:
- EC2 实例终止
- 网络延迟/丢包
- RDS 故障转移
- AZ 不可用模拟
- CPU/内存压力测试
可观测性三大支柱
- 日志:CloudWatch Logs + 结构化日志
- 指标:CloudWatch Metrics + 关键监控指标
- 追踪:AWS X-Ray + 分布式追踪
常见问题
Q: 分析需要多长时间?
A: 根据环境复杂度:
- 简单环境(单区域,< 10 服务):1-2 小时
- 中等环境(多 AZ,10-50 服务):3-5 小时
- 复杂环境(多区域,> 50 服务):1-2 天
Q: 是否需要 AWS 账户访问权限?
A: 推荐但非必需:
- 有权限:可以自动扫描资源,分析更准确
- 无权限:基于提供的架构文档进行分析
Q: 分析会产生 AWS 费用吗?
A: 分析本身不产生费用,但实施建议可能包含:
- AWS Resilience Hub(免费)
- AWS FIS 混沌实验(按分钟计费)
- 额外的 AWS 服务(如 Aurora Global Database)
Q: 如何实施建议?
A: 分析报告包含:
- 具体的架构改进图
- AWS CLI 命令
- CloudFormation/Terraform 代码片段
- 分阶段实施路线图
Q: 是否支持多云环境?
A: 当前专注于 AWS 环境,提供基于 AWS Well-Architected Framework 的专业韧性评估。
更新日志
v1.1.0 (2026-03-14)
- ✅ 新增
common-risks-reference.md— AWS 常见服务风险参考手册 - ✅ 整合 50+ 个常见风险点(存储/数据库/EKS/EC2/网络)
- ✅ 新增按服务类型的评估检查清单
- ✅ SKILL.md 故障模式识别任务引用风险参考
- ✅ 风险分类细化对齐实际 AWS 服务
v1.0.0 (2025-02-17)
- ✅ 初始版本
- ✅ 整合 AWS Well-Architected Framework (2025)
- ✅ 整合 AWS 韧性分析框架
- ✅ 整合混沌工程方法论
- ✅ 整合 AWS 可观测性最佳实践
- ✅ 包含详细的 resilience-framework.md 参考
反馈和贡献
如有问题或建议,请通过以下方式反馈:
- 在对话中直接提出
- 更新你本地的 skill 文件
许可
本 skill 基于 AWS Well-Architected Framework 和混沌工程最佳实践编写,供学习和使用。
English | 中文
AWS System Resilience Analysis Skill
A comprehensive AWS system resilience assessment and risk analysis skill, incorporating the latest 2025 industry best practices.
Installation
Option A: npx skills (Recommended)
# Install this skill
npx skills add aws-samples/sample-aws-resilience-skill --skill aws-resilience-modeling
# Install all 4 resilience skills
npx skills add aws-samples/sample-aws-resilience-skill --skill '*'Option B: Git clone
git clone https://github.com/aws-samples/sample-aws-resilience-skill.gitFeatures
- ✅ Based on the AWS Well-Architected Framework Reliability Pillar
- ✅ Integrates the AWS Resilience Analysis Framework (error budgets, SLO/SLI)
- ✅ Includes Chaos Engineering methodology (AWS FIS)
- ✅ Adopts AWS Observability Best Practices (CloudWatch, X-Ray, distributed tracing)
- ✅ Applies Cloud Design Patterns (Circuit Breaker, Bulkhead, Retry)
- ✅ Built-in AWS Common Service Risk Reference Library (50+ risk points covering storage/database/EKS/EC2/networking)
Usage
Method 1: Direct Invocation
/aws-resilience-modelingClaude will first ask for your environment information and business context, then begin a comprehensive resilience analysis.
Method 2: Automatic Trigger
The skill activates automatically when you mention the following keywords in conversation:
- "AWS resilience analysis"
- "system risk assessment"
- "AWS resilience assessment"
Example:
User: I want to perform a resilience analysis on our AWS production environment
Claude: [auto-loads aws-resilience-modeling skill]Prerequisites
Before starting the analysis, prepare the following information:
MCP Server Configuration
For detailed MCP server setup instructions (required for automated AWS environment scanning), see references/MCP_SETUP_GUIDE.md.
1. Environment Information
- AWS account ID and region
- Access credentials (read-only access recommended)
- Existing architecture documentation (if available)
2. Business Context
- List of critical business processes
- Current RTO/RPO targets
- Existing SLA/SLO (if available)
- Compliance requirements (e.g., SOC2, HIPAA, PCI DSS)
3. Analysis Scope
- Applications and services to be analyzed
- Whether multi-account/multi-region is included
- Budget and time constraints
Output
Upon completion of the analysis, you will receive:
Main Report
- Executive Summary (2 pages)
- Key findings (Top 5 risks)
- Resilience maturity score
- Priority improvement recommendations
- System Architecture Visualization
- Architecture overview diagram (Mermaid)
- Dependency diagram
- Data flow diagram
- Network topology diagram
- Risk Inventory (table)
- Sorted by priority
- Includes risk scores, impact, and mitigation recommendations
- Detailed Risk Analysis
- In-depth analysis of each high-priority risk
- Failure scenarios
- Business impact
- Improvement recommendations (architecture, configuration, monitoring)
- Business Impact Analysis
- Critical business function mapping
- RTO/RPO compliance analysis
- Mitigation Strategy Recommendations
- Specific architecture improvements
- Configuration optimizations (with parameters and commands)
- Monitoring and alerting configuration
- AWS service recommendations
- Implementation Roadmap
- Gantt chart
- Detailed task breakdown
- Resource requirements and budget
- Continuous Improvement Plan
- SLI/SLO definitions
- Postmortem process
- Chaos engineering plan
Additional Files
references/common-risks-reference.md - AWS Common Service Risk Reference Manual (中文)
- Covers five categories: storage (EBS/S3/EFS/FSx), databases, containers (EKS), compute (EC2), and networking
- 50+ common risk points, each with root cause and improvement recommendations
- Assessment checklist organized by service type
references/assessment-output-spec.md - Chaos Engineering Input Specification (中文)
- Defines the structured input format required by the
chaos-engineering-on-awsskill - Contains 8 sections including AWS resource inventory, risk experiment-readiness flags, and monitoring readiness
- Fill-in examples for different architecture patterns (EKS/Serverless/EC2/multi-region)
All reference files are available in both English and Chinese. Chinese versions use the
_zh.mdsuffix (e.g.,resilience-framework_zh.md).
Directory Structure
aws-resilience-modeling/
├── SKILL.md # Language router (loads EN/ZH)
├── SKILL_EN.md / SKILL_ZH.md # Skill instructions (bilingual, ~153 lines each)
├── README.md / README_zh.md # Documentation (bilingual)
├── references/ # Reference docs (loaded on demand by Agent)
│ ├── analysis-tasks.md / _zh.md # 8 analysis task detailed instructions
│ ├── resilience-framework.md / _zh.md # Framework index & references map
│ ├── resilience-analysis-core.md / _zh.md # 9-dimension scoring methodology
│ ├── waf-reliability-pillar.md / _zh.md # WAF Reliability Pillar + DR cost baselines
│ ├── common-risks-reference.md / _zh.md # 50+ common AWS risk patterns
│ ├── assessment-output-spec.md / _zh.md # Chaos skill bridge: 8-section output spec
│ ├── compliance-mapping.md / _zh.md # SOC2/ISO 27001/NIST CSF mapping
│ ├── cloud-design-patterns.md / _zh.md # Cloud resilience design patterns
│ ├── chaos-engineering-methodology.md / _zh.md # Chaos engineering methodology reference
│ ├── observability-standards.md / _zh.md # AWS observability best practices
│ ├── report-generation.md / _zh.md # Report generation workflow
│ ├── HTML-TEMPLATE-USAGE.md / _zh.md # HTML template usage guide
│ └── MCP_SETUP_GUIDE.md / _zh.md # MCP server configuration guide
├── scripts/
│ └── generate-html-report.py # Python report generator
└── assets/
├── html-report-template.html # HTML interactive report template
└── example-report-template.md / _zh.md # Markdown report exampleAnalysis Framework
Failure Mode Classification
| Category | Description |
|---|---|
| Single Point of Failure (SPOF) | Critical components lacking redundancy |
| Excessive Latency | Performance bottlenecks and latency issues |
| Excessive Load | Capacity limits and traffic spikes |
| Misconfiguration | Non-compliance with best practices |
| Shared Fate | Tight coupling and lack of isolation |
Resilience Assessment Dimensions
Uses a 5-star rating system (1 star = inadequate, 5 stars = excellent) to assess:
- Redundancy design
- AZ fault tolerance
- Timeout and retry strategy
- Circuit breaker mechanism
- Auto-scaling capability
- Configuration safeguards
- Fault isolation
- Backup and recovery mechanism
- AWS best practices compliance
Risk Priority Scoring
Risk Score = (Probability × Business Impact × Detection Difficulty) / Remediation ComplexityExample Scenarios
Scenario 1: E-Commerce Platform
Environment:
- Multi-AZ RDS (PostgreSQL)
- ECS Fargate application
- CloudFront + S3 static assets
- ElastiCache Redis
Key Findings:
- RDS single-region (no Aurora Global Database)
- Missing Auto Scaling policies
- No Circuit Breaker configured
- Insufficient monitoring coverage
Recommendations:
- Migrate to Aurora Global Database
- Implement Target Tracking Auto Scaling
- Integrate AWS X-Ray distributed tracing
- Establish quarterly DR drillsScenario 2: Financial API
Environment:
- API Gateway + Lambda
- DynamoDB Global Tables
- Aurora Serverless
- Route 53 health checks
Key Findings:
- Lambda without Reserved Concurrency
- Missing API throttling policies
- SLO/SLI not defined
- No chaos engineering practices
Recommendations:
- Configure Lambda Reserved Concurrency
- Implement API Gateway Usage Plans
- Define 99.99% availability SLO
- Establish weekly chaos experimentsDisaster Recovery Strategy Selection
| Strategy | RTO | RPO | Cost | Applicable Scenarios |
|---|---|---|---|---|
| Backup & Restore | Hours–Days | Hours–Days | $ | Non-critical systems |
| Pilot Light | 10 min–Hours | Minutes | $$ | Important systems |
| Warm Standby | Minutes | Seconds–Minutes | $$$ | Critical business |
| Multi-Site Active-Active | Seconds–Minutes | Seconds | $$$$ | Mission-critical |
Reference Resources
AWS Official Documentation
- AWS Resilience Analysis Framework
- AWS Well-Architected - Reliability Pillar
- AWS Fault Injection Simulator
- AWS Resilience Hub
External Resources
Advanced Features
Error Budget Management
Based on AWS resilience best practices, calculate and track error budgets:
Error Budget = (1 - SLO) × Time Period
Example:
SLO = 99.9% (monthly)
Error Budget = 43.2 minutes/monthChaos Engineering Experiments
Use AWS FIS for fault injection:
- EC2 instance termination
- Network latency/packet loss
- RDS failover
- AZ unavailability simulation
- CPU/memory stress tests
Three Pillars of Observability
- Logs: CloudWatch Logs + structured logging
- Metrics: CloudWatch Metrics + key monitoring indicators
- Traces: AWS X-Ray + distributed tracing
FAQ
Q: How long does the analysis take?
A: Depends on environment complexity:
- Simple environment (single region, < 10 services): 1–2 hours
- Medium environment (multi-AZ, 10–50 services): 3–5 hours
- Complex environment (multi-region, > 50 services): 1–2 days
Q: Is AWS account access required?
A: Recommended but not mandatory:
- With access: Resources can be scanned automatically for more accurate analysis
- Without access: Analysis is based on provided architecture documentation
Q: Will the analysis incur AWS charges?
A: The analysis itself incurs no charges, but implementing recommendations may include:
- AWS Resilience Hub (free)
- AWS FIS chaos experiments (billed per minute)
- Additional AWS services (e.g., Aurora Global Database)
Q: How do I implement the recommendations?
A: The analysis report includes:
- Specific architecture improvement diagrams
- AWS CLI commands
- CloudFormation/Terraform code snippets
- Phased implementation roadmap
Q: Is multi-cloud supported?
A: Currently focused on AWS environments, providing professional resilience assessments based on the AWS Well-Architected Framework.
Changelog
v1.1.0 (2026-03-14)
- ✅ Added
common-risks-reference.md— AWS Common Service Risk Reference Manual - ✅ Integrated 50+ common risk points (storage/database/EKS/EC2/networking)
- ✅ Added assessment checklist organized by service type
- ✅ SKILL.md failure mode identification task references the risk reference
- ✅ Risk classification refined to align with actual AWS services
v1.0.0 (2025-02-17)
- ✅ Initial release
- ✅ Integrated AWS Well-Architected Framework (2025)
- ✅ Integrated AWS Resilience Analysis Framework
- ✅ Integrated chaos engineering methodology
- ✅ Integrated AWS observability best practices
- ✅ Includes detailed resilience-framework.md reference
Feedback and Contributions
For questions or suggestions, please provide feedback by:
- Raising them directly in conversation
- Updating your local skill files
License
This skill is written based on the AWS Well-Architected Framework and chaos engineering best practices, for learning and use.
分析任务 — 详细指令
任务 1: 系统组件映射与依赖分析
使用工具:通过 MCP 服务器(aws-api-mcp-server)进行只读 API 调用(如可用)、Mermaid 图表。禁止通过 Bash 执行任何 aws CLI 命令访问 AWS 资源。
输出内容:
- 系统架构总览图(Mermaid,展示 Region/AZ/组件层级)
- 组件依赖关系图(标明同步/异步依赖、强/弱依赖、关键路径)
- 数据流图(请求路径、数据流向、集成点)
- 网络拓扑图(VPC、子网、安全组、路由表、NAT 网关、VPN/Direct Connect)
多账户注意事项(如果架构跨越多个 AWS 账户):
- AWS Organizations SCP(服务控制策略)对韧性的影响
- 跨账户资源共享和 DR 策略(如共享 VPC、跨账户备份保管库)
- 集中式 vs 分散式备份和监控策略
- 跨账户 IAM 信任关系和故障转移权限
任务 2: 故障模式识别与分类(基于 AWS Resilience Analysis Framework)
参考资源:
- AWS Prescriptive Guidance - Resilience Analysis Framework
- 详见 resilience-framework_zh.md 索引文件。按需加载对应子文件:
- waf-reliability-pillar_zh.md — DR 策略、多 AZ/多 Region
- resilience-analysis-core_zh.md — Error Budget、SLI/SLO、黄金信号、事后复盘
- chaos-engineering-methodology_zh.md — 实验流程、FIS 模板
- observability-standards_zh.md — OpenTelemetry、日志/指标/链路
- cloud-design-patterns_zh.md — 舱壁、熔断器、重试
识别以下故障模式类别:
| 故障类别 | 说明 | 检查要点 |
|---|---|---|
| 单点故障 (SPOF) | 缺乏冗余的关键组件 | 单 AZ 部署、单实例数据库、未配置故障转移 |
| 过度延迟 | 性能瓶颈和延迟问题 | 网络延迟、数据库查询、API 超时 |
| 过度负载 | 容量限制和突增负载 | Auto Scaling 配置、服务配额、流量高峰 |
| 错误配置 | 不符合最佳实践 | 安全组、IAM 策略、备份策略 |
| 共享命运 (Shared Fate) | 紧密耦合和缺乏隔离 | 跨服务依赖、区域依赖、配额共享 |
对每个故障模式提供:详细技术描述、当前配置问题、涉及的 AWS 服务和资源 ARN、触发条件和场景、业务影响评估。
风险分类:基础设施 / 中间件与数据库 / 容器平台 / 网络 / 数据 / 安全与合规。
任务 3: 韧性评估(5 星评分系统)
对每个关键组件进行评分(1星=不足,5星=优秀):
评估维度:
| 维度 | 评估问题 | 评分标准 |
|---|---|---|
| 冗余设计 | 组件是否具有足够的冗余? | 1: 单点 / 2: 同AZ冗余 / 3: 多AZ手动切换 / 4: 多AZ自动切换+跨区域备份 / 5: 多区域主动-主动 |
| AZ 容错 | 能否承受单 AZ 故障? | 1: 单AZ / 2: 多AZ无自动切换 / 3: 多AZ自动故障转移 / 4: 多AZ+定期DR演练 / 5: 多AZ+多区域故障转移已验证 |
| 超时与重试 | 是否有适当的超时和重试策略? | 1: 无配置 / 2: 基本固定超时 / 3: 可配置超时+简单重试 / 4: 指数退避+抖动 / 5: 指数退避+断路器+舱壁 |
| 断路器 | 是否有防止级联故障的机制? | 1: 无 / 2: 基本健康检查 / 3: 关键路径断路器 / 4: 断路器+优雅降级 / 5: 完整断路器+降级+限流 |
| 自动扩展 | 能否应对负载增加? | 1: 固定容量 / 2: 手动扩展 / 3: 目标追踪Auto Scaling / 4: 预测+响应式Auto Scaling / 5: 多维度Auto Scaling+容量预留 |
| 配置防护 | 是否有防止错误配置的措施? | 1: 手动 / 2: 文档化流程 / 3: IaC模板 / 4: IaC+自动化验证+漂移检测 / 5: IaC+策略即代码+自动回滚 |
| 故障隔离 | 故障隔离边界是否明确? | 1: 单体 / 2: 基本服务分离 / 3: 服务级隔离 / 4: 细胞架构 / 5: 细胞架构+舱壁+shuffle sharding |
| 备份恢复 | 是否有数据备份和恢复机制? | 1: 无备份 / 2: 手动备份 / 3: 自动备份+恢复测试 / 4: 跨区域备份+定期DR测试 / 5: 跨区域+自动化恢复测试+PITR |
| 最佳实践 | 是否符合 Well-Architected? | 1: 多项违反 / 2: 部分合规 / 3: 基本合规+已知差距 / 4: 完全合规+优化中 / 5: 完全合规+持续改进 |
映射:Modeling 9 维度 ↔ RMA 10 领域
如果用户同时完成了 RMA 评估(aws-rma-assessment 技能),可使用此映射交叉参考结果:
| Modeling 维度 | RMA 领域 | 映射说明 |
|---|---|---|
| 冗余设计 | D2: 多位置设计 (Q7-Q9) | Modeling 评估单组件级别;RMA 评估组织级方法 |
| AZ 容错 | D2: 多位置设计 (Q7-Q9)、D10: 灾难恢复 (Q46-Q52) | Modeling 聚焦技术 AZ 配置;RMA 包含 DR 治理 |
| 超时与重试 | D3: 交互设计 (Q10-Q13) | 直接映射 — 两者都评估超时/重试/退避策略 |
| 断路器 | D3: 交互设计 (Q10-Q13)、D8: 故障隔离 (Q36-Q39) | Modeling 专门评估断路器;RMA 更广泛(交互 + 隔离) |
| 自动扩展 | D1: 工作负载设计 (Q1-Q6) | Modeling 评估扩展能力;RMA 评估整体工作负载设计成熟度 |
| 配置防护 | D4: 分布式系统设计 (Q14-Q17)、D5: 变更管理 (Q18-Q22) | Modeling 聚焦 IaC/验证;RMA 增加变更管理流程 |
| 故障隔离 | D8: 故障隔离 (Q36-Q39) | 直接映射 |
| 备份恢复 | D10: 灾难恢复 (Q46-Q52) | 直接映射 |
| 最佳实践 | 所有领域(汇总) | Modeling 评估 WAF 合规性;RMA 提供细粒度领域级成熟度 |
评分转换指南(近似):
| Modeling 星级 | 近似 RMA 级别 | 解释 |
|---|---|---|
| ⭐(1 星) | Level 0-1 | 未实现或临时性 |
| ⭐⭐(2 星) | Level 1-2 | 基本实现,手动流程 |
| ⭐⭐⭐(3 星) | Level 2-3 | 标准化,部分自动化 |
| ⭐⭐⭐⭐(4 星) | Level 3-4 | 良好自动化,定期测试 |
| ⭐⭐⭐⭐⭐(5 星) | Level 4-5 | 优化,持续改进 |
⚠️ 此映射为近似值。Modeling 评分反映特定组件的技术实现深度;RMA 级别反映人员、流程和工具的组织成熟度。
任务 4: 业务影响分析
- 识别关键业务流程(用户注册/登录、订单处理、支付交易、数据分析等)
- 评估组件故障影响(组件 → 故障场景 → 影响的业务功能 → 影响程度 → 用户影响 → 当前/目标 RTO)
- RTO/RPO 合规性分析(当前架构能否满足业务目标、差距分析、优先改进领域)
任务 5: 风险优先级排序
风险评分矩阵:风险得分 = (发生概率 x 业务影响 x 检测难度) / 修复复杂度
| 风险 ID | 故障模式 | 概率 (1-5) | 影响 (1-5) | 检测难度 (1-5) | 修复复杂度 (1-5) | 风险得分 | 优先级 |
|---|---|---|---|---|---|---|---|
| R-001 | RDS 单 AZ | 3 | 5 | 2 | 2 | 15 | 高 |
| R-002 | 缺少 Auto Scaling | 4 | 4 | 1 | 3 | 5.3 | 中 |
风险得分严重性阈值:
| 严重性 | 分值范围 | 所需行动 |
|---|---|---|
| 关键 (Critical) | >= 20 | 立即修复 |
| 高 (High) | 10 - 19 | 当前迭代内修复 |
| 中 (Medium) | 4 - 9 | 下季度规划修复 |
| 低 (Low) | < 4 | 持续监控,有余力时处理 |
同时进行级联效应分析:识别风险之间的关联、评估多点故障场景、最坏情况影响分析。
任务 6: 缓解策略建议
针对高优先级风险,提供具体的、可操作的建议。每个风险应包含:
- 架构改进建议:修改前/后对比(Mermaid 图),展示改进方案
- 配置优化建议:具体 AWS CLI 命令或 IaC 代码
- 监控与告警建议:CloudWatch 告警配置(指标、阈值、告警级别、响应 SLA)
- AWS 服务推荐:推荐服务、价值说明、成本影响
- 实施评估:复杂度、预期效果、实施风险、成本范围、优先级
完整缓解策略示例参见 example-report-template_zh.md。
任务 7: 实施路线图
分阶段实施计划(基于风险优先级和依赖关系),使用 Mermaid Gantt 图展示:
- 阶段 1:基础韧性 — Multi-AZ 部署、自动备份、基础监控告警
- 阶段 2:自动化 — IaC 迁移、CI/CD 流水线、Auto Scaling
- 阶段 3:DR 和混沌工程 — Aurora Global Database、Route 53 故障转移、AWS FIS
- 阶段 4:持续改进 — SLO/SLI 定义、事后复盘流程、季度韧性评估
每阶段应包含详细任务卡(任务 ID、工作量、依赖、负责人、里程碑、成功标准)、资源需求和实施风险缓解策略。
任务 8: 持续改进机制
1. 定期韧性评估:季度执行,包含自动化扫描、手动架构审查、风险清单更新、优先级调整。
2. 韧性指标持续监控:定义 SLI/SLO,建立错误预算政策(预算耗尽时冻结非关键发布,充裕时可加速功能发布和混沌实验)。
3. 事后复盘流程(Postmortem):遵循无责任文化原则,使用标准复盘模板(时间线、根因、影响、行动项)。复盘模板示例参见 example-report-template_zh.md。
4. 韧性知识库:建立集中式知识库,包含 Runbooks/、Postmortems/、Architecture/、Playbooks/ 等目录。
5. 团队技能培养:AWS Well-Architected 认证、SRE 实践培训、混沌工程工作坊、DR 演练、灾难角色扮演(Wheel of Misfortune)。
Analysis Tasks — Detailed Instructions
Task 1: System Component Mapping and Dependency Analysis
Tools Used: Read-only API calls via MCP servers (aws-api-mcp-server) if available, Mermaid diagrams. Do not use Bash to execute any aws CLI commands to access AWS resources.
Output:
- System Architecture Overview (Mermaid, showing Region/AZ/component hierarchy)
- Component Dependency Diagram (marking synchronous/asynchronous dependencies, strong/weak dependencies, critical paths)
- Data Flow Diagram (request paths, data flows, integration points)
- Network Topology Diagram (VPC, subnets, security groups, route tables, NAT gateways, VPN/Direct Connect)
Multi-Account Considerations (if the architecture spans multiple AWS accounts):
- AWS Organizations SCP (Service Control Policy) impact on resilience
- Cross-account resource sharing and DR strategy (e.g., shared VPC, cross-account backup vaults)
- Centralized vs. decentralized backup and monitoring strategy
- Cross-account IAM trust relationships and failover permissions
Task 2: Failure Mode Identification and Classification (Based on AWS Resilience Analysis Framework)
Reference Resources:
- AWS Prescriptive Guidance - Resilience Analysis Framework
- See resilience-framework.md for the index of all reference files. Load only the specific sub-file relevant to your current task:
- waf-reliability-pillar.md — DR strategies, Multi-AZ/Multi-Region
- resilience-analysis-core.md — Error budget, SLI/SLO, golden signals, postmortem
- chaos-engineering-methodology.md — Experiment process, FIS templates
- observability-standards.md — OpenTelemetry, logs/metrics/traces
- cloud-design-patterns.md — Bulkhead, circuit breaker, retry
Identify the following failure mode categories:
| Failure Category | Description | Inspection Points |
|---|---|---|
| Single Point of Failure (SPOF) | Critical components lacking redundancy | Single-AZ deployment, single-instance database, no failover configured |
| Excessive Latency | Performance bottlenecks and latency issues | Network latency, database queries, API timeouts |
| Excessive Load | Capacity limits and traffic spikes | Auto Scaling configuration, service quotas, traffic peaks |
| Misconfiguration | Non-compliance with best practices | Security groups, IAM policies, backup policies |
| Shared Fate | Tight coupling and lack of isolation | Cross-service dependencies, regional dependencies, quota sharing |
For each failure mode provide: Detailed technical description, current configuration issues, involved AWS services and resource ARNs, trigger conditions and scenarios, business impact assessment.
Risk Classification: Infrastructure / Middleware & Database / Container Platform / Network / Data / Security & Compliance.
Task 3: Resilience Assessment (5-Star Rating System)
Rate each critical component (1 star = inadequate, 5 stars = excellent):
Assessment Dimensions:
| Dimension | Assessment Question | Rating Criteria |
|---|---|---|
| Redundancy Design | Does the component have sufficient redundancy? | 1: Single point / 2: Same-AZ redundancy / 3: Multi-AZ manual failover / 4: Multi-AZ auto failover + cross-region backup / 5: Multi-region active-active |
| AZ Fault Tolerance | Can it withstand a single AZ failure? | 1: Single AZ / 2: Multi-AZ without auto failover / 3: Multi-AZ with auto failover / 4: Multi-AZ + periodic DR drills / 5: Multi-AZ + multi-region failover tested |
| Timeout & Retry | Are there appropriate timeout and retry strategies? | 1: Not configured / 2: Basic fixed timeouts / 3: Configurable timeouts + simple retry / 4: Exponential backoff + jitter / 5: Exponential backoff + circuit breaker + bulkhead |
| Circuit Breaker | Is there a mechanism to prevent cascading failures? | 1: None / 2: Basic health checks / 3: Circuit breaker on critical paths / 4: Circuit breaker + graceful degradation / 5: Full circuit breaker + degradation + load shedding |
| Auto Scaling | Can it handle load increases? | 1: Fixed capacity / 2: Manual scaling / 3: Target tracking Auto Scaling / 4: Predictive + reactive Auto Scaling / 5: Multi-dimensional Auto Scaling + capacity reservations |
| Configuration Safeguards | Are there measures to prevent misconfiguration? | 1: Manual / 2: Documented procedures / 3: IaC templates / 4: IaC + automated validation + drift detection / 5: IaC + policy-as-code + automated rollback |
| Fault Isolation | Are fault isolation boundaries clearly defined? | 1: Monolith / 2: Basic service separation / 3: Service-level isolation / 4: Cell-based architecture / 5: Cell architecture + bulkhead + shuffle sharding |
| Backup & Recovery | Is there a data backup and recovery mechanism? | 1: No backup / 2: Manual backups / 3: Automated backups + tested restore / 4: Cross-region backup + periodic DR testing / 5: Cross-region + automated recovery testing + PITR |
| Best Practices | Does it comply with Well-Architected? | 1: Multiple violations / 2: Partial compliance / 3: Mostly compliant + known gaps / 4: Fully compliant + optimization in progress / 5: Fully compliant + continuous improvement |
Mapping: Modeling 9 Dimensions ↔ RMA 10 Domains
If the user has also completed an RMA Assessment (aws-rma-assessment skill), use this mapping to cross-reference results:
| Modeling Dimension | RMA Domain(s) | Mapping Notes |
|---|---|---|
| Redundancy Design | D2: Design for Multi-Location (Q7-Q9) | Modeling rates per-component; RMA rates organizational approach |
| AZ Fault Tolerance | D2: Design for Multi-Location (Q7-Q9), D10: Disaster Recovery (Q46-Q52) | Modeling focuses on technical AZ config; RMA includes DR governance |
| Timeout & Retry | D3: Design Interactions (Q10-Q13) | Direct mapping — both assess timeout/retry/backoff strategies |
| Circuit Breaker | D3: Design Interactions (Q10-Q13), D8: Fault Isolation (Q36-Q39) | Modeling covers circuit breaker specifically; RMA is broader (interactions + isolation) |
| Auto Scaling | D1: Design Your Workload (Q1-Q6) | Modeling rates scaling capability; RMA rates overall workload design maturity |
| Configuration Safeguards | D4: Design Distributed Systems (Q14-Q17), D5: Change Management (Q18-Q22) | Modeling focuses on IaC/validation; RMA adds change management process |
| Fault Isolation | D8: Fault Isolation (Q36-Q39) | Direct mapping |
| Backup & Recovery | D10: Disaster Recovery (Q46-Q52) | Direct mapping |
| Best Practices | All Domains (aggregate) | Modeling rates WAF compliance; RMA provides granular domain-level maturity |
Score Conversion Guide (approximate):
| Modeling Star Rating | Approximate RMA Level | Interpretation |
|---|---|---|
| ⭐ (1 star) | Level 0-1 | Not implemented or ad-hoc |
| ⭐⭐ (2 stars) | Level 1-2 | Basic implementation, manual processes |
| ⭐⭐⭐ (3 stars) | Level 2-3 | Standardized, partially automated |
| ⭐⭐⭐⭐ (4 stars) | Level 3-4 | Well-automated, regularly tested |
| ⭐⭐⭐⭐⭐ (5 stars) | Level 4-5 | Optimized, continuously improving |
⚠️ This mapping is approximate. Modeling scores reflect technical implementation depth for specific components; RMA levels reflect organizational maturity across people, process, and tools.
Task 4: Business Impact Analysis
- Identify Critical Business Processes (user registration/login, order processing, payment transactions, data analytics, etc.)
- Assess Component Failure Impact (component -> failure scenario -> affected business functions -> impact severity -> user impact -> current/target RTO)
- RTO/RPO Compliance Analysis (can the current architecture meet business objectives, gap analysis, priority improvement areas)
Task 5: Risk Prioritization
Risk Scoring Matrix: Risk Score = (Probability x Business Impact x Detection Difficulty) / Remediation Complexity
| Risk ID | Failure Mode | Probability (1-5) | Impact (1-5) | Detection Difficulty (1-5) | Remediation Complexity (1-5) | Risk Score | Priority |
|---|---|---|---|---|---|---|---|
| R-001 | RDS Single AZ | 3 | 5 | 2 | 2 | 15 | High |
| R-002 | Missing Auto Scaling | 4 | 4 | 1 | 3 | 5.3 | Medium |
Risk Score Severity Thresholds:
| Severity | Score Range | Action Required |
|---|---|---|
| Critical | >= 20 | Immediate remediation required |
| High | 10 - 19 | Remediation within current sprint |
| Medium | 4 - 9 | Plan remediation in next quarter |
| Low | < 4 | Monitor and address as capacity allows |
Also perform Cascading Effect Analysis: Identify correlations between risks, assess multi-point failure scenarios, worst-case impact analysis.
Task 6: Mitigation Strategy Recommendations
For high-priority risks, provide specific, actionable recommendations. Each risk should include:
- Architecture Improvement: Before/after comparison (Mermaid diagrams) showing the improvement plan
- Configuration Optimization: Specific AWS CLI commands or IaC code
- Monitoring & Alerting: CloudWatch alarm configuration (metrics, thresholds, alarm levels, response SLA)
- AWS Service Recommendations: Recommended services, value proposition, cost impact
- Implementation Assessment: Complexity, expected outcomes, implementation risks, cost range, priority
See example-report-template.md for complete mitigation strategy examples.
Task 7: Implementation Roadmap
Phased Implementation Plan (based on risk priority and dependencies), using Mermaid Gantt charts:
- Phase 1: Foundational Resilience -- Multi-AZ deployment, automated backup, basic monitoring and alerting
- Phase 2: Automation -- IaC migration, CI/CD pipelines, Auto Scaling
- Phase 3: DR and Chaos Engineering -- Aurora Global Database, Route 53 failover, AWS FIS
- Phase 4: Continuous Improvement -- SLO/SLI definition, postmortem process, quarterly resilience reviews
Each phase should include detailed task cards (task ID, effort, dependencies, owner, milestones, success criteria), resource requirements, and implementation risk mitigation strategies.
Task 8: Continuous Improvement Mechanisms
1. Regular Resilience Assessments: Quarterly execution including automated scanning, manual architecture review, risk inventory updates, priority adjustments.
2. Continuous Resilience Metrics Monitoring: Define SLI/SLO, establish error budget policies (freeze non-critical releases when budget is exhausted; accelerate feature releases and chaos experiments when budget is ample).
3. Postmortem Process: Follow blameless culture principles, use a standard postmortem template (timeline, root cause, impact, action items). See example-report-template.md for postmortem template examples.
4. Resilience Knowledge Base: Build a centralized knowledge base including Runbooks/, Postmortems/, Architecture/, Playbooks/ directories.
5. Team Skill Development: AWS Well-Architected certification, SRE practice training, Chaos Engineering workshops, DR drills, Wheel of Misfortune exercises.
Chaos Engineering 输入规范模板
用途:本文件定义
chaos-engineering-on-awsskill 所需的结构化输入格式。 请aws-resilience-modelingskill 在生成韧性评估报告时,按照本规范的结构组织报告内容,确保混沌工程阶段可直接消费。两种输出方式(任选): 1. 独立文件模式(推荐):单独生成
{project}-chaos-input-{date}.md,主报告中仅保留简要引用 2. 嵌入模式:在现有评估报告末尾添加## Chaos Engineering Ready Data附录章节(仅当用户明确要求嵌入时使用)推荐方式 1(独立文件,便于下游
chaos-engineering-on-awsskill 直接消费,同时避免主报告过于臃肿)⚠️ 本规范定义的是结构(表头 + 字段 + 枚举值),不绑定任何特定系统。 附录 A 提供了不同架构模式的填写示例。
1. 为什么需要这个规范?
Assessment 的自由格式 Markdown 报告面向人类阅读,但混沌工程 Skill 需要一致的结构来自动化以下步骤:
- 从风险清单中筛选可实验的风险
- 将逻辑资源名映射为真实 AWS 资源(ARN)
- 生成 FIS / Chaos Mesh 实验配置
- 设定稳态假设阈值和停止条件
现有 Assessment 输出的问题:
| 现状 | 改进要求 |
|---|---|
| 风险描述是自由文本 | 统一枚举分类(SPOF / 过度负载 / 错误配置 / 共享命运 / 过度延迟) |
| 涉及的 AWS 资源散落各处 | 统一资源清单表格,含完整 ARN |
| RTO 写"未知"/"不可恢复" | 使用 未知 或 不适用,单位统一为秒 |
| 无"能不能做实验"标记 | 每个风险标注是否可实验 + 原因 |
| 无建议注入方式 | 高/严重风险附带建议的 FIS action 或 Chaos Mesh CRD |
| 监控能力无结构化描述 | 统一的监控就绪度章节 |
2. 规范定义
以下为 Assessment 报告应包含的结构化章节。表头和字段名是固定的,内容按客户实际环境填写。
2.1 项目元数据
放在报告开头。
| 字段 | 必填 | 格式 | 说明 |
|---|---|---|---|
| 项目名称 | ✅ | 自由文本 | 客户系统名称 |
| 评估日期 | ✅ | YYYY-MM-DD | — |
| AWS 账户 | ✅ | 12 位数字 | 可多个,逗号分隔 |
| 主要区域 | ✅ | AWS region code | 如 us-east-1、ap-northeast-1 |
| 其他区域 | ❌ | 逗号分隔 | 多区域架构时填写 |
| 环境类型 | ✅ | production / staging / development | — |
| 架构模式 | ✅ | 见下方枚举 | 帮助混沌工程 Skill 选择实验策略 |
| 整体韧性评分 | ✅ | X.X / 5.0 | 1.0-5.0 |
架构模式枚举:
| 架构模式 | 典型组件 | 混沌工程重点 |
|---|---|---|
EKS 微服务 | EKS + ALB + RDS/DynamoDB | Pod 故障、服务间网络、数据库故障转移 |
ECS 容器化 | ECS/Fargate + ALB + RDS | 任务故障、服务发现、数据库 HA |
Serverless | API Gateway + Lambda + DynamoDB + SQS/SNS | Lambda 延迟/错误、队列积压、DDB 限流 |
传统 EC2 | EC2 + ALB/NLB + RDS + ElastiCache | 实例终止、AZ 故障、数据库故障转移 |
多区域 | 以上任一 + Route53 + 跨区域复制 | 区域故障转移、复制延迟、DNS 切换 |
混合 | 以上多种组合 | 按各层分别设计实验 |
2.2 AWS 资源清单
核心输入——没有 ARN 就无法创建 FIS 实验。列出评估中涉及的所有 AWS 资源。
固定表头:
| 资源 ID | 类型 | ARN | 名称 | 可用区 | 状态 | 备注 |
|---|---|---|---|---|---|---|
| (实例/集群/表等 ID) | (标准类型名) | (完整 ARN) | (资源名或标签) | (AZ 或 AZ 列表) | (running/active 等) | (Assessment 关键发现) |
资源类型标准名(优先使用以下名称;如果客户使用了不在列表中的 AWS 服务,自行添加类型名即可,格式为 {服务} {资源}):
| 类别 | 标准名 |
|---|---|
| 计算 | EC2 实例 / EKS 集群 / EKS 节点组 / ECS 集群 / ECS 服务 / Fargate 任务 / Lambda 函数 / Auto Scaling 组 |
| 网络 | ALB / NLB / 目标组 / CloudFront / API Gateway / NAT 网关 / VPC / 子网 / 安全组 / Route53 托管区 / Transit Gateway |
| 数据库 | RDS 集群 / RDS 实例 / Aurora Global Database / DynamoDB 表 / ElastiCache 集群 / MemoryDB 集群 / Neptune 集群 |
| 存储 | S3 存储桶 / EBS 卷 / EFS 文件系统 |
| 消息 | SQS 队列 / SNS 主题 / Kinesis 数据流 / EventBridge 规则 |
| 其他 | Step Functions 状态机 / Cognito 用户池 / Secrets Manager |
2.3 关键业务功能与依赖链
列出系统的关键业务功能、依赖的组件链、以及 RTO/RPO。
固定表头:
| 业务功能 | 重要性 | 依赖链(资源 ID) | 当前 RTO | 目标 RTO | 当前 RPO | 目标 RPO |
|---|---|---|---|---|---|---|
| (功能名称) | (重要性标记) | (ID → ID → ID) | (秒/未知/不适用) | (秒) | (秒/未知/不适用) | (秒/不适用) |
字段规范:
| 字段 | 取值 | 说明 |
|---|---|---|
| 重要性 | 🔴 核心 / 🟠 重要 / 🟡 一般 / 🟢 低 | 对应 critical/high/medium/low |
| 依赖链 | 资源 ID 用 → 连接 | 引用 2.2 资源清单中的资源 ID |
| RTO/RPO | 数字 + s(秒)或 未知 或 不适用 | 单位统一为秒。未知 = 没测过;不适用 = 该维度无意义 |
2.4 风险清单(含可实验性标记)
在现有风险清单基础上增加两列:
可实验和建议注入方式。
固定表头:
| 风险 ID | 风险描述 | 故障类别 | 严重度 | 概率 | 影响 | 检测难度 | 修复复杂度 | 风险得分 | 可实验 | 建议注入方式 |
|---|---|---|---|---|---|---|---|---|---|---|
| R-XXX | (描述) | (类别) | (严重度) | 1-5 | 1-5 | 1-5 | 1-5 | (得分) | (标记) | (工具: action) |
字段枚举值:
| 字段 | 取值 | 说明 |
|---|---|---|
| 故障类别 | SPOF / 过度负载 / 过度延迟 / 错误配置 / 共享命运 / 其他: {自定义} | 来自 AWS Resilience Analysis Framework。5 类不够时可用 其他: {描述} 扩展 |
| 严重度 | 🔴 严重 / 🟠 高 / 🟡 中 / 🟢 低 | — |
| 可实验 | ✅ 是 / ❌ 否(原因) / ⚠️ 有前提 | 关键字段,判断指南见第 3 节 |
| 建议注入方式 | FIS: {action} / ChaosMesh: {CRD} / 手动 / — | 速查表见第 4 节,不可实验则填 — |
2.5 风险详情(可实验风险补充信息)
对每个
可实验 = ✅/⚠️的风险,在详细分析中增加以下结构化内容:
必须包含的子表格:
涉及资源表
| 资源 ID | 类型 | ARN | 在实验中的角色 |
|---|---|---|---|
| (ID) | (类型) | (ARN) | 注入目标 / 观测对象 / 影响对象 |
建议实验表
| 注入工具 | Action | 目标资源 | 说明 | 前提条件 |
|---|---|---|---|---|
| FIS / ChaosMesh | (action ID 或 CRD 类型) | (资源 ID) | (一句话说明) | 无 或具体前提 |
其他必须字段
- 影响的业务功能:引用 2.3 中的功能名称
- 现有缓解措施:列表或
无
2.6 监控就绪度
新增章节。混沌工程必须有监控才能定义稳态假设和停止条件。
固定结构:
## 监控就绪度
**整体就绪状态**: 🟢 就绪 / 🟡 部分就绪 / 🔴 未就绪现有 CloudWatch 告警表
| 告警 ARN | 指标 | 阈值 | 周期 | 可作为 FIS Stop Condition |
|---|---|---|---|---|
| (ARN 或"无") | — | — | — | 是 / 否 |
可用 CloudWatch 指标表
| 资源 | Namespace | 可用指标 | 说明 |
|---|---|---|---|
| (资源 ID) | (AWS/XXX) | (指标列表) | — |
监控缺口(列表)
就绪状态判断标准:
| 状态 | 条件 | 混沌工程建议 |
|---|---|---|
| 🟢 就绪 | 核心业务功能有告警覆盖,有可用的 Stop Condition | 可直接开始实验 |
| 🟡 部分就绪 | 有部分告警但核心功能未完全覆盖 | 补充关键告警后可实验 |
| 🔴 未就绪 | 无告警或严重缺失 | 必须先建立基础监控 |
2.7 韧性评分(9 维度)
使用固定的维度名称和 1-5 评分。
固定表头:
| 维度 | 评分 | 当前状态(一句话) |
|---|---|---|
| 冗余设计 | ⭐ X/5 | (描述) |
| AZ 容错 | ⭐ X/5 | (描述) |
| 超时与重试 | ⭐ X/5 | (描述) |
| 断路器 | ⭐ X/5 | (描述) |
| 自动扩展 | ⭐ X/5 | (描述) |
| 配置防护 | ⭐ X/5 | (描述) |
| 故障隔离 | ⭐ X/5 | (描述) |
| 备份恢复 | ⭐ X/5 | (描述) |
| 最佳实践 | ⭐ X/5 | (描述) |
维度名称固定为以上 9 个,不可更改或增减。如果发现了不属于以上 9 维度的韧性问题,在评分表之后用自由文本记录。
2.8 约束和偏好(可选)
如果 Assessment 过程中用户提到了实验偏好,记录在此。
固定表头:
| 约束项 | 值 | 说明 |
|---|---|---|
| 首选实验环境 | staging / production / development | — |
| 允许生产实验 | 是 / 否 | — |
| 维护窗口 | (描述或 cron) | — |
| 最大爆炸半径 | 单资源 / 单 AZ / 多 AZ / 区域 | — |
| Chaos Mesh 已安装 | 是 / 否 | — |
| FIS IAM Role 已创建 | 是 / 否 | — |
| 通知渠道 | (渠道) | — |
3. testable(可实验性)判断指南
供 Assessment Skill 判断每个风险是否适合混沌实验:
| 条件 | 可实验 | 说明 |
|---|---|---|
| 有对应的 FIS action 可注入 | ✅ 是 | 如 EC2 终止、RDS 故障转移、Lambda 延迟注入 |
| 有对应的 Chaos Mesh CRD | ✅ 是 | 如 Pod Kill、网络延迟、HTTP 故障 |
| 属于配置问题,无运行时故障可注入 | ❌ 否 | 如"EBS 未加密"、"日志未启用"、"缺少告警" |
| 需要先修复或配置才能测试 | ⚠️ 有前提 | 如"DynamoDB 需先启用 PITR 才能测试恢复" |
| 涉及安全/合规(非韧性) | ❌ 否 | 如"IAM 权限过宽"、"无 WAF" |
| 影响不可逆 | ❌ 否 | 如"删除无备份的唯一数据表" |
| 缺乏监控无法观测结果 | ⚠️ 有前提 | 前提:先建立基础监控 |
4. 建议注入方式速查表
供 Assessment Skill 为可实验风险推荐工具和 action:
| 风险模式 | 推荐工具 | 推荐 Action |
|---|---|---|
| EC2 单点故障 | FIS | aws:ec2:terminate-instances 或 aws:ec2:stop-instances |
| AZ 级故障 | FIS | aws:network:disrupt-connectivity |
| RDS/Aurora 故障转移 | FIS | aws:rds:failover-db-cluster |
| RDS 实例故障 | FIS | aws:rds:reboot-db-instances |
| DynamoDB 跨区域复制 | FIS | aws:dynamodb:global-table-pause-replication |
| Lambda 延迟 | FIS | aws:lambda:invocation-add-delay |
| Lambda 错误 | FIS | aws:lambda:invocation-error |
| EKS 节点故障 | FIS | aws:eks:terminate-nodegroup-instances |
| ECS 任务故障 | FIS | aws:ecs:stop-task |
| EBS 存储故障 | FIS | aws:ebs:pause-volume-io |
| ElastiCache AZ 故障 | FIS | aws:elasticache:interrupt-cluster-az-power |
| Spot 实例中断 | FIS | aws:ec2:send-spot-instance-interruptions |
| API 限流 | FIS | aws:fis:inject-api-throttle-error |
| S3 跨区域复制 | FIS | aws:s3:bucket-pause-replication |
| K8s Pod 故障 | Chaos Mesh | PodChaos: pod-kill / pod-failure |
| 微服务网络劣化 | Chaos Mesh | NetworkChaos: delay / loss / partition |
| HTTP 层故障 | Chaos Mesh | HTTPChaos: abort / delay |
| 资源竞争 | Chaos Mesh | StressChaos: cpu / memory |
| DNS 故障 | Chaos Mesh | DNSChaos: error / random |
| 文件 IO 故障 | Chaos Mesh | IOChaos: latency / fault |
5. Assessment 输出检查清单
Assessment 完成后,对照以下清单确认输出完整性:
- [ ] 项目元数据完整(账号 ID、区域、环境类型、架构模式、韧性评分)
- [ ] AWS 资源清单包含所有涉及资源的 完整 ARN
- [ ] 业务功能表列出依赖链和 RTO/RPO(单位:秒)
- [ ] 风险清单包含
可实验和建议注入方式两列 - [ ] 所有
可实验 = ✅/⚠️的风险详情中包含涉及资源表和建议实验表 - [ ] 监控就绪度章节完整(就绪状态 + 现有告警 + 可用指标 + 缺口)
- [ ] 韧性评分 9 维度表格完整,维度名称未更改
- [ ] 约束和偏好已记录(如用户在评估过程中提到)
- [ ] 开放发现章节已记录(超出模板框架的新发现)
6. 开放发现(鼓励 LLM 超越模板)
⚠️ 本规范定义的是最低要求,不是能力上限。 以下三个开放章节鼓励 Assessment 和 Chaos Skill 的 LLM 记录超出模板框架的发现。
6.1 Assessment 阶段:额外发现的风险
如果 Assessment LLM 在分析过程中发现了不属于 5 种标准故障类别的风险,或速查表中没有对应注入方式的风险,不要丢弃,记录在此。
## 额外发现
### 超出标准分类的风险
| 风险 ID | 风险描述 | 自定义类别 | 为什么现有分类不适用 | 建议的验证方式(自由文本) |
|---------|---------|-----------|-------------------|----------------------|
| R-EXT-001 | 第三方 API 供应商 SLA 不透明 | 供应链风险 | 非 AWS 资源,不属于 5 类 | 模拟第三方 API 超时/错误,观测降级行为 |
| R-EXT-002 | DNS TTL 过长导致故障转移延迟 | 恢复延迟 | 介于"配置"和"延迟"之间 | 修改 TTL 后用 FIS 模拟 AZ 故障,测量实际切换时间 |
### 实验过程中新发现的风险
> 混沌工程 Skill 在执行实验时发现的、Assessment 阶段未识别的新风险。**实验后回填此表。**
| 发现来源(实验 ID) | 新风险描述 | 严重度 | 建议 |
|-------------------|-----------|--------|------|
| *(实验执行后填写)* | | | |6.2 自定义实验方法
如果 LLM 认为某个风险可以通过非 FIS / 非 Chaos Mesh 的方式验证(如 AWS CLI 脚本、SSM Run Command、自定义 Lambda 等),在此记录。
### 自定义实验建议
| 风险 ID | 验证方法 | 工具/脚本 | 说明 | 安全风险 |
|---------|---------|----------|------|---------|
| R-XXX | AWS CLI 脚本 | `aws ec2 modify-instance-attribute --no-source-dest-check` | 修改网络属性观测影响 | 需回滚 |
| R-XXX | SSM Run Command | stress-ng 内存压力 | 在实例上直接注入压力 | 影响范围可控 |6.3 架构层面的开放观察
Assessment 过程中发现的、不直接对应某个风险 ID 的架构层面观察。例如: - 架构反模式(但不确定是否构成风险) - 潜在的改进机会(非风险但值得关注) - 与行业最佳实践的差距(非直接风险)
### 开放观察
1. **观察**: EKS 集群使用 managed node group 但未配置 Cluster Autoscaler,高峰期可能资源不足
**建议**: 考虑在混沌实验中加入负载压力测试,验证韧性边界
2. **观察**: 所有微服务共享同一个 DynamoDB 表,缺乏数据隔离
**建议**: 可作为"共享命运"风险进一步评估附录 A:不同架构模式的填写示例
以下示例展示不同类型客户系统如何填写本规范。仅展示关键差异部分。
A.1 EKS 微服务架构(如 VotingApp)
元数据:
架构模式: EKS 微服务资源清单典型行:
| 资源 ID | 类型 | ARN | 备注 |
|---|---|---|---|
| my-cluster | EKS 集群 | arn:aws:eks:us-east-2:123456789012:cluster/my-cluster | v1.32,6 节点 |
| my-table | DynamoDB 表 | arn:aws:dynamodb:us-east-2:123456789012:table/my-table | 无 PITR |
| nat-0abc123 | NAT 网关 | arn:aws:ec2:us-east-2:123456789012:natgateway/nat-0abc123 | 单 AZ |
典型可实验风险:
| 风险 ID | 可实验 | 建议注入方式 |
|---|---|---|
| R-001 | ✅ | FIS: aws:eks:terminate-nodegroup-instances |
| R-002 | ✅ | ChaosMesh: PodChaos pod-kill |
| R-003 | ✅ | ChaosMesh: NetworkChaos delay |
A.2 Serverless 架构(如电商后端)
元数据:
架构模式: Serverless资源清单典型行:
| 资源 ID | 类型 | ARN | 备注 |
|---|---|---|---|
| order-api | API Gateway | arn:aws:apigateway:us-east-1::/restapis/abc123 | REST API |
| process-order | Lambda 函数 | arn:aws:lambda:us-east-1:123456789012:function:process-order | 128MB,30s 超时 |
| orders-table | DynamoDB 表 | arn:aws:dynamodb:us-east-1:123456789012:table/orders | PAY_PER_REQUEST |
| order-events | SQS 队列 | arn:aws:sqs:us-east-1:123456789012:order-events | 标准队列 |
典型可实验风险:
| 风险 ID | 可实验 | 建议注入方式 |
|---|---|---|
| R-001 | ✅ | FIS: aws:lambda:invocation-add-delay(Lambda 冷启动 + 延迟) |
| R-002 | ✅ | FIS: aws:fis:inject-api-throttle-error(API 限流) |
| R-003 | ✅ | FIS: aws:dynamodb:global-table-pause-replication(DDB 复制中断) |
监控就绪度典型差异:
- Serverless 通常自带 CloudWatch 指标(Lambda Duration/Errors/Throttles)
- 监控就绪度更可能是 🟡 部分就绪
A.3 传统 EC2 三层架构(如企业内部系统)
元数据:
架构模式: 传统 EC2资源清单典型行:
| 资源 ID | 类型 | ARN | 备注 |
|---|---|---|---|
| i-0abc123 | EC2 实例 | arn:aws:ec2:ap-northeast-1:123456789012:instance/i-0abc123 | Web Server |
| my-alb | ALB | arn:aws:elasticloadbalancing:ap-northeast-1:123456789012:loadbalancer/app/my-alb/abc | 跨 2 AZ |
| my-db-cluster | RDS 集群 | arn:aws:rds:ap-northeast-1:123456789012:cluster:my-db-cluster | Aurora Multi-AZ |
| my-cache | ElastiCache 集群 | arn:aws:elasticache:ap-northeast-1:123456789012:replicationgroup:my-cache | Redis 3 节点 |
典型可实验风险:
| 风险 ID | 可实验 | 建议注入方式 |
|---|---|---|
| R-001 | ✅ | FIS: aws:ec2:terminate-instances(EC2 故障) |
| R-002 | ✅ | FIS: aws:rds:failover-db-cluster(Aurora 故障转移) |
| R-003 | ✅ | FIS: aws:elasticache:interrupt-cluster-az-power(缓存 AZ 故障) |
| R-004 | ✅ | FIS: aws:network:disrupt-connectivity(AZ 网络中断) |
A.4 多区域架构(如全球 SaaS 平台)
元数据:
架构模式: 多区域
主要区域: us-east-1
其他区域: eu-west-1, ap-southeast-1资源清单需包含多区域资源:
| 资源 ID | 类型 | ARN | 备注 |
|---|---|---|---|
| global-table | DynamoDB 表 | arn:aws:dynamodb:us-east-1:123456789012:table/global-table | 全局表,3 区域 |
| primary-db | Aurora Global Database | arn:aws:rds:us-east-1:123456789012:global-cluster:my-global-db | 主集群 us-east-1 |
| dns-zone | Route53 托管区 | arn:aws:route53:::hostedzone/Z1234567 | 故障转移路由策略 |
典型可实验风险:
| 风险 ID | 可实验 | 建议注入方式 |
|---|---|---|
| R-001 | ✅ | FIS: aws:dynamodb:global-table-pause-replication(跨区域复制中断) |
| R-002 | ✅ | FIS: aws:s3:bucket-pause-replication(S3 复制中断) |
| R-003 | ✅ | FIS: aws:network:route-table-disrupt-cross-region-connectivity(跨区域网络) |
| R-004 | ✅ | FIS: aws:arc:start-zonal-autoshift(AZ 自动流量迁移) |
本规范由 chaos-engineering-on-aws skill 定义,反馈给 aws-resilience-modeling skill 设计者 版本:1.2 | 日期:2026-03-23
Chaos Engineering Input Specification Template
Purpose: This document defines the structured input format required by the
chaos-engineering-on-awsskill. Theaws-resilience-modelingskill should organize report content according to this specification when generating resilience assessment reports, ensuring the chaos engineering phase can directly consume the data.Two Output Methods (choose one): 1. Standalone File Mode (Recommended): Generate a separate
{project}-chaos-input-{date}.md. The main report should only include a brief reference, without duplicating the full data. 2. Embedded Mode: Add a## Chaos Engineering Ready Dataappendix section at the end of the existing assessment report (only when user explicitly requests embedding)Method 1 is recommended (standalone file, easier for downstream
chaos-engineering-on-awsskill to consume directly, and keeps the main report concise)This specification defines structure (table headers + fields + enum values) and is not tied to any specific system. Appendix A provides fill-in examples for different architecture patterns.
1. Why Is This Specification Needed?
Assessment free-format Markdown reports are designed for human reading, but the Chaos Engineering Skill needs consistent structure to automate the following steps:
- Filter experimentable risks from the risk inventory
- Map logical resource names to actual AWS resources (ARN)
- Generate FIS / Chaos Mesh experiment configurations
- Set steady-state hypothesis thresholds and stop conditions
Issues with Current Assessment Output:
| Current State | Improvement Required |
|---|---|
| Risk descriptions are free text | Unified enum classification (SPOF / Excessive Load / Misconfiguration / Shared Fate / Excessive Latency) |
| AWS resources scattered throughout | Unified resource inventory table with complete ARNs |
| RTO says "Unknown" / "Unrecoverable" | Use Unknown or N/A, with units uniformly in seconds |
| No "can we experiment" marker | Each risk marked for experiment readiness + reason |
| No suggested injection method | High/critical risks include suggested FIS action or Chaos Mesh CRD |
| No structured monitoring capability description | Unified monitoring readiness section |
2. Specification Definition
The following are structured sections that should be included in Assessment reports. Table headers and field names are fixed; content is filled based on the customer's actual environment.
2.1 Project Metadata
Place at the beginning of the report.
| Field | Required | Format | Description |
|---|---|---|---|
| Project Name | Yes | Free text | Customer system name |
| Assessment Date | Yes | YYYY-MM-DD | -- |
| AWS Account | Yes | 12-digit number | Multiple accounts comma-separated |
| Primary Region | Yes | AWS region code | e.g., us-east-1, ap-northeast-1 |
| Other Regions | No | Comma-separated | Fill for multi-region architectures |
| Environment Type | Yes | production / staging / development | -- |
| Architecture Pattern | Yes | See enum below | Helps the Chaos Engineering Skill select experiment strategies |
| Overall Resilience Score | Yes | X.X / 5.0 | 1.0-5.0 |
Architecture Pattern Enum:
| Architecture Pattern | Typical Components | Chaos Engineering Focus |
|---|---|---|
EKS Microservices | EKS + ALB + RDS/DynamoDB | Pod failures, inter-service network, database failover |
ECS Containerized | ECS/Fargate + ALB + RDS | Task failures, service discovery, database HA |
Serverless | API Gateway + Lambda + DynamoDB + SQS/SNS | Lambda latency/errors, queue backlog, DDB throttling |
Traditional EC2 | EC2 + ALB/NLB + RDS + ElastiCache | Instance termination, AZ failure, database failover |
Multi-Region | Any of the above + Route53 + cross-region replication | Region failover, replication lag, DNS switching |
Hybrid | Multiple combinations above | Design experiments per layer |
2.2 AWS Resource Inventory
Core input -- FIS experiments cannot be created without ARNs. List all AWS resources involved in the assessment.
Fixed Table Headers:
| Resource ID | Type | ARN | Name | Availability Zone | Status | Notes |
|---|---|---|---|---|---|---|
| (instance/cluster/table ID) | (standard type name) | (complete ARN) | (resource name or tag) | (AZ or AZ list) | (running/active etc.) | (key assessment findings) |
Standard Resource Type Names (prefer the following names; if the customer uses an AWS service not on this list, add the type name as needed, format: {Service} {Resource}):
| Category | Standard Names |
|---|---|
| Compute | EC2 Instance / EKS Cluster / EKS Node Group / ECS Cluster / ECS Service / Fargate Task / Lambda Function / Auto Scaling Group |
| Network | ALB / NLB / Target Group / CloudFront / API Gateway / NAT Gateway / VPC / Subnet / Security Group / Route53 Hosted Zone / Transit Gateway |
| Database | RDS Cluster / RDS Instance / Aurora Global Database / DynamoDB Table / ElastiCache Cluster / MemoryDB Cluster / Neptune Cluster |
| Storage | S3 Bucket / EBS Volume / EFS File System |
| Messaging | SQS Queue / SNS Topic / Kinesis Data Stream / EventBridge Rule |
| Other | Step Functions State Machine / Cognito User Pool / Secrets Manager |
2.3 Critical Business Functions and Dependency Chains
List the system's critical business functions, dependency component chains, and RTO/RPO.
Fixed Table Headers:
| Business Function | Importance | Dependency Chain (Resource IDs) | Current RTO | Target RTO | Current RPO | Target RPO |
|---|---|---|---|---|---|---|
| (function name) | (importance marker) | (ID -> ID -> ID) | (seconds/Unknown/N/A) | (seconds) | (seconds/Unknown/N/A) | (seconds/N/A) |
Field Specifications:
| Field | Values | Description |
|---|---|---|
| Importance | Critical / High / Medium / Low | Corresponding to critical/high/medium/low |
| Dependency Chain | Resource IDs connected with -> | References resource IDs from Section 2.2 |
| RTO/RPO | Number + s (seconds) or Unknown or N/A | Units uniformly in seconds. Unknown = never tested; N/A = dimension not applicable |
2.4 Risk Inventory (With Experiment-Readiness Flags)
Add two columns to the existing risk inventory:
TestableandSuggested Injection Method.
Fixed Table Headers:
| Risk ID | Risk Description | Failure Category | Severity | Probability | Impact | Detection Difficulty | Remediation Complexity | Risk Score | Testable | Suggested Injection Method |
|---|---|---|---|---|---|---|---|---|---|---|
| R-XXX | (description) | (category) | (severity) | 1-5 | 1-5 | 1-5 | 1-5 | (score) | (flag) | (tool: action) |
Field Enum Values:
| Field | Values | Description |
|---|---|---|
| Failure Category | SPOF / Excessive Load / Excessive Latency / Misconfiguration / Shared Fate / Other: {custom} | From AWS Resilience Analysis Framework. Use Other: {description} to extend beyond 5 categories |
| Severity | Critical / High / Medium / Low | -- |
| Testable | Yes / No ({reason}) / Conditional | Key field, assessment guide in Section 3 |
| Suggested Injection Method | FIS: {action} / ChaosMesh: {CRD} / Manual / -- | Quick reference in Section 4; fill -- if not testable |
2.5 Risk Details (Supplementary Info for Testable Risks)
For each risk with
Testable = Yes/Conditional, add the following structured content in the detailed analysis:
Required Sub-tables:
Involved Resources Table
| Resource ID | Type | ARN | Role in Experiment |
|---|---|---|---|
| (ID) | (type) | (ARN) | Injection Target / Observation Target / Impact Target |
Suggested Experiments Table
| Injection Tool | Action | Target Resource | Description | Prerequisites |
|---|---|---|---|---|
| FIS / ChaosMesh | (action ID or CRD type) | (resource ID) | (one-line description) | None or specific prerequisites |
Other Required Fields
- Affected Business Functions: Reference function names from Section 2.3
- Existing Mitigations: List or
None
2.6 Monitoring Readiness
New section. Chaos engineering requires monitoring to define steady-state hypotheses and stop conditions.
Fixed Structure:
## Monitoring Readiness
**Overall Readiness Status**: Ready / Partially Ready / Not ReadyExisting CloudWatch Alarms Table
| Alarm ARN | Metric | Threshold | Period | Usable as FIS Stop Condition |
|---|---|---|---|---|
| (ARN or "None") | -- | -- | -- | Yes / No |
Available CloudWatch Metrics Table
| Resource | Namespace | Available Metrics | Notes |
|---|---|---|---|
| (Resource ID) | (AWS/XXX) | (metric list) | -- |
Monitoring Gaps (List)
Readiness Status Criteria:
| Status | Condition | Chaos Engineering Recommendation |
|---|---|---|
| Ready | Core business functions have alarm coverage with available Stop Conditions | Can begin experiments directly |
| Partially Ready | Some alarms exist but core functions not fully covered | Supplement critical alarms before experimenting |
| Not Ready | No alarms or severe gaps | Must establish baseline monitoring first |
2.7 Resilience Scores (9 Dimensions)
Use fixed dimension names and 1-5 scoring.
Fixed Table Headers:
| Dimension | Score | Current Status (one sentence) |
|---|---|---|
| Redundancy Design | X/5 | (description) |
| AZ Fault Tolerance | X/5 | (description) |
| Timeout & Retry | X/5 | (description) |
| Circuit Breaker | X/5 | (description) |
| Auto Scaling | X/5 | (description) |
| Configuration Safeguards | X/5 | (description) |
| Fault Isolation | X/5 | (description) |
| Backup & Recovery | X/5 | (description) |
| Best Practices | X/5 | (description) |
Dimension names are fixed to the above 9 and cannot be modified or added/removed. If resilience issues outside these 9 dimensions are found, record them in free text after the scoring table.
2.8 Constraints and Preferences (Optional)
If the user mentions experiment preferences during the Assessment, record them here.
Fixed Table Headers:
| Constraint | Value | Notes |
|---|---|---|
| Preferred Experiment Environment | staging / production / development | -- |
| Production Experiments Allowed | Yes / No | -- |
| Maintenance Window | (description or cron) | -- |
| Maximum Blast Radius | Single Resource / Single AZ / Multi-AZ / Region | -- |
| Chaos Mesh Installed | Yes / No | -- |
| FIS IAM Role Created | Yes / No | -- |
| Notification Channel | (channel) | -- |
3. testable (Experiment-Readiness) Assessment Guide
For the Assessment Skill to determine whether each risk is suitable for chaos experiments:
| Condition | Testable | Description |
|---|---|---|
| Corresponding FIS action available for injection | Yes | e.g., EC2 termination, RDS failover, Lambda delay injection |
| Corresponding Chaos Mesh CRD available | Yes | e.g., Pod Kill, network delay, HTTP fault |
| Configuration issue with no runtime fault to inject | No | e.g., "EBS not encrypted", "logging not enabled", "missing alarm" |
| Requires fix or configuration before testing | Conditional | e.g., "DynamoDB needs PITR enabled before testing recovery" |
| Security/compliance related (not resilience) | No | e.g., "IAM permissions too broad", "no WAF" |
| Impact is irreversible | No | e.g., "delete the only data table without backup" |
| Lacks monitoring to observe results | Conditional | Prerequisite: establish baseline monitoring first |
4. Suggested Injection Method Quick Reference
For the Assessment Skill to recommend tools and actions for testable risks:
| Risk Pattern | Recommended Tool | Recommended Action |
|---|---|---|
| EC2 single point of failure | FIS | aws:ec2:terminate-instances or aws:ec2:stop-instances |
| AZ-level failure | FIS | aws:network:disrupt-connectivity |
| RDS/Aurora failover | FIS | aws:rds:failover-db-cluster |
| RDS instance failure | FIS | aws:rds:reboot-db-instances |
| DynamoDB cross-region replication | FIS | aws:dynamodb:global-table-pause-replication |
| Lambda delay | FIS | aws:lambda:invocation-add-delay |
| Lambda error | FIS | aws:lambda:invocation-error |
| EKS node failure | FIS | aws:eks:terminate-nodegroup-instances |
| ECS task failure | FIS | aws:ecs:stop-task |
| EBS storage failure | FIS | aws:ebs:pause-volume-io |
| ElastiCache AZ failure | FIS | aws:elasticache:interrupt-cluster-az-power |
| Spot instance interruption | FIS | aws:ec2:send-spot-instance-interruptions |
| API throttling | FIS | aws:fis:inject-api-throttle-error |
| S3 cross-region replication | FIS | aws:s3:bucket-pause-replication |
| K8s Pod failure | Chaos Mesh | PodChaos: pod-kill / pod-failure |
| Microservice network degradation | Chaos Mesh | NetworkChaos: delay / loss / partition |
| HTTP layer failure | Chaos Mesh | HTTPChaos: abort / delay |
| Resource contention | Chaos Mesh | StressChaos: cpu / memory |
| DNS failure | Chaos Mesh | DNSChaos: error / random |
| File IO failure | Chaos Mesh | IOChaos: latency / fault |
5. Assessment Output Checklist
After Assessment completion, verify output completeness against this checklist:
- [ ] Project metadata is complete (account ID, region, environment type, architecture pattern, resilience score)
- [ ] AWS resource inventory contains complete ARNs for all involved resources
- [ ] Business function table lists dependency chains and RTO/RPO (unit: seconds)
- [ ] Risk inventory includes
TestableandSuggested Injection Methodcolumns - [ ] All
Testable = Yes/Conditionalrisk details contain involved resources table and suggested experiments table - [ ] Monitoring readiness section is complete (readiness status + existing alarms + available metrics + gaps)
- [ ] Resilience scores 9-dimension table is complete, dimension names unchanged
- [ ] Constraints and preferences recorded (if user mentioned during assessment)
- [ ] Open findings section recorded (new findings beyond template framework)
6. Open Findings (Encouraging LLMs to Go Beyond the Template)
This specification defines minimum requirements, not capability limits. The following three open sections encourage Assessment and Chaos Skill LLMs to record findings beyond the template framework.
6.1 Assessment Phase: Additional Discovered Risks
If the Assessment LLM discovers risks that don't belong to the 5 standard failure categories, or risks without corresponding injection methods in the quick reference, do not discard them -- record them here.
## Additional Findings
### Risks Beyond Standard Classification
| Risk ID | Risk Description | Custom Category | Why Existing Classification Doesn't Apply | Suggested Verification Method (free text) |
|---------|-----------------|----------------|------------------------------------------|------------------------------------------|
| R-EXT-001 | Third-party API provider SLA is opaque | Supply Chain Risk | Not an AWS resource, doesn't fit 5 categories | Simulate third-party API timeout/errors, observe degradation behavior |
| R-EXT-002 | DNS TTL too long causing failover delay | Recovery Delay | Between "configuration" and "latency" | Modify TTL then use FIS to simulate AZ failure, measure actual switchover time |
### Risks Newly Discovered During Experiments
> New risks discovered by the Chaos Engineering Skill during experiment execution that were not identified during the Assessment phase. **Fill in this table after experiments.**
| Discovery Source (Experiment ID) | New Risk Description | Severity | Recommendation |
|--------------------------------|---------------------|----------|----------------|
| *(fill after experiment execution)* | | | |6.2 Custom Experiment Methods
If the LLM believes a risk can be verified through methods other than FIS / Chaos Mesh (e.g., AWS CLI scripts, SSM Run Command, custom Lambda, etc.), record here.
### Custom Experiment Suggestions
| Risk ID | Verification Method | Tool/Script | Description | Safety Risk |
|---------|-------------------|-------------|-------------|-------------|
| R-XXX | AWS CLI Script | `aws ec2 modify-instance-attribute --no-source-dest-check` | Modify network attribute and observe impact | Needs rollback |
| R-XXX | SSM Run Command | stress-ng memory stress | Inject stress directly on instance | Controllable impact scope |6.3 Architecture-Level Open Observations
Architecture-level observations discovered during the Assessment that don't directly correspond to a specific risk ID. For example: - Architecture anti-patterns (uncertain if they constitute risks) - Potential improvement opportunities (not risks but worth noting) - Gaps from industry best practices (not direct risks)
### Open Observations
1. **Observation**: EKS cluster uses managed node group but has not configured Cluster Autoscaler; may run out of resources during peaks
**Suggestion**: Consider adding load stress testing in chaos experiments to verify resilience boundaries
2. **Observation**: All microservices share a single DynamoDB table, lacking data isolation
**Suggestion**: Can be further assessed as a "Shared Fate" riskAppendix A: Fill-in Examples for Different Architecture Patterns
The following examples show how different types of customer systems fill in this specification. Only key differences are shown.
A.1 EKS Microservices Architecture (e.g., VotingApp)
Metadata:
Architecture Pattern: EKS MicroservicesTypical Resource Inventory Rows:
| Resource ID | Type | ARN | Notes |
|---|---|---|---|
| my-cluster | EKS Cluster | arn:aws:eks:us-east-2:123456789012:cluster/my-cluster | v1.32, 6 nodes |
| my-table | DynamoDB Table | arn:aws:dynamodb:us-east-2:123456789012:table/my-table | No PITR |
| nat-0abc123 | NAT Gateway | arn:aws:ec2:us-east-2:123456789012:natgateway/nat-0abc123 | Single AZ |
Typical Testable Risks:
| Risk ID | Testable | Suggested Injection Method |
|---|---|---|
| R-001 | Yes | FIS: aws:eks:terminate-nodegroup-instances |
| R-002 | Yes | ChaosMesh: PodChaos pod-kill |
| R-003 | Yes | ChaosMesh: NetworkChaos delay |
A.2 Serverless Architecture (e.g., E-Commerce Backend)
Metadata:
Architecture Pattern: ServerlessTypical Resource Inventory Rows:
| Resource ID | Type | ARN | Notes |
|---|---|---|---|
| order-api | API Gateway | arn:aws:apigateway:us-east-1::/restapis/abc123 | REST API |
| process-order | Lambda Function | arn:aws:lambda:us-east-1:123456789012:function:process-order | 128MB, 30s timeout |
| orders-table | DynamoDB Table | arn:aws:dynamodb:us-east-1:123456789012:table/orders | PAY_PER_REQUEST |
| order-events | SQS Queue | arn:aws:sqs:us-east-1:123456789012:order-events | Standard queue |
Typical Testable Risks:
| Risk ID | Testable | Suggested Injection Method |
|---|---|---|
| R-001 | Yes | FIS: aws:lambda:invocation-add-delay (Lambda cold start + delay) |
| R-002 | Yes | FIS: aws:fis:inject-api-throttle-error (API throttling) |
| R-003 | Yes | FIS: aws:dynamodb:global-table-pause-replication (DDB replication interruption) |
Typical Monitoring Readiness Differences:
- Serverless typically has built-in CloudWatch metrics (Lambda Duration/Errors/Throttles)
- Monitoring readiness is more likely to be Partially Ready
A.3 Traditional EC2 Three-Tier Architecture (e.g., Enterprise Internal System)
Metadata:
Architecture Pattern: Traditional EC2Typical Resource Inventory Rows:
| Resource ID | Type | ARN | Notes |
|---|---|---|---|
| i-0abc123 | EC2 Instance | arn:aws:ec2:ap-northeast-1:123456789012:instance/i-0abc123 | Web Server |
| my-alb | ALB | arn:aws:elasticloadbalancing:ap-northeast-1:123456789012:loadbalancer/app/my-alb/abc | Cross 2 AZs |
| my-db-cluster | RDS Cluster | arn:aws:rds:ap-northeast-1:123456789012:cluster:my-db-cluster | Aurora Multi-AZ |
| my-cache | ElastiCache Cluster | arn:aws:elasticache:ap-northeast-1:123456789012:replicationgroup:my-cache | Redis 3 nodes |
Typical Testable Risks:
| Risk ID | Testable | Suggested Injection Method |
|---|---|---|
| R-001 | Yes | FIS: aws:ec2:terminate-instances (EC2 failure) |
| R-002 | Yes | FIS: aws:rds:failover-db-cluster (Aurora failover) |
| R-003 | Yes | FIS: aws:elasticache:interrupt-cluster-az-power (Cache AZ failure) |
| R-004 | Yes | FIS: aws:network:disrupt-connectivity (AZ network disruption) |
A.4 Multi-Region Architecture (e.g., Global SaaS Platform)
Metadata:
Architecture Pattern: Multi-Region
Primary Region: us-east-1
Other Regions: eu-west-1, ap-southeast-1Resource inventory needs to include multi-region resources:
| Resource ID | Type | ARN | Notes |
|---|---|---|---|
| global-table | DynamoDB Table | arn:aws:dynamodb:us-east-1:123456789012:table/global-table | Global table, 3 regions |
| primary-db | Aurora Global Database | arn:aws:rds:us-east-1:123456789012:global-cluster:my-global-db | Primary cluster us-east-1 |
| dns-zone | Route53 Hosted Zone | arn:aws:route53:::hostedzone/Z1234567 | Failover routing policy |
Typical Testable Risks:
| Risk ID | Testable | Suggested Injection Method |
|---|---|---|
| R-001 | Yes | FIS: aws:dynamodb:global-table-pause-replication (Cross-region replication interruption) |
| R-002 | Yes | FIS: aws:s3:bucket-pause-replication (S3 replication interruption) |
| R-003 | Yes | FIS: aws:network:route-table-disrupt-cross-region-connectivity (Cross-region network) |
| R-004 | Yes | FIS: aws:arc:start-zonal-autoshift (AZ automatic traffic shift) |
This specification is defined by the chaos-engineering-on-aws skill, provided as feedback to the aws-resilience-modeling skill designers Version: 1.2 | Date: 2026-03-23
属于 AWS 韧性分析框架参考 的一部分。
3. 混沌工程方法论
3.1 核心定义
"混沌工程是通过在系统上进行实验来建立对系统能力的信心,使其能够承受生产环境中的动荡条件"
—— Principles of Chaos Engineering
目标:
- 发现系统弱点在造成实际影响前
- 建立对系统韧性的信心
- 验证监控和告警是否有效
- 改进事故响应流程
3.2 四步实验流程
步骤 1: 建立稳态基线
定义:
- "稳态"为可测量的系统输出
- 表示正常行为
示例:
- 请求成功率: > 99.9%
- P95 延迟: < 200ms
- 吞吐量: 1000 req/s
- 错误率: < 0.1%
步骤 2: 形成假设
预测:
- 稳态将在控制组和实验组中持续
- 基于系统理解
示例:
"假设:终止 2 个 EC2 实例后,
Auto Scaling 将在 5 分钟内恢复容量,
用户体验影响 < 1%"
步骤 3: 引入变量
模拟真实世界破坏:
- 服务器崩溃
- 网络故障
- 磁盘满
- 时钟偏移
评估影响:
- 观测稳态指标
- 记录系统行为
步骤 4: 验证或反驳
对比:
- 控制组 vs 实验组
- 识别稳态偏差
结果:
- 假设正确:系统韧性得到验证
- 假设错误:发现弱点,改进系统3.3 高级实施原则
| 原则 | 说明 | 实践 |
|---|---|---|
| 稳态关注 | 测量系统输出,而非内部机制 | 监控用户可见指标(延迟、错误) |
| 真实世界事件 | 变量应镜像实际运营中断 | 参考历史故障(EC2 故障、AZ 中断) |
| 生产测试 | "采样真实流量是唯一可靠方式" | 在生产环境中进行(受控) |
| 持续自动化 | 手动实验不可持续 | 自动化实现持续验证(每周/每月) |
| 控制爆炸半径 | 最小化客户影响 | 限制影响范围(单 AZ、10% 流量) |
3.4 常见混沌实验场景
AWS 环境常见场景:
| 实验类别 | 场景 | AWS FIS 操作 | 预期系统行为 |
|---|---|---|---|
| 实例故障 | 终止 EC2 实例 | aws:ec2:terminate-instances | Auto Scaling 自动替换 |
| 停止 EC2 实例 | aws:ec2:stop-instances | 健康检查失败,流量转移 | |
| 网络故障 | 网络延迟 | aws:ec2:api-network-latency | 请求超时,重试机制触发 |
| 网络丢包 | aws:ec2:api-packet-loss | 断路器打开,降级服务 | |
| AZ 故障 | 模拟 AZ 不可用 | 组合实验(终止所有 AZ 实例) | 流量转移到其他 AZ |
| 数据库 | RDS 故障转移 | aws:rds:failover-db-cluster | 应用自动重连,短暂中断 |
| 容器 | ECS 任务终止 | aws:ecs:stop-task | ECS 重启任务 |
| EKS Pod 删除 | aws:eks:pod-delete | Deployment 重建 Pod | |
| 资源耗尽 | CPU 压力 | aws:ec2:cpu-stress | Auto Scaling 扩容 |
| 内存压力 | aws:ec2:memory-stress | OOM kill,容器重启 | |
| 磁盘满 | aws:ec2:disk-fill | 告警触发,清理流程启动 |
3.5 AWS FIS 实验模板示例
实验 1:EC2 实例终止
{
"description": "Terminate 30% of EC2 instances to test Auto Scaling",
"targets": {
"ec2-instances": {
"resourceType": "aws:ec2:instance",
"resourceTags": {
"Environment": "production",
"AutoScaling": "enabled"
},
"filters": [
{
"path": "State.Name",
"values": ["running"]
}
],
"selectionMode": "PERCENT(30)"
}
},
"actions": {
"terminate-instances": {
"actionId": "aws:ec2:terminate-instances",
"parameters": {},
"targets": {
"Instances": "ec2-instances"
}
}
},
"stopConditions": [
{
"source": "aws:cloudwatch:alarm",
"value": "arn:aws:cloudwatch:us-east-1:123456789012:alarm:high-error-rate"
}
],
"roleArn": "arn:aws:iam::123456789012:role/FISExperimentRole",
"tags": {
"Name": "EC2-Instance-Termination-Test"
}
}实验 2:网络延迟注入
{
"description": "Inject 200ms latency to 50% of API calls",
"targets": {
"api-gw-targets": {
"resourceType": "aws:ec2:instance",
"resourceTags": {
"Service": "api-gateway"
},
"selectionMode": "PERCENT(50)"
}
},
"actions": {
"inject-latency": {
"actionId": "aws:ec2:api-network-latency",
"parameters": {
"duration": "PT10M",
"latencyMs": "200",
"jitterMs": "50",
"apiList": "ec2,rds,dynamodb"
},
"targets": {
"Instances": "api-gw-targets"
}
}
},
"stopConditions": [
{
"source": "aws:cloudwatch:alarm",
"value": "arn:aws:cloudwatch:us-east-1:123456789012:alarm:high-p95-latency"
}
],
"roleArn": "arn:aws:iam::123456789012:role/FISExperimentRole"
}实验 3:RDS 故障转移
{
"description": "Test RDS Multi-AZ failover",
"targets": {
"rds-cluster": {
"resourceType": "aws:rds:cluster",
"resourceArns": [
"arn:aws:rds:us-east-1:123456789012:cluster:production-db"
],
"selectionMode": "ALL"
}
},
"actions": {
"failover-cluster": {
"actionId": "aws:rds:failover-db-cluster",
"parameters": {
"targetInstance": "production-db-instance-2"
},
"targets": {
"Clusters": "rds-cluster"
}
}
},
"stopConditions": [
{
"source": "none"
}
],
"roleArn": "arn:aws:iam::123456789012:role/FISExperimentRole",
"tags": {
"Name": "RDS-Failover-Test",
"Frequency": "monthly"
}
}Part of the AWS Resilience Analysis Framework Reference.
3. Chaos Engineering Methodology
3.1 Core Definition
"Chaos Engineering is the discipline of experimenting on a system to build confidence in the system's capability to withstand turbulent conditions in production."
-- Principles of Chaos Engineering
Goals:
- Discover system weaknesses before they cause real impact
- Build confidence in system resilience
- Verify monitoring and alerting effectiveness
- Improve incident response processes
3.2 Four-Step Experiment Process
Step 1: Establish Steady-State Baseline
Definition:
- "Steady state" is a measurable system output
- Represents normal behavior
Examples:
- Request success rate: > 99.9%
- P95 latency: < 200ms
- Throughput: 1000 req/s
- Error rate: < 0.1%
Step 2: Form Hypothesis
Prediction:
- Steady state will continue in both control and experimental groups
- Based on system understanding
Example:
"Hypothesis: After terminating 2 EC2 instances,
Auto Scaling will restore capacity within 5 minutes,
user experience impact < 1%"
Step 3: Introduce Variables
Simulate Real-World Disruptions:
- Server crashes
- Network failures
- Disk full
- Clock skew
Assess Impact:
- Observe steady-state metrics
- Record system behavior
Step 4: Validate or Refute
Compare:
- Control group vs. experimental group
- Identify steady-state deviations
Results:
- Hypothesis correct: System resilience verified
- Hypothesis incorrect: Weakness discovered, improve system3.3 Advanced Implementation Principles
| Principle | Description | Practice |
|---|---|---|
| Steady-State Focus | Measure system output, not internal mechanics | Monitor user-visible metrics (latency, errors) |
| Real-World Events | Variables should mirror actual operational disruptions | Reference historical failures (EC2 failures, AZ outages) |
| Production Testing | "Sampling real traffic is the only reliable approach" | Test in production (controlled) |
| Continuous Automation | Manual experiments are not sustainable | Automate for continuous verification (weekly/monthly) |
| Control Blast Radius | Minimize customer impact | Limit impact scope (single AZ, 10% traffic) |
3.4 Common Chaos Experiment Scenarios
Common AWS Scenarios:
| Experiment Category | Scenario | AWS FIS Action | Expected System Behavior |
|---|---|---|---|
| Instance Failure | Terminate EC2 instances | aws:ec2:terminate-instances | Auto Scaling automatically replaces |
| Stop EC2 instances | aws:ec2:stop-instances | Health check fails, traffic shifts | |
| Network Failure | Network latency | aws:ec2:api-network-latency | Request timeout, retry mechanism triggers |
| Packet loss | aws:ec2:api-packet-loss | Circuit breaker opens, service degrades | |
| AZ Failure | Simulate AZ unavailability | Combined experiment (terminate all AZ instances) | Traffic shifts to other AZs |
| Database | RDS failover | aws:rds:failover-db-cluster | Application auto-reconnects, brief interruption |
| Containers | ECS task termination | aws:ecs:stop-task | ECS restarts task |
| EKS Pod deletion | aws:eks:pod-delete | Deployment rebuilds Pod | |
| Resource Exhaustion | CPU stress | aws:ec2:cpu-stress | Auto Scaling scales out |
| Memory stress | aws:ec2:memory-stress | OOM kill, container restarts | |
| Disk full | aws:ec2:disk-fill | Alert triggers, cleanup process starts |
3.5 AWS FIS Experiment Template Examples
Experiment 1: EC2 Instance Termination
{
"description": "Terminate 30% of EC2 instances to test Auto Scaling",
"targets": {
"ec2-instances": {
"resourceType": "aws:ec2:instance",
"resourceTags": {
"Environment": "production",
"AutoScaling": "enabled"
},
"filters": [
{
"path": "State.Name",
"values": ["running"]
}
],
"selectionMode": "PERCENT(30)"
}
},
"actions": {
"terminate-instances": {
"actionId": "aws:ec2:terminate-instances",
"parameters": {},
"targets": {
"Instances": "ec2-instances"
}
}
},
"stopConditions": [
{
"source": "aws:cloudwatch:alarm",
"value": "arn:aws:cloudwatch:us-east-1:123456789012:alarm:high-error-rate"
}
],
"roleArn": "arn:aws:iam::123456789012:role/FISExperimentRole",
"tags": {
"Name": "EC2-Instance-Termination-Test"
}
}Experiment 2: Network Latency Injection
{
"description": "Inject 200ms latency to 50% of API calls",
"targets": {
"api-gw-targets": {
"resourceType": "aws:ec2:instance",
"resourceTags": {
"Service": "api-gateway"
},
"selectionMode": "PERCENT(50)"
}
},
"actions": {
"inject-latency": {
"actionId": "aws:ec2:api-network-latency",
"parameters": {
"duration": "PT10M",
"latencyMs": "200",
"jitterMs": "50",
"apiList": "ec2,rds,dynamodb"
},
"targets": {
"Instances": "api-gw-targets"
}
}
},
"stopConditions": [
{
"source": "aws:cloudwatch:alarm",
"value": "arn:aws:cloudwatch:us-east-1:123456789012:alarm:high-p95-latency"
}
],
"roleArn": "arn:aws:iam::123456789012:role/FISExperimentRole"
}Experiment 3: RDS Failover
{
"description": "Test RDS Multi-AZ failover",
"targets": {
"rds-cluster": {
"resourceType": "aws:rds:cluster",
"resourceArns": [
"arn:aws:rds:us-east-1:123456789012:cluster:production-db"
],
"selectionMode": "ALL"
}
},
"actions": {
"failover-cluster": {
"actionId": "aws:rds:failover-db-cluster",
"parameters": {
"targetInstance": "production-db-instance-2"
},
"targets": {
"Clusters": "rds-cluster"
}
}
},
"stopConditions": [
{
"source": "none"
}
],
"roleArn": "arn:aws:iam::123456789012:role/FISExperimentRole",
"tags": {
"Name": "RDS-Failover-Test",
"Frequency": "monthly"
}
}合规框架映射
将韧性分析任务映射到合规框架的参考指引。这不是正式的合规认证。
| 合规框架 | 相关控制域 | 映射到分析任务 |
|---|---|---|
| SOC2 CC7.x(系统运营) | 监控、事件响应、变更管理 | 任务 2(故障模式)、任务 5(风险排序) |
| SOC2 CC9.x(风险缓解) | 风险评估、缓解策略 | 任务 5(风险)、任务 6(缓解) |
| ISO 27001 A.17(业务连续性) | BC 规划、DR 实施、测试 | 任务 4(业务影响)、任务 6(缓解) |
| NIST CSF PR(保护) | 保护性技术、数据安全 | 任务 1(架构)、任务 3(评估) |
| NIST CSF DE/RS/RC(检测/响应/恢复) | 检测、响应、恢复 | 任务 2、5、6、8 |
使用说明
- 此映射为参考指引,帮助识别哪些分析任务与特定合规要求相关
- 不构成正式的合规认证或审计证据
- 某些合规要求可能限制架构选项(如数据驻留)
- 确保 DR 策略符合审计要求
- 文档和审计跟踪对合规至关重要
Compliance Framework Mapping
Reference guide for mapping resilience analysis tasks to compliance frameworks. This is not a formal compliance certification.
| Compliance Framework | Relevant Control Areas | Mapping to Analysis Tasks |
|---|---|---|
| SOC2 CC7.x (System Operations) | Monitoring, incident response, change management | Task 2 (Failure Modes), Task 5 (Risk Prioritization) |
| SOC2 CC9.x (Risk Mitigation) | Risk assessment, mitigation strategies | Task 5 (Risk), Task 6 (Mitigation) |
| ISO 27001 A.17 (Business Continuity) | BC planning, DR implementation, testing | Task 4 (Business Impact), Task 6 (Mitigation) |
| NIST CSF PR (Protect) | Protective technology, data security | Task 1 (Architecture), Task 3 (Assessment) |
| NIST CSF DE/RS/RC (Detect/Respond/Recover) | Detection, response, recovery | Task 2, Task 5, Task 6, Task 8 |
Usage Notes
- This mapping is a reference guide to help identify which analysis tasks are relevant for specific compliance requirements
- It does not constitute formal compliance certification or audit evidence
- Certain compliance requirements may limit architecture options (e.g., data residency)
- Ensure DR strategies meet audit requirements
- Documentation and audit trails are critical for compliance
AWS 韧性分析框架 - 参考文件索引
本文档是韧性分析详细参考资料的索引。每个部分作为独立文件维护,按需加载。
参考文件
| # | 文件 | 何时读取 | 说明 | 行数 |
|---|---|---|---|---|
| 1 | analysis-tasks_zh.md | 执行任务 1-8 时 | 8 个分析任务的详细指令,含评分维度、RMA 交叉映射、风险矩阵 | ~200 行 |
| 2 | waf-reliability-pillar_zh.md | 任务 2、任务 3 DR 评估、成本估算 | AWS WAF 可靠性支柱、4 种 DR 策略、多 AZ/多 Region、DR 成本基线 | ~510 行 |
| 3 | resilience-analysis-core_zh.md | 任务 2 故障模式、任务 3 评分、任务 8 复盘 | Error Budget、SLI/SLO/SLA、黄金信号、告警、事后复盘 | ~510 行 |
| 4 | chaos-engineering-methodology_zh.md | 混沌工程测试计划输出 | 4 步实验流程、AWS FIS 模板、常见场景 | ~212 行 |
| 5 | observability-standards_zh.md | 任务 1 监控缺口、任务 3 可观测性评估 | OpenTelemetry、日志/指标/链路、健康模型 | ~395 行 |
| 6 | cloud-design-patterns_zh.md | 任务 2 设计模式评估、任务 6 缓解 | 舱壁、熔断器、重试、队列负载平衡、限流 | ~282 行 |
| 7 | compliance-mapping_zh.md | 合规要求在范围内时 | SOC2、ISO 27001、NIST CSF 到分析任务的映射 | ~25 行 |
| 8 | common-risks-reference_zh.md | 任务 2、任务 5 风险识别 | 常见 AWS 韧性风险和模式 | ~305 行 |
| 9 | assessment-output-spec_zh.md | 生成混沌工程就绪数据输出 | 8 节结构化输出格式,供 chaos-engineering-on-aws 消费 | ~471 行 |
| 10 | report-generation_zh.md | 最终报告生成步骤 | 报告流程、Python 模板代码、质量检查清单 | ~366 行 |
| 11 | HTML-TEMPLATE-USAGE_zh.md | 生成 HTML 交互式报告 | HTML 模板使用、数据填充、Chart.js 配置 | ~482 行 |
| 12 | MCP_SETUP_GUIDE_zh.md | MCP 服务器安装和配置 | 详细 MCP 服务器配置指南、Region/Profile 配置 | ~506 行 |
使用方法
仅加载与当前分析任务相关的参考文件,不要一次性加载所有文件。
按任务快速查找:
- 任务 1(架构映射)→
observability-standards_zh.md检查监控缺口 - 任务 2(故障模式)→
resilience-analysis-core_zh.md、common-risks-reference_zh.md、cloud-design-patterns_zh.md - 任务 3(韧性评分)→
analysis-tasks_zh.md获取评分维度和 RMA 交叉映射 - 任务 4(业务影响)→
waf-reliability-pillar_zh.md获取 RTO/RPO 和 DR 策略 - 任务 5(风险排序)→
analysis-tasks_zh.md获取风险评分矩阵 - 任务 6(缓解策略)→
cloud-design-patterns_zh.md、waf-reliability-pillar_zh.md - 任务 7(路线图)→
analysis-tasks_zh.md获取分阶段计划结构 - 任务 8(持续改进)→
resilience-analysis-core_zh.md获取 SLI/SLO 和复盘 - 混沌工程输出 →
assessment-output-spec_zh.md - 合规 →
compliance-mapping_zh.md - 报告生成 →
report-generation_zh.md、HTML-TEMPLATE-USAGE_zh.md
AWS Resilience Analysis Framework - Reference Index
This document serves as an index to the detailed resilience analysis reference materials. Each section is maintained as a separate file for efficient access.
Reference Files
| # | File | When to Read | Description | Size |
|---|---|---|---|---|
| 1 | analysis-tasks.md | Executing any Task 1-8 | Detailed instructions for all 8 analysis tasks, including scoring dimensions, RMA cross-mapping, risk matrices | ~200 lines |
| 2 | waf-reliability-pillar.md | Task 2, Task 3 DR assessment, cost estimation | AWS WAF Reliability Pillar, 4 DR strategies, Multi-AZ/Multi-Region, DR cost baselines | ~510 lines |
| 3 | resilience-analysis-core.md | Task 2 failure modes, Task 3 scoring, Task 8 postmortem | Error budget, SLI/SLO/SLA, 4 golden signals, alerting, postmortem culture | ~509 lines |
| 4 | chaos-engineering-methodology.md | Chaos Engineering test plan output | 4-step experiment process, AWS FIS templates, common scenarios | ~212 lines |
| 5 | observability-standards.md | Task 1 monitoring gaps, Task 3 observability assessment | OpenTelemetry, logs/metrics/traces, health models | ~392 lines |
| 6 | cloud-design-patterns.md | Task 2 design pattern evaluation, Task 6 mitigation | Bulkhead, circuit breaker, retry, queue-based load leveling, throttling | ~243 lines |
| 7 | compliance-mapping.md | When compliance requirements are in scope | SOC2, ISO 27001, NIST CSF mapping to analysis tasks | ~25 lines |
| 8 | common-risks-reference.md | Task 2, Task 5 risk identification | Common AWS resilience risks and patterns | ~305 lines |
| 9 | assessment-output-spec.md | Generating Chaos Engineering Ready Data output | 8-section structured output format for chaos-engineering-on-aws consumption | ~471 lines |
| 10 | report-generation.md | Final report generation step | Report workflow, Python template code, quality checklist | ~367 lines |
| 11 | HTML-TEMPLATE-USAGE.md | Generating HTML interactive report | HTML template usage, data population, Chart.js configuration | ~487 lines |
| 12 | MCP_SETUP_GUIDE.md | MCP server installation and configuration | Detailed MCP server setup instructions, region/profile configuration | ~506 lines |
How to Use
Load only the specific reference file relevant to your current analysis task. Do not load all files at once.
Quick lookup by task:
- Task 1 (Architecture Mapping) →
observability-standards.mdfor monitoring gaps - Task 2 (Failure Modes) →
resilience-analysis-core.md,common-risks-reference.md,cloud-design-patterns.md - Task 3 (Resilience Rating) →
analysis-tasks.mdfor scoring dimensions and RMA cross-mapping - Task 4 (Business Impact) →
waf-reliability-pillar.mdfor RTO/RPO and DR strategies - Task 5 (Risk Prioritization) →
analysis-tasks.mdfor risk scoring matrix - Task 6 (Mitigation) →
cloud-design-patterns.md,waf-reliability-pillar.md - Task 7 (Roadmap) →
analysis-tasks.mdfor phased plan structure - Task 8 (Continuous Improvement) →
resilience-analysis-core.mdfor SLI/SLO and postmortem - Chaos Engineering Output →
assessment-output-spec.md - Compliance →
compliance-mapping.md - Report Generation →
report-generation.md,HTML-TEMPLATE-USAGE.md
Which skills are related to aws-resilience-modeling?
Aws Resilience Modeling skill FAQ
Who is the Aws Resilience Modeling skill for?
Architects and SREs assessing AWS system resilience and disaster-recovery readiness. Skip if: Environments requiring write access, since all analysis runs strictly read-only.
When should I use aws-resilience-modeling?
Performing architecture analysis, identifying failure modes, mapping dependencies, or creating disaster-recovery plans.
Does aws-resilience-modeling need MCP servers?
No. If MCP is not configured it falls back to analyzing IaC code, architecture documentation, or interactive Q&A.
Is it safe to run against production?
Yes. All MCP servers run in read-only mode using only Describe, Get, and List calls.
Add a aws-resilience-modeling badge
Show developers this skill is listed on Skillselion. Paste this into your README.