用途:自动诊断阿里云 ECS 实例与 VPC 云服务的公网连通性,仅做只读查询,不创建、修改、删除或重启任何资源。
主要能力:一、ECS 公网诊断,检查公网 IP 可达性与安全组阻断;无公网 IP 的实例自动按 NAT 网关出方向路径(脚本自行判定 Branch A/Branch B)。二、VPC 云服务公网诊断,检查 VSwitch 后云服务(DataWorks / SAE / ACK 等)的公网出口(NAT 网关 / SNAT / 路由 / EIP)。触发场景包括 ECS 无法访问或被公网访问、公网 IP 不可达、ping 超时、安全组阻断、VPC 云服务无法访问公网。
使用方式:诊断必须调用 scripts/ 下的三个 Python 脚本,不得用其他方式复现逻辑。依次执行:python3 scripts/sts_create.py 获取并校验凭证;随后按场景执行 python3 scripts/ecs_public_troubleshoot.py --region-id <region_id> --instance-id <instance_id> [--uid <UID>] 或 python3 scripts/vpc_service_public_troubleshoot.py --region-id <region_id> --vswitch-id <vswitch_id> [--uid <UID>]。凭证由 sts_create.py 写入本地缓存 scripts/.sts_cache.json,主脚本自动读取,不接受凭证参数,禁止手工导出 AK/SK 或在命令行回显明文。region_id 与场景标识(instance_id 或 vswitch_id)为必填,缺失时询问一次后中止。调用 API 前须向用户复述目标资源、地域与只读范围并获确认。脚本失败即中止并上报,不回退到 aliyun CLI、临时脚本或内联 SDK/curl。
限制:需要 ECS、VPC、云防火墙、DDoS、BSS 的只读 RAM 权限;依赖 aliyun-cli 与 Python SDK(pip install -r scripts/requirements.txt);需能访问 ecs / vpc / sts / cloudfw / antiddos-public / bssopenapi 端点;安全组未显式放行 ICMP 时按“ICMP 被阻断”判定;只诊断指定实例或 VSwitch,不扩大范围。收费与价格信息暂未提供。