用途:当用户需要准备、创建或生成 AWS FIS(Fault Injection Service)实验配置时使用,最终产出一个自包含目录,内含经过校验并已部署、可直接执行的实验模板。核心原则是先校验资源与动作兼容性再生成文件,不交付未测试配置,先部署并自愈。
主要能力:按场景分类(场景库、自定义 FIS 动作、ElastiCache 自定义动作、SSM Automation);发现目标资源;校验资源-动作兼容性;确定监控配置(停止条件默认 source 为 none,仪表盘按服务分组指标);生成 cfn-template.yaml 与 README.md;执行 CFN 权限预检;部署并自愈重试(最多 5 次);成功后提取堆栈输出并重命名输出目录。
使用方式:需 AWS CLI、文档检索工具与 jq。脚本通过 ${SKILL_DIR} 引用技能目录绝对路径。EKS Pod 动作需集群认证模式为 API_AND_CONFIG_MAP 或 API,检查命令:aws eks describe-cluster --name {CLUSTER} --query 'cluster.accessConfig.authenticationMode'。自定义动作查询:aws fis get-action --id "ACTION_ID" --region TARGET_REGION。部署脚本:"${SKILL_DIR}/scripts/deploy-with-retry.sh" "${OUTPUT_DIR}/cfn-template.yaml" "${STACK_NAME}" "${TARGET_REGION}" "${CFN_ROLE_ARN}" "ExperimentName=${EXPERIMENT_NAME}" "RandomSuffix=${RANDOM_SUFFIX}"。输出语言跟随用户对话语言。
适用场景:AZ 断电、AZ 应用变慢、跨 AZ/区域场景、自定义 FIS 动作、ElastiCache Redis/Valkey、Amazon MSK 等无原生 FIS 动作的服务。
限制:场景库模板无法通过 FIS API 生成,必须读取对应文档提取 JSON;resourceArns 与 filters 互斥;部分资源类型不支持 resourceArns 需用 resourceTags;EKS Pod 动作有额外 RBAC 与访问条目要求;未文档化的服务需停止并告知用户。