

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# VPC-to-VPC 交通检查
<a name="vpc-to-vpc-traffic-inspection"></a>

VPC-to-VPC 当流量来自一个 VPC 并发往另一个 VPC 时，就会发生流量检查。流量在到达目标 VPC 之前，会重定向到设备 VPC，以进行流量检查。下图显示了 `Workload spoke VPC1` 中的 Amazon Elastic Compute Cloud（Amazon EC2）实例需要与 `Workload spoke VPC2` 中的 EC2 实例通信时流量的流动方式。

![\[两个分支 VPCs 和一个设备 VPC 之间的流量检查架构图\]](http://docs.aws.amazon.com/zh_cn/prescriptive-guidance/latest/inline-traffic-inspection-third-party-appliances/images/2-vpc-to-vpc.png)


在此应用场景中，两个分支 VPC 跨两个可用区托管工作负载 EC2 实例，一个设备 VPC 托管第三方防火墙设备以进行流量检查。 VPCs 它们使用相互连接 AWS Transit Gateway。该图显示了当可用区 1 中 `Workload spoke VPC1` 中的 EC2 实例向可用区 1 中 `Workload spoke VPC2` 中的实例发送数据包时的以下数据包流：

1. 来自可用区 1 中 `Workload spoke VPC1` 中的 EC2 实例的数据包将发送至可用区 1 中中转网关子网中的 Transit Gateway 弹性网络接口。

1. 根据 VPC 路由表中定义的默认路由，数据包将到达中转网关。

1. 在中转网关中，分支中转网关路由表与 `Workload spoke VPC1` 连接关联，而这决定了下一跃点。

1. 下一跃点是设备 VPC。由于设备 VPC 连接已开启设备模式，因此中转网关会根据 IP 数据包的 4 元组来决定将流量转发到哪个 Transit Gateway 弹性网络接口。

1. 如果 Transit Gateway 选择 `Appliance VPC` 中可用区 1 中的 Transit Gateway 弹性网络接口，则请求流量和响应流量的流量均会停留在可用区 1。

1. 流量会发送到可用区 1 中的 `Gateway Load Balancer endpoint 1`。

1. 网关负载均衡器端点使用逻辑连接到 Gateway Load Balancer AWS PrivateLink。网关负载均衡器使用 4 元组哈希算法来选择流量生命周期内的防火墙设备，然后将流量转发到可用区 1 中 `Appliance VPC` 中的设备进行检查。网关负载均衡器在其与防火墙设备之间创建了一条 GENEVE 隧道。

1. 根据防火墙策略检查流量。

1. 成功检查数据包后，数据包将发送回网关负载均衡器，然后发送到可用区 1 中 `Appliance VPC` 中的网关负载均衡器端点。

1. 在网关负载均衡器端点上，数据包根据 VPC 路由表发送到中转网关。

1. 数据包到达中转网关后，会检查与 `10.2.0.0/16` 网络（即目标网络）关联的路由表。

1. 在到达目标 EC2 实例之前，数据包将发送到可用区 1 中 `Workload spoke VPC2` 中的 Transit Gateway 弹性网络接口。返回流量所遵循的路径相同，但方向相反。

**注意**  
Transit Gateway 会保持可用区亲和性，并使用创建原始请求的同一可用区。例如，如果可用区 2 中 `Workload spoke VPC2` 中的 EC2 实例发起请求，则数据包将转发到可用区 2 中 `Workload spoke VPC2` 中的 Transit Gateway 弹性网络接口子网，到达中转网关，而后转发到目标 VPC 中可用区 2 中的 Transit Gateway 弹性网络接口子网。通过在设备 VPC 中开启设备模式，可确保使用流量生命周期内的 4 元组哈希保持对称流。