用途
该技能用于在阿里云 ECS 上快速部署一套完整的 Web 应用防护方案,借助 WAF 3.0(按量付费)对 Web 应用流量进行过滤与清洗。整体架构为 VPC + VSwitch + 安全组 + ECS + WAF 3.0,流量路径为:用户请求 → WAF 3.0(流量过滤和清洗)→ ECS(Web 应用)。
主要能力
- 快速部署网络环境,包括 VPC、VSwitch、安全组。
- 创建 ECS 实例并部署示例应用。
- 集成 WAF 3.0 实现 Web 应用防护。
- 支持两种使用场景:
- 快速 WAF 防护体验:从零创建 VPC、ECS 和 WAF,获得完整防护体验。
- 已有 WAF 防护体验:用户已有 WAF 时,新建 VPC 和 ECS 并接入现有 WAF。
- 不支持将用户已有 ECS 接入 WAF。若用户提出该需求,应引导其参考 WAF 控制台的云产品接入功能。
使用方式
前置检查
- Aliyun CLI 版本需 >= 3.3.3,可通过
aliyun version验证;未安装或版本过低时运行curl -fsSL https://aliyuncli.alicdn.com/setup.sh | bash更新,或参考 references/cli-installation-guide.md。 - 运行
aliyun configure set --auto-plugin-install true启用自动插件安装。 - 运行
aliyun plugin update确保插件为最新。 - 配置 AI-Mode:
aliyun configure ai-mode enablealiyun configure ai-mode set-user-agent --user-agent "AlibabaCloud-Agent-Skills/alibabacloud-waf-quick-showcase"- 工作流完成后
aliyun configure ai-mode disable
- 每次调用 aliyun CLI 命令都需包含
--user-agent AlibabaCloud-Agent-Skills/alibabacloud-waf-quick-showcase。 - 运行
aliyun configure list确认认证状态为 Valid;认证无效时运行aliyun configure --mode OAuth完成配置。仅支持 OAuth 认证模式,禁止显式处理 AK/SK 凭据。 - 确认阿里云账户余额 >= 100 元。
安装
macOS(Homebrew):brew install aliyun-cli
认证配置(OAuth 模式):aliyun configure --mode OAuth
验证版本(必须 >= 3.3.3):aliyun version
参数确认
执行前必须与用户确认参数,禁止直接使用默认值执行命令。需校验的格式包括:
- RegionId:匹配
^[a-z]{2}-[a-z]+-[a-z]\d*$,如 cn-hangzhou-j。 - CidrBlock:合法 CIDR 且属于 RFC1918 私网段(10.0.0.0/8、172.16.0.0/12、192.168.0.0/16),掩码范围 /8-/24。
- ZoneId:必须以 RegionId 为前缀,如 cn-hangzhou-j 对应 cn-hangzhou。
- InstanceType:符合 ECS 规格命名规范 ecs.[series]-[spec]。
- InstancePassword:8-30 个字符,必须同时包含大写字母、小写字母和数字。
- 所有参数禁止包含特殊字符(如 ; | & $ ` \ 等)。
参数校验失败必须拒绝执行。密码不得自动生成,必须由用户提供;命令、日志和错误信息中显示的 --password 值必须脱敏为 *** 或 [REDACTED]。
核心工作流
- 步骤 0:检查 VPC 配额(默认每地域最多 10 个 VPC)。使用
aliyun vpc describe-vpcs查看 TotalCount;配额充足则新建 VPC,配额已满则使用现有 VPC(优先选择名称含 waf 或 test 的)。使用--client-token保证幂等。 - 步骤 1:创建 VPC 和 VSwitch。创建 VPC 后查询状态直至 Available,再创建 VSwitch。任何资源创建失败必须立即停止并告知用户,禁止用现有资源替代。
- 步骤 2:创建安全组并配置规则,添加入方向规则开放 80 端口。
- 步骤 3:创建 ECS 实例。必须使用 RunInstances 新建实例,禁止复用已有 ECS。推荐镜像:aliyun_3_x64_20G_alibase_20240819.vhd(备选 aliyun_3_x64_20G_alibase_20221102.vhd)。创建后查询状态直至 Running。
- 后续步骤:集成 WAF。场景 1 中需先执行
aliyun waf-openapi describe-instance --region cn-hangzhou检查是否已有 WAF 实例;若返回有效 InstanceId 则跳过创建直接使用。场景 2 中需先询问用户已有 WAF 实例 ID,跳过创建,使用该 ID 执行 sync-product-instance 和 create-cloud-resource。
适用场景
- 希望快速体验 WAF 对 ECS 上 Web 应用防护能力的用户。
- 已有 WAF 实例、希望新建 ECS 并接入现有 WAF 进行体验的用户。
限制
- 不支持将用户已有 ECS 接入 WAF。
- 仅支持 OAuth 认证模式,禁止显式处理 AK/SK 凭据。
- 需 Aliyun CLI >= 3.3.3,账户余额 >= 100 元。
- 所有资源创建操作前必须获得用户确认,禁止在确认前执行。
- 参数必须符合格式要求,含特殊字符时直接拒绝执行。
- 密码必须由用户提供,且在所有输出中脱敏。
- 创建失败时必须停止,不得继续后续步骤或使用现有资源替代。