2. AWS混合云网络基础

在混合云场景中,AWS 侧的网络并不是“把实例启动起来就能通”的简单结构,而是由一组职责明确、彼此配合的组件共同构成。理解这些组件各自解决什么问题、在数据包路径上处于什么位置,是后续做专线/VPN 互联、路由打通和业务迁移的前提。本节按“数据包从实例出发到离开 AWS 或到达 AWS 服务”的路径,把核心组件串起来讲清楚。

VPC 与子网:地址空间的划分

VPC(Virtual Private Cloud)是一个逻辑隔离的虚拟网络,用 CIDR 定义地址范围,例如 10.0.0.0/16,可提供约 65536 个地址。子网是 VPC 内的一段 CIDR 切片,必须落在 VPC 范围内,且一个子网只能属于一个可用区(AZ)。例如把 10.0.0.0/16 划分为:

10.0.1.0/24   → 可用区 A,公有子网
10.0.2.0/24   → 可用区 B,公有子网
10.0.11.0/24  → 可用区 A,私有子网
10.0.12.0/24  → 可用区 B,私有子网

“公有”与“私有”不是子网自身的属性,而是由路由表决定的:子网关联的路由表中存在指向互联网网关(IGW)的默认路由 0.0.0.0/0,它就是公有子网;只有指向 NAT 网关或仅本地路由的,就是私有子网。每个子网还会保留 5 个地址(网络地址、VPC 路由器、DNS、保留地址、广播地址),因此 /24 实际可用 251 个。

路由表:决定数据包往哪走

路由表是子网级别的“转发决策表”,按最长前缀匹配选择目标。一个 VPC 创建时会自带主路由表,只包含一条 local 路由,允许 VPC 内所有子网互通。要访问外部,需要显式添加路由条目,例如:

目标网段            目标
10.0.0.0/16        local
0.0.0.0/0          igw-xxxxxxxx     (公有子网)
0.0.0.0/0          nat-xxxxxxxx     (私有子网出公网)
172.16.0.0/16      vgw-xxxxxxxx     (经 VPN/专线回本地 IDC)
192.168.0.0/16     pcx-xxxxxxxx     (经 VPC 对等连接)

混合云中最关键的一条,就是指向虚拟私有网关(VGW)或中转网关(TGW)的路由,它把本地 IDC 的网段引入 VPC。需要注意:路由表只决定“能不能找到路”,是否放行还要看安全组和网络 ACL。

互联网网关与 NAT 网关:出公网的两种方式

互联网网关(IGW)是 VPC 与公网之间的水平扩展网关,为公有子网实例提供双向公网通信,实例需具备公网 IP 或弹性 IP。NAT 网关部署在公有子网,让私有子网实例单向发起访问公网(如下载补丁、调用外部 API),外部无法主动连入。NAT 网关按可用区部署,建议每个 AZ 各建一个以避免单点。二者对比如下:

对比项互联网网关 IGWNAT 网关
部署位置VPC 边缘公有子网
通信方向双向仅出站发起
使用方公有子网实例私有子网实例
是否需公网 IP需要不需要

安全组与网络 ACL:两层防护

安全组作用于实例的弹性网卡,是有状态的:允许入站后,其响应流量自动放行,无需再配出站规则。默认拒绝所有入站、允许所有出站。网络 ACL 作用于子网,是无状态的:入站和出站规则需分别配置,且规则按编号从小到大匹配,命中即停止。实践中常见做法是:安全组做精细的实例级白名单,网络 ACL 做子网级的粗粒度兜底。例如允许本地 IDC 网段 172.16.0.0/16 访问 Web 服务器 443 端口,安全组入站规则写 TCP 443 源 172.16.0.0/16;若同时用网络 ACL 限制,则入站和出站都要放行对应端口与临时端口范围(如 1024-65535)。

VPC 对等连接与终端节点

VPC 对等连接(Peering)用于打通两个 VPC,使它们像同一网络一样私网互通。它不支持传递路由:A 与 B 对等、B 与 C 对等,A 并不能自动访问 C,需要额外建立 A-C 对等或改用中转网关。终端节点(VPC Endpoint)则让 VPC 内实例不经过公网直接访问 AWS 服务,如 S3、DynamoDB。接口终端节点(PrivateLink)会在子网中创建弹性网卡并分配私网 IP,网关终端节点则通过路由表条目指向 S3/DynamoDB。对混合云而言,终端节点能显著减少流量绕行公网带来的成本与安全风险。

AWS 混合云网络组件与数据包路径 本地 IDC 172.16.0.0/16 VPN / 专线 VGW / TGW 私网互联 VPC 10.0.0.0/16 公有子网 10.0.1.0/24 (AZ-A) Web 实例 SG: 443 NAT 网关 出公网 路由: 0.0.0.0/0 → IGW 网络ACL 入/出 分别配置 私有子网 10.0.11.0/24 (AZ-A) App 实例 SG: 8080 DB 实例 SG: 3306 路由: 0.0.0.0/0 → NAT 172.16.0.0/16 → VGW 公有子网 10.0.2.0/24 (AZ-B) Web 实例 SG: 443 NAT 网关 AZ-B 冗余 路由: 0.0.0.0/0 → IGW 网络ACL 入/出 分别配置 私有子网 10.0.12.0/24 (AZ-B) App 实例 SG: 8080 DB 实例 SG: 3306 路由: 0.0.0.0/0 → NAT 172.16.0.0/16 → VGW IGW 公网出口 终端节点 S3 / DDB 私网直达 对等连接 VPC Peering 图例 混合云私网互联 公网流量路径 AWS 服务私网访问 VPC 间对等连接

把上述组件放在一条路径上看:实例发出数据包 → 安全组判断是否放行 → 子网路由表决定下一跳 → 网络 ACL 在子网边界再次过滤 → 经 IGW、NAT、VGW 或终端节点离开。混合云排障时,只要按这条链路逐段核对路由条目、安全组规则和 ACL 规则,绝大多数“不通”问题都能快速定位。

建议在规划阶段就固定 CIDR 分配表,避免 VPC 与本地 IDC 网段重叠;一旦重叠,对等连接和 VPN 路由都会失效,后期调整代价很高。