news 2026/7/22 12:53:59

为什么 NAT Gateway 一定在 Public Subnet?

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
为什么 NAT Gateway 一定在 Public Subnet?




一句话结论(记住这个就不会错)

NAT Gateway 是“给 Private Subnet 用的”,
但它必须部署在 Public Subnet 里。

👉 “服务对象” ≠ “部署位置”

为什么 NAT Gateway 一定在 Public Subnet?

NAT Gateway 要做的事情是两步:

1️⃣ 接收私有子网的出站流量
2️⃣ 把流量发到 Internet,并接收返回流量

而要做到第 2 步,它自己必须能上网。

Public Subnet vs Private Subnet 的本质区别

Public Subnet

路由表中有:

0.0.0.0/0→ InternetGateway(IGW)

具备“出公网”的能力

Private Subnet

  • 没有到 IGW 的路由

  • 本身无法直接访问互联网

如果把 NAT Gateway 放进 Private Subnet 会发生什么?

我们假设一个错误配置 👇

Private Subnet ├─ EC2 ├─ NAT Gateway ❌

流量路径会变成:

EC2 → NAT Gateway → ❓

但问题是:

  • NAT Gateway 所在的 Private Subnet

  • 没有 0.0.0.0/0 → IGW

  • 所以 NAT 自己也 出不了网

👉 死路一条

正确结构(图中展示的就是这个)

Private Subnet:0.0.0.0/0→ NAT Gateway Public Subnet:0.0.0.0/0→ IGW NAT Gateway(有 EIP)

实际流量路径

EC2(Private)→ NATGateway(Public)InternetGatewayInternet

为什么说 “NAT 是给 Private Subnet 用的”?

因为它解决的是这个问题:

Private Subnet 里的资源
能访问外部,但不暴露在公网

也就是说:

对象能被公网访问能访问公网
Public Subnet EC2
Private Subnet EC2
Private + NAT

一个很好用的记忆方法

NAT 的“屁股”朝向 Private Subnet,
NAT 的“脸”朝向 Internet。

  • 面向 Internet → 必须在 Public Subnet

  • 服务 Private → Private Subnet 的默认路由指向它

你再看那张图,其实逻辑是完全一致的

  • NAT Gateway 画在 Public Subnet ✔

  • Private Subnet 的路由:

0.0.0.0/0→ NATGateway
  • NAT Gateway 的路由:
0.0.0.0/0→ IGW
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/21 16:33:05

吃透Set集合,这篇练习帖就够了!

在Java编程中,Set集合是处理无序、不可重复元素的重要工具,也是面试和开发中的高频考点。今天整理了Set集合的核心练习和知识点,帮大家彻底搞懂它的用法和特性!一、核心考点回顾1. Set的特性:元素无序且唯一&#xff0…

作者头像 李华
网站建设 2026/7/21 12:34:40

多线程练习复盘:那些让我头大的坑与顿悟

最近泡在多线程的专项练习里,从最基础的 Thread 类创建线程,到 Runnable 接口实现,再到线程同步、锁机制,踩过的坑能绕两圈,也总算摸透了一点多线程的门道。最开始练习的时候,总觉得多线程就是“开几个线程…

作者头像 李华
网站建设 2026/7/22 0:25:48

【C/C++】数据在内存中的存储

整数的原、反、补码都相同。负整数的三种表示方法各不相同。原码:直接将数值按照正负数的形式翻译成⼆进制得到的就是原码。反码:将原码的符号位不变,其他位依次按位取反就可以得到反码。补码:反码1就得到补码。对于整形来说&…

作者头像 李华
网站建设 2026/7/22 0:53:01

高精度算法:突破整型限制的算法实现【C++实现】

本文将带你了解 高精度算法 的背景、原理,并以 C 实现为例,展示完整的代码与讲解。一、背景介绍高精度算法主要用于解决如下问题场景:大数计算,如计算 11112345678901234567890 和 111198765432109876543210的运算;竞赛…

作者头像 李华
网站建设 2026/7/22 6:13:37

PyTorch-CUDA-v2.6镜像部署AutoGPT自动化任务实验

PyTorch-CUDA-v2.6镜像部署AutoGPT自动化任务实验 在现代AI系统开发中,一个常见的痛点是:算法模型跑得通,但环境配置耗时数天。尤其是在运行如AutoGPT这类依赖大语言模型、向量数据库和复杂工具链的自动化智能体时,开发者常常陷入…

作者头像 李华