本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
Amazon VPC Transit Gateways 的工作原理
在 AWS Transit Gateway 中,传输网关充当区域虚拟路由器,用于在您的虚拟私有云 (VPCs) 和本地网络之间流动。中转网关根据网络流量的规模灵活地进行扩展。通过中转网关进行路由是在第 3 层运行的,其中,数据包根据其目的地 IP 地址发送到特定的下一个跃点连接。
示例架构图
下图显示了一个具有三个 VPC 连接的中转网关。其中每条路由的路由表都 VPCs 包括本地路由和将发往其他两条的流量发送 VPCs 到中转网关的路由。

以下是上图中所示连接的原定设置中转网关路由表示例。每个 VPC 的 CIDR 块都将传播到该路由表。从而让每个连接都可以将数据包路由到另外两个连接。
目标位置 | 目标 | 路由类型 |
---|---|---|
VPC A CIDR
|
Attachment for VPC A
|
传播 |
VPC B CIDR
|
Attachment for VPC B
|
传播 |
VPC C CIDR
|
Attachment for VPC C
|
传播 |
资源连接
中转网关连接同时是数据包的源和目的地。您可以将以下资源附加到中转网关:
-
一个或多个 VPCs。 AWS Transit Gateway 在 VPC 子网中部署弹性网络接口,然后传输网关使用该接口来路由往返所选子网的流量。每个可用区必须至少有一个子网,以确保流量可以到达该可用区内每个子网中的资源。在创建连接期间,只有在特定可用区内启用了某个子网时,才能确保同一可用区内的资源可到达该 Transit Gateway。如果子网路由表包含指向 Transit Gateway 的路由,则只有当 Transit Gateway 在同一可用区的子网中有连接时,才会将流量转发到该 Transit Gateway。
-
一个或多个 VPN 连接
-
一个或多个 AWS Direct Connect 网关
-
一个或多个 Transit Gateway Connect 连接
-
一个或多个中转网关对等连接
等价多路径路由
AWS Transit Gateway 支持大多数附件的等价多路径 (ECMP) 路由。对于 VPN 连接,您可以在创建或修改中转网关时使用控制台启用或禁用 ECMP 支持。对于所有其他连接类型,以下 ECMP 限制适用:
-
VPC - VPC 不支持 ECMP,因为 CIDR 块不能重叠。例如,您不能将 CIDR 为 10.1.0.0/16 的 VPC 与使用相同 CIDR 的另一个 VPC 连接到中转网关,然后设置路由以对它们之间的流量进行负载均衡。
-
VPN - 禁用 VPN ECMP support(VPN ECMP 支持)选项后,当多条路径的前缀相等时,中转网关会使用内部指标来确定首选路径。有关为 VPN 连接启用或禁用 ECMP 的更多信息,请参阅 Amazon VPC Transit Gateways 中的中转网关。
-
AWS Transit Gateway Connec AWS Transit Gateway t-Connect 附件自动支持 ECMP。
-
AWS Direct Connect 网 AWS Direct Connect 关-当网络前缀、前缀长度和 AS_PATH 完全相同时,网关附件会自动支持跨多个 Direct Connect 网关连接的 ECMP。
-
中转网关对等 - 中转网关对等不支持 ECMP,因为它既不支持动态路由,也不能针对两个不同的目标配置相同的静态路由。
注意
-
不支持 BGP Multipath as-Path Relax,因此您不能在不同的自治系统编号上使用 ECMP()。ASNs
-
不同连接类型之间不支持 ECMP。例如,您无法在 VPN 和 VPC 连接之间启用 ECMP。相反,将对中转网关路由进行评估,并根据评估的路径路由流量。有关更多信息,请参阅 路由评估顺序。
-
单个 Direct Connect 网关跨多个中转虚拟接口支持 ECMP。因此,建议您仅设置和使用单个 Direct Connect 网关,不要设置和使用多个网关来利用 ECMP。有关 Direct Connect 网关和公共虚拟接口的更多信息,请参阅如何设置 AWS 从公共虚拟接口到的 Active/Active 或 Active/Passive Direct Connect 连接?
。
可用区
当您将 VPC 连接到中转网关时,您必须启用要由中转网关使用的一个或多个可用区,以将流量路由到 VPC 子网中的资源。要启用每个可用区,您应指定确切一个子网。中转网关使用此子网中的一个 IP 地址将网络接口放入该子网中。在启用可用区之后,流量可路由到 VPC 中的所有子网,而不只是指定的子网或可用区。然而,只有驻留在拥有中转网关连接的可用区内的资源,才能到达中转网关。
如果流量来自目标附件不存在的可用区,则 Transit Gateway 将在内部将该流量路由到存在该附件的随机可用区。 AWS 对于这种类型的跨可用区流量,无需支付额外的中转网关费用。
我们建议您启用多个可用区以确保可用性。
使用设备模式支持
如果您计划在 VPC 中配置有状态的网络设备,则可以为该设备所在的 VPC 连接启用设备模式支持。这可以确保在源和目标之间传输流量的生命周期内,中转网关为该 VPC 连接使用相同的可用区。它还允许中转网关将流量发送到 VPC 中的任何可用区,只要该区中存在子网关联。有关更多信息,请参阅 示例:共享服务 VPC 中的设备。
路由
您的传输网关使用传输网关路由表在附件之间路由 IPv4 和 IPv6 数据包。您可以将这些路由表配置为传播来自已连接网关 VPCs、VPN 连接和 Direct Connect 网关的路由表中的路由。您还可以将静态路由添加到中转网关路由表中。当数据包来自一个连接时,会使用与目的地 IP 地址相符的路由,将该数据包路由到另一个连接。
中转网关对等连接仅支持静态路由。
路由表
您的中转网关自动附带默认路由表。默认情况下,此路由表是默认的关联路由表和默认的传播路由表。如果您同时禁用路由传播和路由表关联,则 AWS 不会为公交网关创建默认路由表。但是,如果启用了路由传播或路由表关联, AWS 则会创建默认路由表。
您可以为中转网关创建其他路由表。这样,您就可以隔离连接的子网。每个连接可以与一个路由表相关联。一个连接可以将其路由传播到一个或多个路由表。
您可以在中转网关路由表中创建丢弃与路由匹配的流量的黑洞路由。
将 VPC 附加到中转网关时,您必须向子网路由表添加路由,以使流量通过中转网关进行路由。有关更多信息,请参阅《Amazon VPC 用户指南》中的 Transit Gateway 的路由。
路由表关联
您可以将中转网关连接与单个路由表相关联。每个路由表可以与零到多个连接关联,并可以将数据包转发到其他连接。
路由传播
每个连接都附带可以安装到一个或多个中转网关路由表的路由。当连接传播到中转网关路由表时,这些路由安装在路由表中。您无法根据通告的路由进行筛选。
对于 VPC 连接,VPC 的 CIDR 块将传播到中转网关路由表。
当动态路由与 VPN 连接或 Direct Connect 网关连接一起使用时,可以通过 BGP 将从本地路由器获知的路由传播到任何中转网关路由表中。
当动态路由与 VPN 连接一起使用时,路由表中与 VPN 连接关联的路由将通过 BGP 发布给客户网关。
对于 Connect 连接,与 Connect 连接关联的路由表中的路由会通过 BGP 向在 VPC 中运行的第三方虚拟设备(例如 SD-WAN 设备)公开。
对于 Direct Connect 网关连接,允许的前缀交互控制从哪些路由通告到客户网络。 AWS
当静态路由和传播路由具有相同的目标时,静态路由具有更高的优先级,因此传播路由不包含在路由表中。如果移除静态路由,则重叠的传播路由将包含在路由表中。
对等连接的路由
您可以将两个中转网关对等连接并在它们之间路由流量。为此,您可以在中转网关上创建对等连接,并指定要与其创建对等连接的对等中转网关。然后,您可以在中转网关路由表中创建静态路由,以将流量路由到中转网关对等连接。路由到对等中转网关的流量随后可以路由到对等中转网关的 VPC 和 VPN 连接。
有关更多信息,请参阅 示例:对等中转网关。
路由评估顺序
中转网关路由是按以下顺序评估的:
-
目标地址的最具体路由。
-
如果路由的 CIDR 相同,但连接类型不同,则路由优先级如下所示:
-
静态路由(例如, Site-to-SiteVPN 静态路由)
-
前缀列表引用的路由
-
VPC 传播路由
-
Direct Connect 网关传播路由
-
Transit Gateway Connect 传播路由
-
Site-to-Site 通过私有直接连接传播的路由进行的 VPN
-
Site-to-Site VPN 传播的路由
-
中转网关对等传播路由(Cloud WAN)
-
某些连接支持通过 BGP 的路由通告。如果路由的 CIDR 相同,连接类型也相同,则路由优先级受 BGP 属性控制:
-
AS 路径长度更短
-
MED 值更低
-
如果附件支持,则首选 eBGP 而不是 iBGP 路由
重要
-
AWS 无法保证具有与上面列出的 CIDR、连接类型和 BGP 属性相同的 BGP 路由的路由优先顺序一致。
-
对于通告到没有 MED 的公交网关的路由,T AWS ransit Gateway 将分配以下默认值:
-
0 表示在 Direct Connect 附件上通告的入站路由。
-
100 表示在 VPN 和 Connect 附件上通告的入站路由。
-
-
AWS Transit Gateway 仅显示首选路线。仅当不再通告之前的活动路由时,备用路由才会出现在中转网关路由表中,例如,如果您通过 Direct Connect 网关和 Site-to-Site VPN 通告相同的路由。 AWS Transit Gateway 将仅显示从 Direct Connect 网关路由(首选路由)收到的路由。 Site-to-SiteVPN 作为备用路由,只有在不再通告 Direct Connect 网关时才会显示。
VPC 和中转网关路由表的差异
无论您使用的是 VPC 路由表还是中转网关路由表,路由表评估都会有所不同。
以下示例显示的是一张 VPC 路由表。VPC 本地路由具有最高的优先级,然后是最具体的路由。在静态路由和传播的路由具有相同的目标时,静态路由具有更高的优先级。
目的地 | 目标 | 优先级 |
---|---|---|
10.0.0.0/16 |
本地 |
1 |
192.168.0.0/16 | pcx-12345 | 2 |
172.31.0.0/16 | vgw-12345(静态)或 tgw-12345(静态) |
2 |
172.31.0.0/16 | vgw-12345(传播) | 3 |
0.0.0.0/0 | igw-12345 | 4 |
以下示例显示的是中转网关路由表。如果要选择 AWS Direct Connect 网关连接而不是 VPN 连接,则使用 BGP VPN 连接并传播中转网关路由表中的路由。
目的地 | 连接(目标) | 资源类型 | 路由类型 | 优先级 |
---|---|---|---|---|
10.0.0.0/16 | tgw-attach-123 | vpc-1234 | VPC | 静态或传播 | 1 |
192.168.0.0/16 | tgw-attach-789 | vpn-5678 | VPN | 静态 | 2 |
172.31.0.0/16 | tgw-attach-456 | dxgw_id | AWS Direct Connect 网关 | 传播 | 3 |
172.31.0.0/16 | tgw-attach-789 | -123 tgw-connect-peer | Connect | 传播 | 4 |
172.31.0.0/16 | tgw-attach-789 | vpn-5678 | VPN | 传播 | 5 |
网络功能附件
网络功能附件是一种将网络安全功能(例如 AWS Network Firewall 附件)直接连接到您的传输网关的资源。它无需手动创建和管理检查 VPCs。
使用网络功能附件:
-
AWS 自动创建和管理底层基础架构
-
当流量流经您的公交网关时,可以对其进行检查
-
在您的网络中始终如一地应用安全策略
-
您可以使用简单的路由规则引导流量通过防火墙
-
该附件可跨多个可用区使用,以实现高可用性
这种集成允许您将防火墙直接连接到传输网关,而不必创建复杂的路由配置并通过单独管理单独的终端节点,从而简化了网络安全。 VPCs
AWS Network Firewall 整合
AWS Network Firewall 集成允许您在服务管理的缓冲区 VPC 中以一组 Gateway Load Balancer 终端节点的形式连接防火墙,每个可用区一个。Network Firewall 连接是在自动启用设备模式的情况下创建的。这样就无需对检查进行明确管理 VPCs。
通过集成 Network Firewall,您不再需要 VPCs 为网络防火墙部署创建和管理检查。无需在创建防火墙时选择 VPC 和子网,而是直接选择 Transit Gateway,然后在幕后 AWS 自动配置和管理所有必要的资源。您将看到新的传输网关网络功能附件,而不是单个防火墙端点。
对于跨账户场景,Transit Gateway 可以从 Transit Gateway 所有者与 Network Firewall 所有者账户共享 RAM,从而允许任一账户管理防火墙附件。防火墙和附件准备就绪后,您只需修改 Transit Gateway 路由表,即可将流量发送到附件进行检查。
注意
-
Transit Gateway 仅支持网络防火墙附件上的静态路由。
-
不支持第三方防火墙。
有关防火墙和附件的更多信息,请参阅 T ransit 网关网络功能附件。
中转网关方案示例
以下是中转网关的常见使用案例。您的中转网关并不仅限于这些使用案例。
示例
您可以将传输网关配置为连接所有 VPCs AWS Direct Connect、和 Site-to-Site VPN 连接的集中式路由器。在该方案中,所有连接与中转网关默认路由表相关联,并传播到中转网关默认路由表。因此,所有连接都可以将数据包路由到彼此,而将中转网关用作简单第 3 层 IP 路由器。
概览
下表展示了此场景配置的主要组成部分。在这种情况下,传输网关有三个 VPC 连接和一个 Site-to-Site VPN 连接。来自 VPC A、VPC B 和 VPC C 并将其他 VPC 中的子网或 VPN 连接作为目的地的数据包,首先通过中转网关路由。

