为什么我的 EC2 实例无法通过 NAT 网关访问互联网?
上次更新时间:2019 年 9 月 6 日
我创建了一个网络地址转换 (NAT) 网关,以允许我的 Amazon Elastic Compute Cloud (Amazon EC2) 实例连接到互联网。但我仍然无法从我的 EC2 实例访问互联网。为什么我的 EC2 实例无法通过 NAT 网关访问互联网?
解决方法
NAT 网关的互联网连接问题通常都是因子网配置错误或路由缺失导致的。要排查 NAT 网关的互联网连接问题,请检查验证以下方面:
- 启动 NAT 网关的子网已经与某个路由表关联,且该路由表包含指向某个互联网网关的默认路由。
- 启动 EC2 实例的子网已经与某个路由表关联,且该路由表包含指向该 NAT 网关的默认路由。
- 与源实例关联的安全组和网络访问控制列表 (ACL) 均允许出站互联网流量。
- 与启动 NAT 网关的子网关联的网络 ACL 允许来自 EC2 实例和互联网主机的入站流量。此外,还需检查验证网络 ACL 允许流向互联网主机和 EC2 实例的出站流量。例如,要允许 EC2 实例访问 HTTPS 网站,与 NAT 网关子网关联的网络 ACL 的子网必须具有以下规则。
入站规则:
源 | 协议 | 端口范围 | 允许/拒绝 |
---|---|---|---|
VPC CIDR | TCP | 443 | 允许 |
互联网 IP | TCP | 1024-65535 | 允许 |
出站规则:
目的地 | 协议 | 端口范围 | 允许/拒绝 |
---|---|---|---|
互联网 IP | TCP | 443 | 允许 |
VPC CIDR | TCP | 1024-65535 | 允许 |
1024-65535 |
1024-65535 |