1. 课程导入与架构总览

当企业从单个 VPC 起步,逐步扩展到十几个、几十个甚至上百个 VPC 时,网络连接会迅速从“能通就行”演变为“难以治理”。传统做法是使用 VPC Peering 两两互联,但 Peering 是点对点关系,连接数量随 VPC 数量呈组合式增长:10 个 VPC 全互联需要 45 条 Peering,50 个 VPC 则需要 1225 条。更麻烦的是,Peering 不支持传递路由,A 与 B 通、B 与 C 通,并不代表 A 与 C 通,每新增一个 VPC 都要重新审视与所有既有 VPC 的连通关系。AWS Transit Gateway(简称 TGW)正是为解决这一规模化管理问题而设计的区域级网络中转枢纽。

可以把 TGW 理解为一台由 AWS 托管的“虚拟路由器”。各个 VPC、VPN、Direct Connect 网关、甚至其他 TGW 都作为附件(Attachment)挂接到这个中心节点上,由 TGW 统一维护路由表并转发流量。这样,网络拓扑从“网状”收敛为“星型”,新增 VPC 只需挂接一次,而不再需要与每个既有 VPC 单独建立连接。TGW 的核心价值可以概括为四点:集中连接(一个枢纽承载多类附件)、路由可控(通过多张路由表实现分段与隔离)、规模弹性(单附件支持大量 VPC 与高带宽)、跨域延伸(通过 Peering 连接不同区域、通过共享实现跨账号)。

需要特别区分 TGW 与几个容易混淆的概念。VPC Peering 是点对点、不传递路由;Transit Gateway 是中心辐射、可传递路由;VPC Endpoint 解决的是访问 AWS 服务而非 VPC 之间互联;PrivateLink 提供的是单向服务暴露而非双向网络互通。理解这些边界,是后续设计路由与安全策略的前提。

Transit Gateway 中心辐射架构总览 VPC / VPN / Direct Connect / 跨区域 / 跨账号 统一挂接,路由集中可控 Transit Gateway 区域级虚拟路由器 · 路由表 · 附件 Route Table / Attachment / 路由传播 VPC A 10.0.0.0/16 生产环境 · 子网/EC2 VPC B 10.1.0.0/16 测试环境 · 子网/EC2 VPC C 10.2.0.0/16 共享服务 · 目录/DNS 本地数据中心 192.168.0.0/16 VPN / Direct Connect 跨区域 TGW TGW Peering 另一区域 VPC 群 跨账号共享 RAM 资源共享 多账号 VPC 挂接 Attachment Attachment Attachment Attachment Peering RAM 共享 TGW 枢纽 VPC 附件 本地网络 跨区域 跨账号 路由由 TGW 路由表统一决策,附件间流量经枢纽转发

从图中可以看到,TGW 位于拓扑中心,左侧是同一区域内多个 VPC,右侧是本地数据中心、跨区域 TGW 和跨账号共享。所有附件通过 Attachment 挂接,流量不再点对点直连,而是先到 TGW,再由 TGW 的路由表决定下一跳。这正是“集中连接、路由可控”的直观体现。

学习路径

本课程围绕 TGW 的完整能力展开,建议按以下路径推进。第一阶段建立概念与架构认知,理解 TGW 的定位、附件类型与路由表模型;第二阶段动手搭建最小可用环境,创建 TGW、挂接两个 VPC、配置路由并验证连通性;第三阶段深入路由控制,学习多路由表、路由传播、黑名单与分段隔离;第四阶段扩展到混合云与跨域场景,接入 VPN、Direct Connect、TGW Peering 与 RAM 共享;第五阶段关注可观测性与运维,使用 CloudWatch 指标、Flow Logs 和 Reachability Analyzer 排查问题。每一阶段都应有可验证的结果,而不是只看文档。

实验环境准备

为了让后续实验可复现,建议统一使用如下示例参数。这些参数属于教学示例,实际使用时可根据账号情况调整,但应保持地址段不重叠,否则 TGW 无法正确转发。

对象示例值说明
区域us-east-1TGW 为区域级资源,实验统一在同一区域
VPC A10.0.0.0/16模拟生产环境,含公有子网与私有子网
VPC B10.1.0.0/16模拟测试环境
VPC C10.2.0.0/16模拟共享服务,如 DNS、目录服务
TGWASN 64512默认 ASN,用于 BGP 场景
TGW 子网每可用区一个 /28挂接 VPC 时需指定 TGW 子网
验证实例t3.micro每 VPC 至少一台,用于 ping / traceroute

创建 TGW 时,关键参数包括:名称、描述、ASN(默认 64512)、默认路由表关联与传播开关。建议实验初期保持“默认路由表关联”和“默认路由表传播”均为启用,这样挂接的 VPC 会自动学习彼此路由,便于快速验证连通性。后续再关闭默认传播,改用自定义路由表实现精细控制。

# 示例:创建 Transit Gateway(AWS CLI)
aws ec2 create-transit-gateway \
  --description "lab-tgw" \
  --options AmazonSideAsn=64512,AutoAcceptSharedAttachments=enable,DefaultRouteTableAssociation=enable,DefaultRouteTablePropagation=enable

# 创建 VPC 附件(以 VPC A 为例)
aws ec2 create-transit-gateway-vpc-attachment \
  --transit-gateway-id tgw-0123456789abcdef0 \
  --vpc-id vpc-0aaa1111bbbb2222 \
  --subnet-ids subnet-0aaa1111 subnet-0bbb2222

# 在 VPC A 路由表中添加指向 TGW 的路由
aws ec2 create-route \
  --route-table-id rtb-0aaa1111 \
  --destination-cidr-block 10.1.0.0/16 \
  --transit-gateway-id tgw-0123456789abcdef0

完成挂接后,如何判断环境是否就绪?可以从三个层面观察。第一,在 TGW 控制台的“附件”页面确认状态为 available;第二,在 TGW 路由表中确认已出现各 VPC 的 CIDR,且类型为 propagated;第三,从 VPC A 的实例 ping VPC B 的私有 IP,若返回正常且 traceroute 显示经过 TGW 网段,则说明转发路径已生效。若 ping 不通,优先检查安全组是否放行 ICMP、VPC 路由表是否指向 TGW、以及 TGW 路由表是否包含目标 CIDR。

实验前请确认账号具备创建 TGW、VPC、子网、路由表和安全组的权限。若使用企业账号,可能受 SCP 限制,建议先在沙箱账号中完成验证。所有示例地址段均为教学用途,请勿直接套用到生产环境而不做规划。

本节建立了 TGW 的整体认知:它把多 VPC 的点对点连接收敛为中心辐射结构,通过附件和路由表实现集中连接与可控转发。接下来将从 TGW 的基本概念与组件开始,逐步进入实际配置与验证。