我确信这个问题之前有人问过,AWS 也有很多文档,但对我来说似乎没用。但我找不到问题的直接答案,所以又在这里问了。
我在私有子网中有一堆 EC2 实例,我不需要来自互联网的传入连接,但需要传出以进行 apt-get 更新等。因此,如果我执行以下操作:
- 创建子网和 EIP
- 然后创建一个 NAT 网关,利用这两个
- 然后使用以下命令创建路由表:
- 目的地 0.0.0.0/0 => NAT 网关(目标)
- 关联子网(上述)
- 在上述子网中启动实例
是否应为该实例提供出站连接?我是否遗漏了什么或做错了什么?提前致谢!
-S
答案1
虽然很接近但不完全正确:)
为了使其工作,您需要两个子网和两个路由表。
公共子网
- 有 IGW -互联网网关以及可选的 NAT 网关
0.0.0.0/0
指向 IGW (不是到 NAT 网关!)- 主机(EC2 实例、NAT 网关)必须具有公有 IP或者弹性 IP直接连接到互联网
- 可以通过此公共/弹性 IP 从互联网联系主机(如果安全组许可证)
私有子网
- 没有 IGW 或 NAT(因为你的 NAT GW 在民众子网!)
- 指向
0.0.0.0/0
NAT 的公共子网多于 - 主机仅具有私有 IP,并且所有出站访问均“屏蔽”到 NAT 网关 IP
- 主机可以发起与互联网的连接,但无法从外部联系,因为它们“隐藏”在 NAT(网络地址转换网关)后面。
- 没有配置 NAT 的主机将无法访问互联网
希望这能解释清楚:)