资源
为此场景创建以下资源:
-
三 VPCs。有关更多信息,请参阅 Amazon VPC 用户指南中的创建 VPC。
-
中转网关。有关更多信息,请参阅 使用 Amazon VPC 中转网关创建中转网关。
-
中转网关上有三个 VPC 连接。有关更多信息,请参阅 使用 Amazon VPC 传输网关创建 VPC 连接。
-
传输网关上的 Site-to-Site VPN 附件。每个 VPC 的 CIDR 块将传播到中转网关路由表。VPN 连接启动后,BGP 会话即建立, Site-to-SiteVPN CIDR 传播到传输网关路由表,VPC CIDRs 将添加到客户网关 BGP 表中。有关更多信息,请参阅 使用 Amazon VPC 中转网关创建与 VPN 的中转网关连接。
务必查看 AWS Site-to-Site VPN 用户指南中的客户网关设备的要求。
路由
每个 VPC 具有一个路由表,并且中转网关具有一个路由表。
VPC 路由表
每个 VPC 具有一个包含 2 个条目的路由表。第一个条目是 VPC 中本地IPv4 路由的默认条目;此条目使此 VPC 中的实例能够相互通信。第二个条目将所有其他 IPv4 子网流量路由到传输网关。下表显示了 VPC A 路由。
目的地 | 目标 |
---|---|
10.1.0.0/16 |
本地 |
0.0.0.0/0 |
tgw-id |
中转网关路由表
下面是前一个图中显示的连接的默认路由表示例(启用了路由传播)。
目的地 | 目标 | 路由类型 |
---|---|---|
10.1.0.0/16 |
|
传播 |
10.2.0.0/16 |
|
传播 |
10.3.0.0/16 |
|
传播 |
10.99.99.0/24 |
Attachment for VPN connection |
传播 |
客户网关 BGP 表
客户网关 BGP 表包含以下 VPC CIDRs。
-
10.1.0.0/16
-
10.2.0.0/16
-
10.3.0.0/16
您可以将中转网关配置为多个隔离的路由器。这类似于使用多个中转网关,但在路由和连接可能更改的情况下可提供更大的灵活性。在此方案中,每个隔离的路由器都有单个路由表。所有与隔离的路由器关联的连接都传播其路由表并与这些路由表关联。与一个隔离的路由器关联的连接可以将数据包路由到彼此,但无法将数据包路由到另一个隔离路由器的连接或从中接收数据包。
概览
下表展示了此场景配置的主要组成部分。来自 VPC A、VPC B 和 VPC C 的数据包路由到中转网关。来自 VPC A、VPC B 和 VPC C 中以互联网为目的地的子网的数据包首先通过传输网关进行路由,然后路由到 Site-to-Site VPN 连接(如果目标位于该网络内)。来自一个 VPC 并将另一个 VPC 中的子网作为目的地的数据包(例如从 10.1.0.0 到 10.2.0.0)通过中转网关进行路由,将在其中阻止这些数据包,因为在中转网关路由表中没有它们的路由。

