TG:@yunlaoda360
阿里云的 ActionTrail Command Service (ACS) (其实全称是 Alibaba Cloud Command Service,在阿里云控制台叫“云助手”)支持批量在多个实例上执行命令,但它本身并不能直接“批量修改安全组规则”,而是通过调用阿里云的 API 或 CLI 来实现。
你可以理解为:ACS 负责批量分发执行脚本,而修改安全组的动作则由脚本调用阿里云的安全组 API 完成。
下面我给你分成两种常见方法说明:
方法一:直接用阿里云 CLI 批量修改
如果你会用 CLI,可以一次性修改多个安全组或实例绑定的安全组规则。
-
安装并配置阿里云 CLI
curl -o- | bash aliyun configure输入
AccessKey ID、AccessKey Secret、默认地域等。 -
查询要修改的安全组 ID
aliyun ecs DescribeSecurityGroups --RegionId cn-hangzhou -
批量添加安全组规则
例如添加允许 80 端口访问的规则:aliyun ecs AuthorizeSecurityGroup \ --RegionId cn-hangzhou \ --SecurityGroupId sg-12345678 \ --IpProtocol tcp \ --PortRange 80/80 \ --SourceCidrIp 0.0.0.0/0多个安全组 ID 可以用脚本循环调用。
-
批量删除安全组规则
aliyun ecs RevokeSecurityGroup \ --SecurityGroupId sg-12345678 \ --IpProtocol tcp \ --PortRange 80/80 \ --SourceCidrIp 0.0.0.0/0
方法二:通过 ACS(云助手)批量执行修改脚本
适合有几十上百台 ECS 绑定不同安全组,需要统一调整时。
-
准备安全组修改脚本
假设你写一个 Shell 脚本调用阿里云 API:#!/bin/bash REGION_ID="cn-hangzhou" SG_ID="sg-12345678" aliyun ecs AuthorizeSecurityGroup \ --RegionId $REGION_ID \ --SecurityGroupId $SG_ID \ --IpProtocol tcp \ --PortRange 443/443 \ --SourceCidrIp 0.0.0.0/0 -
上传脚本到 ACS
- 登录阿里云控制台 → 云助手(Command Service)。
- 创建命令 → 选择 Shell 类型 → 粘贴脚本内容。
-
批量执行
- 选择 ECS 实例列表(可跨地域批量选)。
- 点击执行 → ACS 会在所有实例上执行修改。
-
查看执行结果
- 云助手会提供每台机器的执行日志。
- 如果部分机器执行失败,可以根据日志重试。
✅ 注意事项
- 先在测试环境验证脚本,避免误删规则。
- 建议使用安全组描述(Description)记录规则用途,方便日后批量管理。
- 如果 ECS 在多个地域,需要分地域调用 API 或创建命令。
- 对于核心业务安全组,建议开启安全组变更审计(ActionTrail)以便回溯。