示例:共享服务 VPC 中的设备 - Amazon VPC

示例:共享服务 VPC 中的设备

您可以在共享服务 VPC 中配置设备(例如安全设备)。在 Transit Gateway 挂载之间路由的所有流量首先由共享服务 VPC 中的设备进行检查。

您必须将一个中转网关连接到设备 VPC,以保证流粘性。将多个中转网关连接到单个设备 VPC 并不能保证流粘性,因为中转网关不会彼此共享流状态信息。

注意

只要源流量和目标流量指向来自同一个 Transit Gateway 挂载的集中 VPC(检查 VPC),则设备模式下的流量就会正确路由。如果源和目标来自两个不同的 Transit Gateway 挂载,则流量可能会丢失。设备模式不适用于通过 VPN 传入网络的流量。

概览

下表展示了此场景配置的主要组成部分。中转网关有三个 VPC 挂载。VPC C 是共享服务 VPC。VPC A 和 VPC B 之间的流量将路由到中转网关,然后路由到 VPC C 中的安全设备进行检查,接着路由到最终目的地。设备是一个有状态的设备,因此将同时检查请求和响应流量。为了实现高可用性,VPC C 的每个可用区中都有一个设备。


                共享服务 VPC 中的设备

您为此场景创建以下资源:

  • 三个 VPC。有关创建 VPC 的信息,请参阅 Amazon Virtual Private Cloud 用户指南 中的创建 VPC

  • 中转网关。有关更多信息,请参阅 创建中转网关

  • 三个 VPC 挂载 - 每个 VPC 一个。有关更多信息,请参阅 创建 VPC 的中转网关连接挂载

    对于每个 VPC 挂载,请在每个可用区中指定一个子网。对于共享服务 VPC,这些子网是将流量从中转网关路由到 VPC 的子网。在前面的示例中,这些是子网 A 和 C。

    对于 VPC C 的 VPC 挂载,启用设备模式支持,以便将响应流量路由到 VPC C 中与源流量相同的可用区。

    Amazon VPC 控制台不支持设备模式。您可以使用 Amazon VPC API、AWS 开发工具包或 AWS CLI 启用设备模式。例如,将 --options ApplianceModeSupport=enable 添加到 create-transit-gateway-vpc-attachmentmodify-transit-gateway-vpc-attachment 命令。

有状态设备和设备模式

启用设备模式后,中转网关使用流哈希算法选择设备 VPC 中的单个网络接口,以便在流的生命周期内将流量发送到此。中转网关为返程流量使用相同的网络接口。这可确保双向流量以对称方式路由,在流量的生命周期内,它将通过 VPC 挂载中的同一可用区路由。如果您的架构中有多个中转网关,则每个中转网关都保持自己的会话关联性,并且每个中转网关可以选择不同的网络接口。

如果您的 VPC 挂载跨越多个可用区,并且您需要通过同一设备路由源主机和目标主机之间的流量以进行状态检查,请为设备所在的 VPC 挂载启用设备模式支持。

有关详细信息,请参阅 AWS 博客中的集中检查架构

未启用设备模式时的行为

如果设备模式未启用,中转网关会尝试在源可用区内的 VPC 挂载之间保持流量路由,直到流量到达目的地。只有在可用区出现故障或该可用区中没有与 VPC 挂载关联的子网时,流量才会在挂接之间跨过可用区。

下图显示未启用设备模式支持时的流量。源自 VPC B 中可用区 2 的响应流量由中转网关路由到 VPC C 中的同一可用区。因此,由于可用区 2 中的设备不知道来自 VPC A 中源的原始请求,流量被丢弃。


                到设备的响应流量丢失

路由选择

每个 VPC 都有一个或多个路由表,中转网关有两个路由表。

VPC 路由表

VPC A 和 VPC B

VPC 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 的挂载 ID

静态

VPC C 挂载与以下路由表相关联。它将流量路由到 VPC A 和 VPC B。

目的地 目标 路由类型

10.0.0.0/16

VPC A 的连接 ID

已传播

10.1.0.0/16

VPC B 的连接 ID

传播