同一AWS VPC内不同可用区私有子网如何实现互通?
AWS同VPC跨AZ私有子网通信问题解答
1. 跨AZ私有子网是否默认存在内部连接?
是的,同一AWS VPC下的所有子网(无论公有/私有、所在AZ)默认都具备内部连通性。VPC的主路由表中默认包含一条local路由条目,该条目会将所有属于当前VPC CIDR范围的流量直接路由到VPC内部,无需额外配置就能实现跨AZ子网实例的互通。
2. 默认情况下如何实现通信?
不需要额外操作,只要满足两个基础条件:
- 实例安全组规则允许彼此流量:比如子网1的实例安全组需放行来自子网2 CIDR段的入站请求,子网2的实例安全组同理放行子网1的流量(具体端口根据业务需求调整,比如SSH、应用服务端口等)。
- 网络ACL未拦截跨子网流量:默认网络ACL允许所有入站和出站流量,若自定义过网络ACL,需确保规则允许对应子网的流量通行。
3. 若手动移除内部连接(无local路由)且子网均无互联网访问,如何让实例互通?
如果因为自定义路由表删除了local条目导致跨子网无法通信,可通过以下两种方式恢复:
- 方式一:恢复
local路由条目
直接给子网关联的路由表添加local路由,目标设置为当前VPC的完整CIDR段,下一跳选择local。这是最简便的方式,完全贴合VPC原生设计逻辑。 - 方式二:使用VPC内部路由设备
- 在VPC内任意子网部署一台开启IP转发功能的EC2实例,作为内部路由器使用。
- 给子网1的路由表添加条目:目标为子网2的CIDR段,下一跳为该EC2实例的私网IP。
- 给子网2的路由表添加条目:目标为子网1的CIDR段,下一跳为该EC2实例的私网IP。
- 确保该EC2实例的安全组允许两个子网的流量通过,同时两个子网的安全组和网络ACL也放行对应流量。
内容的提问来源于stack exchange,提问作者Saurav
相关产品推荐
相关产品推荐

