AWS - VPC内子网隔离问题咨询
AWS - VPC内子网隔离问题咨询
当然可以实现子网间的隔离,完全不需要将子网移出VPC哦!默认情况下,同一个VPC内的所有子网之间是可以直接路由的,但我们可以通过配置网络访问控制列表(NACL)或者安全组来阻断它们之间的流量,下面给你详细说明两种方案:
方案一:使用网络访问控制列表(NACL)
NACL是作用于VPC子网层面的无状态防火墙,支持精准的允许/拒绝流量规则,适合子网级别的批量隔离:
- 为10.130.1.0/24和10.130.2.0/24这两个子网分别创建独立的NACL(不要共用默认NACL)
- 针对每个NACL添加拒绝规则:
- 对于10.130.1.0/24的NACL:添加一条优先级较高的规则,拒绝所有入站流量来自10.130.2.0/24,同时拒绝所有出站流量到10.130.2.0/24
- 反过来给10.130.2.0/24的NACL做同样配置,拒绝来自10.130.1.0/24的入站和出站流量
- 注意:NACL的规则是按优先级顺序匹配的,拒绝规则一定要放在允许规则的前面,这样才能优先生效
方案二:使用安全组
安全组是作用于EC2实例层面的有状态防火墙,更灵活,适合针对特定实例做隔离:
- 为两个子网内的实例分别创建不同的安全组(比如SG-Subnet1和SG-Subnet2)
- 确保SG-Subnet1中没有添加允许来自SG-Subnet2或10.130.2.0/24的入站规则;同理,SG-Subnet2中也不要添加允许来自SG-Subnet1或10.130.1.0/24的入站规则
- 安全组默认拒绝所有入站流量、允许所有出站流量,所以只要不主动开放对方子网的访问权限,就能实现隔离。如果实例需要和其他资源通信,记得单独添加对应的允许规则
两种方案的区别
- NACL是子网级别的管控,所有在该子网内的实例都会受其规则限制,属于“粗粒度”隔离
- 安全组是实例级别的管控,可以针对单个实例设置不同规则,属于“细粒度”隔离
- 如果需要最彻底的隔离,可以同时配置NACL和安全组,但一般情况下选其中一种方案就足够满足需求
备注:内容来源于stack exchange,提问作者boog
相关产品推荐
相关产品推荐

