已配置AWS Transit Gateway实现私网出公网,能否从公网访问私有子网EC2实例?
公网访问私有子网EC2实例的实现方案
基于你提到的AWS Transit Gateway单公网出口架构,可以实现公网访问私有子网内的EC2实例,但需要在现有基础上补充以下关键配置:
1. 配置NAT网关的端口转发
原架构中NAT网关仅用于私有子网的出站公网访问,要实现公网入站访问,需在NAT网关所在的公有子网做如下配置:
- 确保NAT网关已分配弹性公网IP(EIP),作为公网访问的入口地址
- 在NAT网关所在公有子网的安全组中,添加入站规则,开放目标EC2实例需要对外暴露的端口(如SSH的22端口、HTTP的80端口等)
- 调整VPC路由表,确保公网流量能路由到NAT网关;同时更新Transit Gateway的路由表,将目标EC2所在子网的路由指向对应的VPC附件
2. 调整安全组与网络ACL
- EC2实例安全组:添加入站规则,允许来自NAT网关EIP(或按需限制为特定公网IP段)的目标端口访问请求
- 私有子网网络ACL:添加入站规则允许对应端口的公网流量进入,同时配置出站规则允许返回流量正常通行
- Transit Gateway关联的安全策略:确保跨VPC的流量能通过Transit Gateway正常到达目标私有子网
3. 可选:使用负载均衡优化访问架构
如果需要更灵活的公网访问能力(比如多实例负载、HTTPS支持),可以在NAT网关所在的公有子网创建Application Load Balancer(ALB)或Network Load Balancer(NLB):
- 将负载均衡的目标组指向私有子网内的EC2实例
- 配置负载均衡的安全组,开放公网需要访问的入站端口
- 通过Transit Gateway的路由配置,确保负载均衡与目标私有子网之间的通信正常
注意事项
- 不要直接给私有子网的EC2实例分配弹性公网IP,这会绕过Transit Gateway的单出口架构,违背原设计的统一管控初衷
- 所有入站流量都会经过NAT网关或负载均衡,便于统一监控和管控公网访问入口
内容的提问来源于stack exchange,提问作者linuxfreak
相关产品推荐
相关产品推荐