资源
为此场景创建以下资源:
-
三 VPCs。有关更多信息,请参阅 Amazon VPC 用户指南中的创建 VPC。
-
中转网关。有关更多信息,请参阅 使用 Amazon VPC 中转网关创建中转网关。
-
三者的公交网关上有三个附件 VPCs。有关更多信息,请参阅 使用 Amazon VPC 传输网关创建 VPC 连接。
-
传输网关上的 Site-to-Site VPN 附件。有关更多信息,请参阅 使用 Amazon VPC 中转网关创建与 VPN 的中转网关连接。务必查看 AWS Site-to-Site VPN 用户指南中的客户网关设备的要求。
VPN 连接启动后,BGP 会话即建立,VPN CIDR 传播到传输网关路由表,VPC CIDRs 将添加到客户网关 BGP 表中。
路由
每个 VPC 都有一个路由表,传输网关有两个路由表,一个用于 VPN 连接。 VPCs
VPC A、VPC B 和 VPC C 路由表
每个 VPC 具有一个包含 2 个条目的路由表。第一个条目是 VPC 中本地 IPv4 路由的默认条目。此条目使该 VPC 中的实例能够相互通信。第二个条目将所有其他 IPv4 子网流量路由到传输网关。下表显示了 VPC A 路由。
目的地 | 目标 |
---|---|
10.1.0.0/16 |
本地 |
0.0.0.0/0 |
tgw-id |
中转网关路由表
此场景使用一个路由表作为 VPN 连接 VPCs ,使用一个路由表进行 VPN 连接。
VPC 连接与以下路由表相关联,该路由表具有 VPN 连接的传播路由。
目的地 | 目标 | 路由类型 |
---|---|---|
10.99.99.0/24 | Attachment for VPN connection |
传播 |
VPN 连接与以下路由表相关联,该路由表具有每个 VPC 连接的传播路由。
目的地 | 目标 | 路由类型 |
---|---|---|
10.1.0.0/16 |
|
传播 |
10.2.0.0/16 |
|
传播 |
10.3.0.0/16 |
|
传播 |
有关在中转网关路由表中传播路由的更多信息,请参阅使用 Amazon VPC 中转网关启用路由传播到中转网关路由表。
客户网关 BGP 表
客户网关 BGP 表包含以下 VPC CIDRs。
-
10.1.0.0/16
-
10.2.0.0/16
-
10.3.0.0/16
您可以将中转网关配置为多个使用共享服务的隔离路由器。这类似于使用多个中转网关,但在路由和连接可能更改的情况下可提供更大的灵活性。在此方案中,每个隔离的路由器都有单个路由表。所有与隔离的路由器关联的连接都传播其路由表并与这些路由表关联。与一个隔离的路由器关联的连接可以将数据包路由到彼此,但无法将数据包路由到另一个隔离路由器的连接或从中接收数据包。连接可以将数据包路由到共享服务,或从共享服务中接收数据包。如果您具有需要隔离的组,但这些组使用共享服务(例如生产系统),则可以使用该方案。
概览
下表展示了此场景配置的主要组成部分。来自 VPC A、VPC B 和 VPC C 中以互联网为目的地的子网的数据包首先通过传输网关进行路由,然后路由到 Site-to-Site VPN 的客户网关。如果数据包来自 VPC A、VPC B 或 VPC C 中的子网并以 VPC A、VPC B 或 VPC C 中的某个子网为目的地,则将通过中转网关进行路由,但由于中转网关路由表中没有这些子网的路由,因此将被阻止。来自 VPC A、VPC B 和 VPC C 并将 VPC D 作为目的地的数据包通过中转网关进行路由,然后路由到 VPC D。

