比较:AWS VPC peering与 AWS Transit Gateway

发布于:2025-05-01 ⋅ 阅读:(20) ⋅ 点赞:(0)

简述:


VPC 对等连接和 Transit Gateway 用于连接多个 VPC。VPC 对等连接提供全网状架构,而 Transit Gateway 提供中心辐射型架构。Transit Gateway 提供大规模 VPC 连接,并简化了 VPC 间通信管理,相比 VPC 对等连接,支持大量 VPC 的 VPC 间通信管理。

VPC 对等连接


AWS VPC 对等连接是两个 VPC 之间的网络连接,可让您在它们之间私下路由流量。任一 VPC 中的实例都可以像在同一网络中一样相互通信。

AWS VPC 对等连接


VPC 对等连接的优势

  • 成本低,因为您只需为数据传输付费。
  • 没有带宽限制。

VPC 对等连接的劣势

  • 规模化时复杂。每个新的 VPC 都会增加网络的复杂性。与 TGW 相比,维护路由表更困难。
  • 没有 Transit 路由。
  • 每个 VPC 最多支持 125 个对等连接。
     

Transit Gateway


AWS Transit Gateway 是一项完全托管的服务,它通过中央枢纽连接 VPC 和本地网络,而无需依赖大量的点对点连接或 Transit VPC。

您可以将所有混合连接(VPN 和 Direct Connect 连接)连接到单个 Transit Gateway 实例,从而在一处整合和控制您组织的整个 AWS 路由配置。

AWS Transit Gateway


Transit Gateway 的优势

  • 简化了 VPC 连接的管理。每个辐射 VPC 只需连接到 TGW 即可访问其他连接的 VPC。
  • 与 VPC 对等连接相比,它支持更多 VPC。
  • 每个连接的 TGW 路由表允许进行细粒度路由。


Transit Gateway 的劣势

  • 额外的跃点会带来一些延迟。
  • 除了数据费用外,每个连接还需支付每小时的额外费用。
     

主要区别:VPC 对等连接与 Transit Gateway


连接选项
对等连接:VPC 到 VPC。不支持混合连接。
TGW:VPC 到 VPC。支持使用 VPN 或 Direct Connect Gateway 连接的混合连接。多个 VPC 可重复使用相同的 VPN/DX 连接。

架构
对等连接:全网格(一对一映射)。
TGW:中心辐射型。

传递路由
对等连接:不支持。
TGW:支持。

网络连接
对等连接:支持区域间和区域内 VPC 连接。
TGW:支持区域间和区域内 VPC 连接。

复杂性
对等连接:随着 VPC 数量的增加而增加。您需要在每个 VPC 之间设置 VPC 对等连接。VPC 数量较少时,复杂性较低。
TGW:随着 Transit Gateway 数量/区域数量的增加而增加。与 VPC 对等连接相比,VPC 数量更多,但复杂性更低。您需要管理的连接/附件数量非常少。

规模
对等连接:每个 VPC 最多 125 个活跃对等连接。

TGW:每个区域最多 5,000 个附件。

带宽限制
对等连接:无限制。
TGW:每个附件最多 50 Gbps(突发)。

延迟
对等连接:最低。
TGW:由于额外的 Transit Gateway 跃点,延迟略高于 VPC 对等连接。

成本
对等连接:数据传输。(运营成本较高)
TGW:数据传输、数据处理和每个附件每小时。(运营成本较低)

可见性/监控
对等连接:VPC 流日志。与 TGW 相比,可见性有限。
TGW:VPC 流日志、Transit Gateway network manager、CloudWatch 指标。

安全组(交叉引用)
对等连接:支持。
TGW:不支持。

用例


在以下情况下,请选择 VPC 对等连接:

  • 需要连接的 VPC 数量较少(~<10)。
  • 您需要多个 VPC 连接到本地。
  • 当跨区域传输大量数据时,您希望最大限度地降低数据传输成本,VPC 对等连接是经济高效的选择。
  • 需要低延迟。
  • 您需要高吞吐量。网络带宽要求超过 50 Gbps。

在以下情况下,请选择 Transit Gateway:

  • 您需要大规模的 VPC 连接。需要连接的 VPC 数量较多(~>10)或未来随着业务增长而扩展。
  • 您需要网络级分段。(可通过多个 TGW 路由表实现)。
  • 您需要多个 VPC 连接到本地。

在多个账号之间创建TGW

步骤 1:在主 AWS 账户中创建 Transit Gateway


首先,我们需要在一个 AWS 账户(我们称之为账户 A)中创建一个 Transit Gateway。

  • 前往 AWS 控制台 → VPC → Transit Gateway。
  • 点击“创建 Transit Gateway”
  • 输入名称(例如,Shared-TGW)
  • 设置 Amazon ASN(默认值:64512)
  • 启用“自动接受共享附件”(推荐)
  • 点击“创建 Transit Gateway”
  • 复制 Transit Gateway ID(例如,tgw-xxxxxxxxxxxxxx)

 

步骤 2:与其他 AWS 账户共享 Transit Gateway


为了允许其他 AWS 账户(例如账户 B、账户 C)使用 Transit Gateway,我们需要使用 AWS 资源访问管理器 (RAM) 进行共享。

  • 前往 AWS 控制台 → 资源访问管理器 (RAM)
  • 点击“创建资源共享”
  • 输入名称(例如,Shared-TGW-Access)
  • 选择“Transit Gateway”作为资源类型
  • 选择 TGW (tgw-xxxxxxxxxxxxxx)
  • 添加 AWS 账户 ID(账户 B)
  • 点击“创建资源共享”

下一步:


每个接收账户 B 必须接受 TGW 共享:

  • 前往 AWS RAM → “与我共享”。
  • 点击“接受”以接受共享的 Transit Gateway。

步骤 3:从其他 AWS 账户连接 VPC


其他账户接受共享 TGW 后,即可将其 VPC 连接到该 TGW。

从 AWS 账户 B 操作:

  • 前往 AWS 控制台 → VPC → Transit Gateway 连接
  • 点击“创建 Transit Gateway 连接”
  • 选择共享 TGW (tgw-xxxxxxxxxxxxxx)
  • 选择 V​​PC 作为连接类型
  • 选择要连接的 VPC 和子网
  • 点击“创建连接”

步骤 4:配置 Transit Gateway 路由表

由于我们现在连接了多个 VPC,因此我们需要确保它们能够相互路由流量。

从 AWS 账户 A(TGW 所有者):

  • 前往 AWS 控制台 → VPC → Transit Gateway 路由表
  • 选择 TGW 路由表
  • 点击“路由”→ 查看到歌VPC的路由是否已经添加成功:

步骤 5:更新每个 AWS 账户中的 VPC 路由表


每个 AWS 账户必须更新其自身的 VPC 路由表,以便通过 TGW 路由流量。

对于每个 AWS 账户 B:

  • 前往 AWS 控制台 → VPC → 路由表
  • 选择私有子网的路由表
  • 点击“编辑路由”
  • 为其他 VPC 添加路由:

步骤 6:测试连接

在账号A和B中对应的vpc -subnet 中创建两台EC2: 

账号A: EC2 ip 10.1.1.24

账号B: EC2 ip 10.2.1.173


设置完成后,是时候验证网络连接了。

ssh 连接到账号A中的ec2, 

ping <账户 B 中 EC2 的私有 IP>

注意:如果 EC2 的入站和出站 IP 都已打开 ICMP,则只有 ping 有效。

总结

现在,您已使用 AWS Transit Gateway 跨多个账户拥有完全连接的 AWS 网络。


网站公告

今日签到

点亮在社区的每一天
去签到