讲解 AWS VPC、子网、路由表、Internet Gateway、NAT、安全组与网络 ACL 的职责和排障顺序。
AWS VPC 是账户内的逻辑隔离网络,子网属于单个可用区,路由表决定数据包的目标。所谓“公有子网”不是一个开关,而是路由、网关、公网地址和安全策略共同形成的结果。
直接建议:新建常规网站网络时,先在 AWS 中文控制台进入“VPC → 您的 VPC → 创建 VPC”,选择“VPC 等”并建立至少两个可用区的公有、私有子网。对外负载均衡放公有子网,应用和数据库放私有子网。创建 VPC、子网和路由表本身不收费;NAT 网关、公网 IPv4 和跨可用区流量可能收费,提交前必须在定价页核对。

网络对象各自负责什么
| 对象 | 职责 | 边界 |
|---|---|---|
| VPC | 定义网络与 CIDR | CIDR 规划后修改成本高 |
| 子网 | 承载单个可用区资源 | 不能跨可用区 |
| 路由表 | 按目标选择下一跳 | 不负责端口放行 |
| 安全组 | 有状态实例级访问控制 | 不替代路由 |
| 网络 ACL | 无状态子网级规则 | 入站和出站需分别允许 |
CIDR 规划
预留增长、多可用区、容器和托管服务地址空间,并避免与办公网、VPN、其他 VPC 重叠。每个子网只能关联一张路由表,但一张路由表可以关联多个子网。
公有与私有子网
- IPv4 公有子网通常包含指向 Internet Gateway 的
0.0.0.0/0路由; - 实例仍需公网 IPv4 或 Elastic IP 才能直接通过互联网通信;
- 私有子网可通过公有子网中的 NAT Gateway 发起 IPv4 出站;
- IPv6 使用独立的
::/0路由,不能由 IPv4 默认路由覆盖。
验证顺序
- 确认源和目标 IP、协议与端口;
- 检查子网关联的实际路由表;
- 确认下一跳网关或网络接口状态;
- 核对安全组和网络 ACL 双向规则;
- 使用 VPC Flow Logs 和系统日志定位拒绝位置。
边界条件
NAT Gateway、跨可用区和数据传输可能产生费用。建立多可用区时应为不同可用区分别规划子网,不能把一个子网当作跨区网络。
先定网段,避免以后无法互联
小型环境可从一个不与办公室、VPN、其他 VPC 重叠的私有网段开始,例如 10.20.0.0/16。再按可用区划分子网,例如两个公有子网和两个私有子网。示例仅用于理解,实际网段要先与现有网络清单比对。子网创建后不能跨可用区移动,数据库和负载均衡要求的可用区数量也应提前预留。
在中文控制台逐项配置
- 在“VPC”页创建 VPC,打开 DNS 主机名与 DNS 解析支持。
- 进入“子网 → 创建子网”,为每个可用区分别创建公有和私有子网。
- 进入“互联网网关”,创建并附加到该 VPC。
- 在“路由表”创建公有路由表,添加
0.0.0.0/0指向互联网网关,并只关联公有子网。 - 私有路由表不要直接指向互联网网关。确需 IPv4 出站更新时,在公有子网创建 NAT 网关,再把私有默认路由指向它。
怎样判断子网是否真的“公有”
必须同时满足:子网关联的路由表有互联网网关默认路由,实例拥有公网 IPv4 或弹性 IP,安全组允许对应端口,网络 ACL 没有阻断往返流量。只勾选“自动分配公有 IPv4”而没有网关路由,仍然无法上网;只有网关路由而实例没有公网地址,也不能被互联网直接访问。
常见阻塞按哪条分支处理
- 路由添加失败:检查目标 CIDR 是否与已有路由冲突,互联网网关是否已附加同一 VPC。
- 私有实例不能下载更新:检查 NAT 网关状态、所在公有子网的默认路由和私有路由表关联。
- 只能单向通信:网络 ACL 是无状态规则,要同时放行返回流量的临时端口;安全组则有状态。
- 实例互相不通:先核对实际私网 IP、子网路由表和安全组引用,不要先删除全部规则。
验证和回退
从资源映射确认每个子网的可用区和路由表,再用一台测试实例验证 DNS、私网访问、预期的公网入站和私有出站。启用 VPC 流日志后,以 ACCEPT/REJECT 判断流量是否到达网络接口。变更前导出旧路由并记录关联;失败时先恢复旧路由表关联和默认路由,再删除新 NAT 网关,避免在未恢复出站前释放原资源。
上线前最后核对
给四个子网建立清晰名称,名称同时包含环境、用途、可用区和公有/私有属性。逐个打开子网详情确认“路由表”关联,不要只看路由表名称。最后检查 VPC CIDR 没有与计划接入的办公室、VPN 或对等 VPC 重叠;一旦资源大量创建,重做网段的迁移成本会明显增加。
完成当前任务后继续检查
- AWS EC2 安全组怎么配置?入站规则、端口开放与连接排查
- AWS EC2 和 Lightsail 怎么选?架构、成本与扩展能力对比
- AWS EC2 CloudWatch 监控告警怎么配置?内存、磁盘与 SNS 通知

