Direct Connect Gateway

上一节我们介绍过DX Gateway和VGW区别,这一节将深入介绍它

DXGW 是一个全局虚拟网络设备,但它更像是一个逻辑路由控制层,而不是传统意义上的虚拟机或 ENI。

DXGW 的作用:

  1. 关联管理:记录哪些 VGW/TGW 和它关联
  2. 路由分发:把 VPC CIDR 通过 BGP 宣告给用户的路由器
  3. 路由聚合:把用户宣告的前缀分发给关联的 VGW

DXGW 的特性:

特性 说明
全局资源 不属于任何 Region,全球唯一
无物理位置 不像 EC2 有具体的 AZ
控制平面 主要作用是路由分发和关联管理
无数据面处理 不像 NAT Gateway 那样处理每个数据包

image-20260223110215553

对比理解:

组件 类型 有实体吗 数据经过它吗
EC2 虚拟机 有(运行在物理服务器)
NAT Gateway 托管网络设备 有(ENI) 是,每个包都经过
VGW 托管网关 有(Regional 资源)
DXGW 逻辑路由层 无具体实体 逻辑上经过,实际是路由控制
TGW 托管路由器 有(Regional 资源) 是,每个包都经过

它和其他Gateway的区别:

组件 类比
DXGW 像一个全球 DNS 服务器,告诉流量去哪里,但数据不真的经过它
VGW 像一个 Region 级别的路由器,数据真的经过它
TGW 像一个 Region 级别的交换机/路由器,数据真的经过它

虽然说"流量经过 DXGW”,但实际上:

用户的路由器 → DX 物理线路 → AWS 骨干网 → VGW → VPC

DXGW 更多是告诉流量应该去哪(控制平面),而不是每个数据包都经过它(数据平面)。

DX Gateway 限制

限制一:关联的 VPC CIDR 不能重叠

原因:

DXGW 会把所有关联 VPC 的 CIDR 通过 BGP 宣告给用户的路由器,如果 CIDR 重叠,路由器无法判断流量该发到哪个 VPC。

限制二:VPC 之间不能通过 DXGW 通信

image-20260223110908048

DXGW 不提供 VPC 到 VPC 的传递路由:

VPC A ──► DXGW ────► VPC B   ❌ 不行!

DXGW 只做:

On-premises ◄──► DXGW ◄──► VPC    ✅ 可以

为什么有这些限制呢?因为DXGW 的设计目标是简化 On-premises 到多个 VPC 的连接,而不是做 VPC 互联。它是一个路由控制层,不是全功能路由器。如果需要完整的网络互联能力,应该用 Transit Gateway。

限制三:最多连接20个VGW

参考: https://docs.aws.amazon.com/directconnect/latest/UserGuide/limits.html

image-20260223111047808

但可以通过创建多个private VIF来绕过:

image-20260223111128674

创建DX Gateway

创建DX Gateway的入口:

image-20260223111805855

只需要填写两个参数,其中 ASN 是用户自己从私有 ASN 范围里选的,代表 AWS DXGW 在 BGP 中的身份。选个不冲突的就行,默认 64512 通常够用:

image-20260223111830898

创建完成后显示出来:

image-20260223111839194

DX gateway费用

DXGW 本身不收费。

费用对比:

组件 是否收费
Direct Connect Gateway ❌ 免费
Virtual Private Gateway (VGW) ❌ 免费
Transit Gateway (TGW) ✅ 收费
DX Connection(端口) ✅ 收费
DX 数据传输 ✅ 收费

为什么 DXGW 免费?因为 DXGW 只是一个逻辑路由控制层:

组件 是否处理数据包 是否占用 AWS 资源
DXGW 否,只做路由分发 很少
TGW 是,每个包都经过 需要计算资源
NAT Gateway 是,每个包都经过 需要计算资源

AWS 对实际消耗资源的组件收费,DXGW 几乎不消耗资源所以免费。

费用示例,假设你用 DXGW 连接 2 个 Region 的 VPC:

费用组成:
├── DX 端口 (1Gbps): $0.30/hr × 24 × 30 = $216/月
├── DX 出站流量 (1TB): $0.02 × 1000 = $20/月
├── DXGW: $0
└── VGW: $0

总计: ~$236/月(不含 TGW)