资源
为此场景创建以下资源:
-
四 VPCs。有关更多信息,请参阅 Amazon VPC 用户指南中的创建 VPC。
-
中转网关。有关更多信息,请参阅创建中转网关。
-
中转网关上有四个连接,每个 VPC 一个。有关更多信息,请参阅 使用 Amazon VPC 传输网关创建 VPC 连接。
-
传输网关上的 Site-to-Site VPN 附件。有关更多信息,请参阅 使用 Amazon VPC 中转网关创建与 VPN 的中转网关连接。
务必查看 AWS Site-to-Site VPN 用户指南中的客户网关设备的要求。
VPN 连接启动后,BGP 会话即建立,VPN CIDR 传播到传输网关路由表,VPC CIDRs 将添加到客户网关 BGP 表中。
-
每个隔离的 VPC 都与隔离路由表关联,并会传播到共享路由表。
-
每个共享的服务 VPC 都与共享路由表关联,并会传播到两个路由表。
路由
每个 VPC 都有一个路由表,传输网关有两个路由表,一个用于 VPN 连接 VPCs 和共享服务 VPC。
VPC A、VPC B、VPC C 和 VPC D 路由表
每个 VPC 都具有一个包含两个条目的路由表。第一个条目是 VPC 中本地路由的默认条目;这项条目允许该 VPC 中的实例在彼此之间进行通信。第二个条目将所有其他 IPv4 子网流量路由到传输网关。
目标位置 | 目标 |
---|---|
10.1.0.0/16 | 本地 |
0.0.0.0/0 | transit gateway ID |
中转网关路由表
此场景使用一个路由表作为 VPN 连接 VPCs ,使用一个路由表进行 VPN 连接。
VPC A、B 和 C 连接与以下路由表相关联,该路由表具有 VPN 连接的传播路由以及 VPC D 的连接的传播路由。
目的地 | 目标 | 路由类型 |
---|---|---|
10.99.99.0/24 | Attachment for VPN connection |
传播 |
10.4.0.0/16 | Attachment for VPC D |
传播 |
VPN 连接和共享服务 VPC(VPC D)连接与以下路由表相关联,该路由表具有指向各个 VPC 连接的条目。这允许 VPCs 从 VPN 连接和共享服务 VPC 与的通信。
目标位置 | 目标 | 路由类型 |
---|---|---|
10.1.0.0/16 | Attachment for VPC A |
传播 |
10.2.0.0/16 | Attachment for VPC B |
传播 |
10.3.0.0/16 | Attachment for VPC C |
传播 |
有关更多信息,请参阅 使用 Amazon VPC 中转网关启用路由传播到中转网关路由表。
客户网关 BGP 表
客户网关 BGP 表包含所有四个 VPCs网关 CIDRs 的。
您可以在多个中转网关之间创建中转网关对等连接。然后,您可以在各个中转网关的连接之间路由流量。在该场景中,VPC 和 VPN 连接与中转网关默认路由表相关联,并传播到中转网关默认路由表。每个中转网关路由表都有一个指向中转网关对等连接的静态路由。
概览
下表展示了此场景配置的主要组成部分。传输网关 1 有两个 VPC 附件,传输网关 2 有一个 Site-to-Site VPN 连接。来自 VPC A 和 VPC B 中的子网并指向 Internet 的数据包通过中转网关 1 路由,然后通过中转网关 2,最后路由到 VPN 连接。

