用途
本技能用于诊断阿里云 ECS 的快照与备份相关问题,覆盖五个独立诊断轴向:
- snapshot-policy-check:检查快照策略配置,属于受限写操作轴向。
- snapshot-io-impact:分析快照对磁盘 IO 的影响,属于受限写操作轴向。
- snapshot-consistency-group:检查一致性组,只读查询。
- snapshot-rollback-guide:提供回滚流程指导,属于受限写操作轴向。
- backup-strategy-design:设计备份策略,只读查询。
主要能力与执行原则
技能默认仅执行查询操作,不创建、修改或删除任何云资源。被标记为 gated(受限)的轴向在执行写操作前,必须停止并等待客户通过 --confirm 流程显式确认具体动作。所有结论必须引用真实的命令输出;若查询失败或无返回,必须明确说明,禁止声称“已验证/已执行”而没有实际输出痕迹。技能禁止将执行环境内部信息泄露到面向客户的报告中。
凭证仅使用默认链(环境变量 / CLI profile / 凭证文件),不得打印或硬编码 AK/SK,禁止读取 ~/.aliyun/config.json、~/.aliyun/ 或相关凭证环境变量来绕过认证失败。认证失败时返回 CREDENTIAL-FAIL-CLOSED 并附上客户自查步骤,退出码为 3,然后停止,不得用猜测的云状态替代缺失的读取结果。
客户同意与门禁
在客户实例内执行读取命令(即通过 Cloud Assistant RunCommand 执行的命令)默认关闭。此类命令即使不改变任何状态,也会暴露客户的防火墙、监听端口、账户和文件信息,并在其任务历史中留下记录。因此,必须在当轮对话中就该具体命令取得客户同意后,才可向入口命令传入 --allow-guest-read。缺少同意时,调度器会剥离该轴向的 guest 激活标志,打印 CONSENT-REQUIRED 并指明被拒绝的命令;此时云端 Describe/Get 读取仍会执行,但相应层面会被标记为未验证。不得因为 guest 读取未执行就将该层描述为干净。不得自行决定重新运行带 --allow-guest-read 的命令;若客户拒绝,应报告受影响层为未验证,并提供命令供客户自行运行。
使用方式
根据症状将问题归入一个轴向,运行对应入口命令,例如:
python3 scripts/snapshot-and-backup.py --axis snapshot-policy-check -- <args>
入口命令保留 scripts/ 前缀原样。随后按照 references/axes/<axis>.md 中的轴向规格执行。一次报告只处理一个轴向,不混合多个轴向。所需输入参数(region id / instance id / uid 等)按轴向规格提供;若缺失,向客户询问一次,不得猜测。
可观测性
每次运行生成一个 32 位十六进制会话 ID,所有 CLI/API 调用均附带 User-Agent 模板 AlibabaCloud-Agent-Skills/{skill}/{session-id} skill-version/{skill-version}。
适用场景
适用于诊断 ECS 快照策略配置、评估快照对 IO 的影响、检查一致性组、获取回滚流程指导以及设计备份策略。
限制
不适用于以下场景:执行快照回滚、删除快照或容量清理(应使用 alibabacloud-ebs-disk-snapshot-management)、快照计费争议与套餐购买、扩容后的磁盘扩展、实例启动失败、磁盘 IO 性能问题、快照创建失败(应使用 alibabacloud-ecs-snapshot-policy-check)、快照费用与存储包、单盘快照管理、实例内挂载错误、安全事件、连接故障、磁盘调整大小以及账户计费事项。