运行时依赖
安装命令
点击复制技能文档
AWS 服务特定混乱与高可用性测试研究 为特定 AWS 服务生成全面混乱工程和高可用性测试场景。 使用场景库优先方法:首先阅读最新的 FIS 场景库文档以获取预建的复合场景,然后通过 list-actions 查询个别 FIS 操作,最后通过深入文档研究进行补充。
输出语言规则 检测用户对话的语言并使用相同语言输出所有内容。 中文输入 -> 中文输出 英文输入 -> 英文输出 混合 -> 跟随主导语言
先决条件 所需工具(每组至少一个): FIS 场景库(组 A — 基于文档,始终可用): aws___read_documentation — 直接读取 FIS 场景库页面(场景仅限控制台,无法通过 CLI 查询,因此阅读最新文档是发现它们的唯一方法) FIS 操作发现(组 B — 按首选顺序使用): AWS CLI aws fis list-actions — 来自用户区域的 FIS 操作的最终、实时列表 aws___search_documentation — 当 CLI 不可用时的 FIS 操作参考页面作为回退 文档研究(组 C): aws___search_documentation — 搜索 AWS 官方文档 aws___read_documentation — 阅读完整文档页面 aws___recommend — 发现相关页面 所有文档研究仅使用上述 AWS 知识 MCP 工具。 不要使用 SearXNG 或其他 Web 搜索工具进行文档研究。
工作流 CRITICAL — 所有 AWS 知识 MCP 调用的顺序执行: 所有对 aws___search_documentation、aws___read_documentation 和 aws___recommend 的调用必须一个接一个地执行。 永远不要并行发送多个 MCP 请求 — aws-knowledge-mcp-server 有严格的速率限制,并且会以“Too many requests”错误拒绝并发请求。 等待每个请求返回完整响应后再发送下一个请求。 这适用于以下所有步骤(步骤 2、4b、4c、5a、5b)。 在失败时重试: 如果任何 MCP 调用(尤其是 aws___read_documentation)返回速率限制错误(“Too many requests”)或任何其他暂时性错误,请最多重试 10 次,每次重试之间等待 5 秒。 仅在所有 10 次重试都失败后才跳过请求。 多服务请求: 当用户询问多个服务(例如“EKS、RDS、MSK 和 ElastiCache”)时,一个服务一个服务地处理。 在开始下一个服务之前,完成一个服务的所有研究步骤(步骤 2-5)。 不要为多个服务启动并行研究 — 这将触发速率限制。 场景库获取(步骤 2)只需要运行一次,因为它涵盖了所有服务; 每个服务的步骤(3-5)必须按顺序重复。
步骤 1:识别目标服务 从用户的消息中提取目标 AWS 服务并确定目标区域。
区域检测 FIS 操作可能会在不同的 AWS 区域之间有所不同 — 一些操作可能在 us-east-1 中可用,但在 ap-southeast-1 中尚不可用。 始终首先确定目标区域,因为服务关键字解析取决于它。 检测顺序(使用第一个适用项): 用户显式指定 — 例如“us-west-2”、“东京区域”、“ap-northeast-1” 从上下文推断 — 资源 ARN、之前的对话中提到区域 检查 AWS CLI 默认 — 运行 aws configure get region 获取配置的默认值 询问用户 — 如果上述任何方法都无法提供区域,请询问:“您针对哪个 AWS 区域?FIS 操作和场景可能会因区域而异。” 将解析的区域存储为 TARGET_REGION,以便在后续步骤中使用。
服务关键字解析 FIS 操作 ID 遵循 aws:: 模式。 为了将用户的输入映射到正确的 FIS 服务关键字,请使用来自实时 FIS 操作列表的动态发现: aws fis list-actions --region TARGET_REGION | jq '.actions[].id' | awk -F':' '{print $2}' | sort -u 这将返回该区域中 FIS 支持的服务关键字的最终列表(例如 ebs、ec2、ecs、eks、elasticache、fis、network、rds、s3、ssm...)。 将用户的服务名称与此列表进行匹配。 例如,如果用户说“Aurora”,则将其匹配到 rds;如果“Kubernetes”,则将其匹配到 eks。 如果 AWS CLI 不可用,则通过将 AWS 服务名称小写并删除空格/连字符来推导关键字(例如“ElastiCache”-> elasticache)。 如果服务存在歧义,请询问用户澄清(例如“RDS MySQL 还是 Aurora MySQL?”)。 还确定部署架构(如果用户提到): 多可用区、多区域、单可用区 只读副本、全局表、跨区域复制 这会影响哪些场景相关
步骤 2:获取 FIS 场景库(场景库优先) 此步骤具有最高优先级。 FIS 场景库提供 AWS 编制的复合场景,这些场景将多个故障注入操作编排成现实的故障模拟。 这些是最有价值的起点,因为它们代表 AWS 自己的推荐。