资源
为此场景创建以下资源:
-
二 VPCs。有关更多信息,请参阅 Amazon VPC 用户指南中的创建 VPC。
-
两个中转网关。它们可位于相同的区域或不同的区域中。有关更多信息,请参阅 使用 Amazon VPC 中转网关创建中转网关。
-
第一个中转网关上的两个 VPC 连接。有关更多信息,请参阅 使用 Amazon VPC 传输网关创建 VPC 连接。
-
第二个传输网关上的 Site-to-Site VPN 附件。有关更多信息,请参阅 使用 Amazon VPC 中转网关创建与 VPN 的中转网关连接。务必查看 AWS Site-to-Site VPN 用户指南中的客户网关设备的要求。
-
两个中转网关之间的中转网关对等连接。有关更多信息,请参阅 Amazon VPC Transit Gateways 中的中转网关对等节点连接。
创建 VPC 附件时,每个 VPC CIDRs 的都会传播到中转网关 1 的路由表。VPN 连接启动时,会发生以下操作:
-
建立了 BGP 会话
-
Site-to-SiteVPN CIDR 传播到传输网关 2 的路由表
-
VPC CIDRs 已添加到客户网关 BGP 表中
路由
每个 VPC 都有一个路由表,每个中转网关都有一个路由表。
VPC A 和 VPC B 路由表
每个 VPC 具有一个包含 2 个条目的路由表。第一个条目是 VPC 中本地 IPv4 路由的默认条目。此默认条目使该 VPC 中的资源能够相互通信。第二个条目将所有其他 IPv4 子网流量路由到传输网关。下表显示了 VPC A 路由。
目的地 | 目标 |
---|---|
10.0.0.0/16 |
本地 |
0.0.0.0/0 |
tgw-1-id |
中转网关路由表
以下是中转网关 1 的默认路由表示例,其中启用了路由传播。
目的地 | 目标 | 路由类型 |
---|---|---|
10.0.0.0/16 |
|
传播 |
10.2.0.0/16 |
|
传播 |
0.0.0.0/0 |
Attachment ID for peering connection |
静态 |
以下是中转网关 2 的默认路由表示例,其中启用了路由传播。
目的地 | 目标 | 路由类型 |
---|---|---|
172.31.0.0/24 |
Attachment ID for VPN connection |
传播 |
10.0.0.0/16 |
|
静态 |
10.2.0.0/16 |
Attachment ID for peering connection
|
静态 |
客户网关 BGP 表
客户网关 BGP 表包含以下 VPC CIDRs。
-
10.0.0.0/16
-
10.2.0.0/16
您可以配置中转网关,将出站互联网流量从没有互联网网关的 VPC 路由到包含 NAT 网关和互联网网关的 VPC。
概览
下表展示了此场景配置的主要组成部分。您的应用程序位于 VPC A 和 VPC B 中,这些应用程序只需要出站互联网访问。您可以为 VPC C 配置公有 NAT 网关和互联网网关,并为 VPC 连接配置私有子网。Connect 全部 VPCs 连接到公交网关。配置路由,以便来自 VPC A 和 VPC B 的出站互联网流量经过 VPC C 的中转网关。VPC C 中的 NAT 网关将流量路由到互联网网关。

