安全组与网络 ACL 的区别
两者经常同时出现:安全组是实例级的有状态白名单,网络 ACL 是子网级的无状态规则表。常见组合是「ACL 做子网粗隔离 + 安全组做实例精细控制」。无状态意味着 ACL 的入站与出站要分别配置,返回流量不会自动放行,这也是 ACL 相关故障最常见的成因。排查不通时两层都要检查。
基本信息
| 作用范围 | 安全组在实例/网卡;ACL 在子网/交换机 |
|---|---|
| 状态 | 安全组有状态;ACL 无状态,双向都要配 |
| 规则形态 | 安全组是白名单放行规则;ACL 是有序规则且含显式拒绝 |
| 默认策略 | 安全组无规则即拒绝;ACL 未匹配即拒绝 |
| 典型用途 | 安全组做实例精细控制;ACL 做子网级粗隔离 |
| 变更影响 | ACL 变更影响整个子网内所有资源 |
典型使用场景
- 数据子网整体只对内部网段开放:用 ACL 在子网边界做粗过滤
- 同一子网内不同实例权限不同:用安全组做实例级精细控制
- 多层防护:ACL 拦住明显不该出现的流量,安全组控制业务端口
- 合规要求子网级审计:ACL 规则表便于统一说明与核对
- 排查跨层不通时按「先 ACL 后安全组」的顺序核对
配套使用示意
配套使用示意
子网 sbn-db —— 网络 ACL:仅允许 10.10.0.0/16 访问 3306
└ 数据库实例 —— 安全组:仅允许 sg-app 访问 3306
两层同时合规,流量才真正通过
ACL 出站方向还需放行返回流量所用端口段,否则回包被丢差异对比
| 维度 | 安全组 | 网络 ACL |
|---|---|---|
| 作用范围 | 实例 / 网卡 | 子网 / 交换机 |
| 状态 | 有状态(回包自动放行) | 无状态(双向都要配) |
| 规则形态 | 白名单放行规则 | 有序规则,含显式拒绝 |
| 默认策略 | 无规则即拒绝 | 未匹配即拒绝 |
| 典型用途 | 实例精细控制 | 子网级粗隔离 |
排障顺序建议先看 ACL 的方向与序号,再看安全组规则:ACL 规则数量少、影响面大,先排除它能让后续排查目标更明确。
评估 ACL 变更影响面时不要只盯一台实例:整个子网内的资源都会受同一张规则表影响,改动相当于对整段做统一变更。