资源
为此场景创建以下资源:
-
三 VPCs 个 IP 地址范围既不相同也不重叠。有关更多信息,请参阅 Amazon VPC 用户指南中的创建 VPC。
-
VPC A 和 VPC B 各有带 EC2 实例的私有子网。
-
VPC C 具有以下内容:
-
附加到 VPC 的互联网网关。有关更多信息,请参阅 Amazon VPC 用户指南中的创建并附加互联网网关。
-
具有 NAT 网关的公有子网。有关更多信息,请参阅 Amazon VPC 用户指南中的创建 NAT 网关。
-
用于中转网关连接的私有子网。私有子网应与公有子网位于同一个可用区。
-
-
一个中转网关。有关更多信息,请参阅使用 Amazon VPC 中转网关创建中转网关。
-
中转网关上有三个 VPC 连接。每个 VPC 的 CIDR 块将传播到中转网关路由表。有关更多信息,请参阅 使用 Amazon VPC 传输网关创建 VPC 连接。对于 VPC C,您必须使用私有子网创建连接。如果您使用公有子网创建连接,则实例流量会路由到互联网网关,但互联网网关会丢弃流量,因为实例没有公有 IP 地址。通过将连接放在私有子网中,流量将路由到 NAT 网关,NAT 网关使用弹性 IP 地址作为源 IP 地址将流量发送到互联网网关。
路由
每个 VPC 都具有路由表,并且中转网关具有一个路由表。
VPC A 的路由表
以下是一个示例路由表。第一个条目使 VPC 中的实例能够相互通信。第二个条目将所有其他 IPv4 子网流量路由到传输网关。
目标位置 | 目标 |
---|---|
|
本地 |
0.0.0.0/0 |
|
VPC B 的路由表
以下是一个示例路由表。第一个条目使该 VPC 中的实例能够相互通信。第二个条目将所有其他 IPv4 子网流量路由到传输网关。
目标位置 | 目标 |
---|---|
|
本地 |
0.0.0.0/0 |
|
VPC C 的路由表
通过向互联网网关添加路由将具有 NAT 网关的子网配置为公有子网。将另一个子网保留为私有子网。
以下是公有子网的示例路由表。第一个条目使 VPC 中的实例能够相互通信。第二个和第三个条目将 VPC A 和 VPC B 的流量路由到中转网关。其余条目将所有其他 IPv4 子网流量路由到互联网网关。
目标位置 | 目标 |
---|---|
VPC C CIDR |
本地 |
VPC A CIDR |
transit-gateway-id |
VPC B CIDR |
transit-gateway-id |
0.0.0.0/0 | internet-gateway-id |
以下是私有子网的示例路由表。第一个条目使 VPC 中的实例能够相互通信。第二个条目将所有其他 IPv4 子网流量路由到 NAT 网关。
目标位置 | 目标 |
---|---|
VPC C CIDR |
本地 |
0.0.0.0/0 | nat-gateway-id |
中转网关路由表
以下是中转网关路由表的示例。每个 VPC 的 CIDR 块将传播到中转网关路由表。静态路由将出站互联网流量发送到 VPC C。您可以选择通过为每个 VPC CIDR 添加黑洞路由来阻止内部 VPC 通信。
CIDR | 附件 | 路由类型 |
---|---|---|
|
|
传播 |
|
|
传播 |
|
|
传播 |
0.0.0.0/0 |
|
静态 |
您可以在共享服务 VPC 中配置设备(例如安全设备)。在 Transit Gateway 连接之间路由的所有流量首先由共享服务 VPC 中的设备进行检查。启用设备模式后,中转网关使用流哈希算法选择设备 VPC 中的单个网络接口,以便在流的生命周期内将流量发送到此。中转网关为返程流量使用相同的网络接口。这可确保双向流量以对称方式路由,在流量的生命周期内,它将通过 VPC 连接中的同一可用区路由。如果您的架构中有多个中转网关,则每个中转网关都保持自己的会话关联性,并且每个中转网关可以选择不同的网络接口。
您必须将一个中转网关连接到设备 VPC,以保证流粘性。将多个中转网关连接到单个设备 VPC 并不能保证流粘性,因为中转网关不会彼此共享流状态信息。
重要
-
只要源流量和目标流量指向来自同一个 Transit Gateway 连接的集中 VPC(检查 VPC),则设备模式下的流量就会正确路由。如果源和目标位于不同的中转网关连接上,则流量可能会丢失。如果集中式 VPC 接收来自另一个网关(如某个外部网关)的流量,然后在检查后再将这些流量发送到中转网关连接,则流量可能会丢失。
-
在现有连接上启用设备模式可能会影响该连接的当前路由,因为该连接可通过任何可用区流动。未启用设备模式时,流量会保留到来源可用区。
概览
下表展示了此场景配置的主要组成部分。中转网关有三个 VPC 连接。VPC C 是共享服务 VPC。VPC A 和 VPC B 之间的流量将路由到中转网关,然后路由到 VPC C 中的安全设备进行检查,接着路由到最终目的地。设备是一个有状态的设备,因此将同时检查请求和响应流量。为了实现高可用性,VPC C 的每个可用区中都有一个设备。

您为此场景创建以下资源:
-
三 VPCs。有关更多信息,请参阅 Amazon VPC 用户指南中的创建 VPC。
-
中转网关。有关更多信息,请参阅 使用 Amazon VPC 中转网关创建中转网关。
-
三个 VPC 附件-每个附件 VPCs。有关更多信息,请参阅 使用 Amazon VPC 传输网关创建 VPC 连接。
对于每个 VPC 连接,请在每个可用区中指定一个子网。对于共享服务 VPC,这些子网是将流量从中转网关路由到 VPC 的子网。在前面的示例中,这些是子网 A 和 C。
对于 VPC C 的 VPC 连接,启用设备模式支持,以便将响应流量路由到 VPC C 中与源流量相同的可用区。
Amazon VPC 控制台支持设备模式。您也可以使用 Amazon VPC API、 AWS 软件开发工具包、启用设备模式或 AWS CloudFormation。 AWS CLI 例如,在-attachment或 create-transit-gateway-vpcmodify-transit-gateway-vpc-attachmen
t命令中添加 --options ApplianceModeSupport=enable
。
注意
设备模式下的流粘性仅对源自检查 VPC 的源和目标流量有保证。
有状态设备和设备模式
如果您的 VPC 连接跨越多个可用区,并且您需要通过同一设备路由源主机和目标主机之间的流量以进行状态检查,请为设备所在的 VPC 连接启用设备模式支持。
有关更多信息,请参阅 AWS 博客中的集中检查架构
未启用设备模式时的行为
如果设备模式未启用,中转网关会尝试在源可用区内的 VPC 连接之间保持流量路由,直到流量到达目的地。只有在可用区出现故障或该可用区中没有与 VPC 连接关联的子网时,流量才会在挂接之间跨过可用区。
下图显示未启用设备模式支持时的流量。源自 VPC B 中可用区 2 的响应流量由中转网关路由到 VPC C 中的同一可用区。因此,由于可用区 2 中的设备不知道来自 VPC A 中源的原始请求,流量被丢弃。

路由
每个 VPC 都有一个或多个路由表,中转网关有两个路由表。
VPC 路由表
VPC A 和 VPC B
VPCs A 和 B 的路由表有 2 个条目。第一个条目是 VPC 中本地 IPv4 路由的默认条目。此默认条目使该 VPC 中的资源能够相互通信。第二个条目将所有其他 IPv4 子网流量路由到传输网关。以下是 VPC A 的路由表。
目的地 | 目标 |
---|---|
10.0.0.0/16 |
本地 |
0.0.0.0/0 |
tgw-id |
VPC C
共享服务 VPC (VPC C) 对于每个子网有不同的路由表。子网 A 由中转网关使用(您在创建 VPC 连接时指定此子网)。子网 A 的路由表将所有流量路由到子网 B 中的设备。
目的地 | 目标 |
---|---|
192.168.0.0/16 |
本地 |
0.0.0.0/0 |
appliance-eni-id |
子网 B(包含设备)的路由表将流量路由回中转网关。
目的地 | 目标 |
---|---|
192.168.0.0/16 |
本地 |
0.0.0.0/0 |
tgw-id |
中转网关路由表
此中转网关为 VPC A 和 VPC B 使用一个路由表,并为共享服务 VPC (VPC C) 使用一个路由表。
VPC A 和 VPC B 连接与以下路由表关联。路由表将所有流量路由到 VPC C。
目的地 | 目标 | 路由类型 |
---|---|---|
0.0.0.0/0 |
|
静态 |
VPC C 连接与以下路由表相关联。它将流量路由到 VPC A 和 VPC B。
目的地 | 目标 | 路由类型 |
---|---|---|
10.0.0.0/16 |
|
已传播 |
10.1.0.0/16 |
|
传播 |