

# 中间盒路由向导
<a name="middlebox-routing-console"></a>

如果要配置对进入或离开 VPC 的流量路由路径的精细控制（例如，通过将流量重新导向到安全设备），则可以使用 VPC 控制台中的中间盒路由向导。中间盒路由向导通过自动创建必要的路由表和路由（跃点）来帮助您根据需要重新导向流量。

中间盒路由向导可以帮助您针对以下场景配置路由：
+ 将流量路由到中间盒设备，例如，配置为安全设备的 Amazon EC2 实例。
+ 将流量路由到网关负载均衡器端点。有关更多信息，请参阅[网关负载均衡器用户指南](https://docs.aws.amazon.com/elasticloadbalancing/latest/gateway/)。

有关更多信息，请参阅 [中间盒场景](middlebox-routing-examples.md)。

**Topics**
+ [中间盒路由向导先决条件](#routing-console-rules)
+ [将 VPC 流量重定向到安全设备](working-with-routing-console.md)
+ [中间盒路由向导注意事项](#console-routes-considerations)
+ [中间盒场景](middlebox-routing-examples.md)

## 中间盒路由向导先决条件
<a name="routing-console-rules"></a>

审核 [中间盒路由向导注意事项](#console-routes-considerations)。然后，请确保您在使用中间盒路由向导之前具有以下信息。
+ VPC。
+ 流量进出 VPC 的资源，例如，互联网网关、虚拟私有网关或网络接口。
+ 中间盒网络接口或网关负载均衡器端点。
+ 流量的目的地子网。

# 将 VPC 流量重定向到安全设备
<a name="working-with-routing-console"></a>

中间盒路由向导可在 Amazon VPC 控制台中使用。

**Topics**
+ [1. 使用中间盒路由向导创建路由](#creating-routing-console)
+ [2. 修改中间盒路由](#modify-route)
+ [3. 删除中间盒路由向导配置](#deleting-routing-console)

## 1. 使用中间盒路由向导创建路由
<a name="creating-routing-console"></a>

**使用中间盒路由向导创建路由**

1. 通过 [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/) 打开 Amazon VPC 控制台。

1. 在导航窗格中，选择 **Your VPCs**(您的 VPC)。

1. 选择您的 VPC，然后选择 **Actions (操作)**、**Manage middlebox routes (管理中间盒路由)**。

1. 选择 **Create routes (创建路由)**。

1. 在 **Specify routes (指定路由)** 页面中，执行以下操作：
   + 对于 **Source (源)**，选择流量的来源。如果选择虚拟私有网关，则对于 **Destination IPv4 CIDR (目的地 IPv4 CIDR)**，输入从虚拟私有网关进入 VPC 的本地流量的 CIDR。
   + 对于 **Middlebox (中间盒)**，选择与您的中间盒设备关联的网络接口 ID，或者当您使用网关负载均衡器端点时，选择 VPC 终端节点 ID。
   + 对于 **Destination subnet (目的地子网)**，选择目的地子网。

1. （可选）要添加其他目的地子网，请选择 **Add additional subnet (添加其他子网)**，然后执行以下操作：
   + 对于 **Middlebox (中间盒)**，选择与您的中间盒设备关联的网络接口 ID，或者当您使用网关负载均衡器端点时，选择 VPC 终端节点 ID。

     对于多个子网，您必须使用同一个中间盒设备。
   + 对于 **Destination subnet (目的地子网)**，选择目的地子网。

1. （可选）要添加其他源，请选择 **Add source (添加源)**，然后重复前面的步骤。

1. 选择**下一步**。

1. 在 **Review and create (审核和创建)** 页面上，验证路由，然后选择 **Create routes (创建路由)**。

## 2. 修改中间盒路由
<a name="modify-route"></a>

您可以通过更改网关、中间盒或目的地子网来编辑路由配置。

进行任何修改时，中间盒路由向导会自动执行以下操作：
+ 为网关、中间盒和目的地子网创建新路由表。
+ 将必要的路由添加到新路由表中。
+ 断开中间盒路由向导与资源关联的当前路由表的关联。
+ 将中间盒路由向导创建的新路由表与资源相关联。

**使用中间盒路由向导修改中间盒路由**

1. 通过 [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/) 打开 Amazon VPC 控制台。

1. 在导航窗格中，选择 **Your VPCs**(您的 VPC)。

1. 选择您的 VPC，然后选择 **Actions (操作)**、**Manage middlebox routes (管理中间盒路由)**。

1. 选择 **Edit routes (编辑路由)**。

1. 要更改网关，请在 **Source (源)** 中，选择流量通过该源进入 VPC 的网关。如果选择虚拟私有网关，则对于 **Destination IPv4 CIDR (目的地 IPv4 CIDR)**，输入目的地子网 CIDR。

1. 要添加其他目的地子网，请选择 **Add additional subnet (添加其他子网)**，然后执行以下操作：
   + 对于 **Middlebox (中间盒)**，选择与您的中间盒设备关联的网络接口 ID，或者当您使用网关负载均衡器端点时，选择 VPC 终端节点 ID。

     对于多个子网，您必须使用同一个中间盒设备。
   + 对于 **Destination subnet (目的地子网)**，选择目的地子网。

1. 选择**下一步**。

1. 在 **Review and update (审核和更新)** 页面上，显示将由中间盒路由向导创建的路由表及其路由的列表。验证路由，然后在确认对话框中，选择 **Update routes (更新路由)**。

## 3. 删除中间盒路由向导配置
<a name="deleting-routing-console"></a>

如果您决定不再需要中间盒路由向导配置，则必须手动删除路由表。

**删除中间盒路由向导配置**

1. 查看中间盒路由向导路由表。

   执行此操作后，中间盒路由向导创建的路由表将显示在单独的路由表页上。

1. 删除显示的每个路由表。

## 中间盒路由向导注意事项
<a name="console-routes-considerations"></a>

在使用中间想路由向导时，请注意以下事项：
+ 如果要检查流量，则可以为源使用互联网网关或虚拟私有网关。
+ 如果您在同一 VPC 中的多个中间盒配置中使用相同的中间盒，请确保两个子网的中间盒处于同一跃点位置。
+ 设备必须在源流量或目的地子网的单独子网中配置。
+ 您必须禁用设备上的源/目标检查。有关更多信息，请参阅《*Amazon EC2 用户指南*》中的[更改源或目标检查](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html#change_source_dest_check)。
+ 中间盒路由向导创建的路由表和路由计入您的配额。有关更多信息，请参阅 [路由表](amazon-vpc-limits.md#vpc-limits-route-tables)。
+ 如果删除资源（例如网络接口），则路由表与资源的关联将被删除。如果资源是目标，则路由目的地设置为黑洞。路由表不会被删除。
+ 中间盒子网和目的地子网必须与非默认路由表关联。
**注意**  
我们建议您使用中间盒路由向导修改或删除使用中间盒路由向导创建的任何路由表。
+ 如果使用中间盒路由通过安全设备进行路由，则不支持检查后在源和最终目的地之间[进行安全组引用](security-group-rules.md#security-group-referencing)。

# 中间盒场景
<a name="middlebox-routing-examples"></a>

Amazon Virtual Private Cloud（VPC）提供广泛的联网功能，有助于您自定义和控制虚拟网络中的流量路由。中间盒路由向导就是这样一种功能，可以精细控制进出 VPC 的流量的路由路径。

如需将流量重定向到安全设备、负载均衡器或其他网络设备，以便进行检查、监控或优化，中间盒路由向导可以简化流程。此向导可自动创建必要的路由表和路由（跃点），帮助您根据需要重定向指定的流量，免于手动设置复杂的路由配置。

中间盒路由向导支持几种不同的使用场景。例如，可以使用该向导来检查发往特定子网的流量、在整个 VPC 中配置中间盒流量路由和检查，或者有选择地检查特定子网之间的流量。这种对流量路由的精细控制有助于您实施高级安全策略、启用集中式网络监控或优化基于云的应用程序的性能。

以下示例描述了中间盒路由向导的场景。

**Topics**
+ [检查发往子网的流量](internet-gateway-subnet.md)
+ [在 VPC 中配置中间盒流量路由和检查](gwlb-route.md)
+ [检查子网之间的流量](intra-vpc-route.md)

# 检查发往子网的流量
<a name="internet-gateway-subnet"></a>

请考虑一下，您的流量通过互联网网关进入 VPC，并且希望使用 EC2 实例上安装的防火墙设备检查发往子网（例如子网 B）的所有流量。防火墙设备应安装和配置在与 VPC 中子网 B 不同的子网（例如子网 C）中的 EC2 实例上，然后您可以使用中间盒路由向导为子网 B 和互联网网关之间的流量配置路由。

 中间盒路由向导会自动执行以下操作：
+ 创建以下路由表：
  + 互联网网关的路由表
  + 目标子网的路由表 
  + 中间盒子网的路由表
+ 将必要的路由添加到新路由表中，如以下部分所述。
+ 取消与互联网网关、子网 B 和子网 C 关联的当前路由表的关联。
+ 将路由表 A 与互联网网关（中间盒路由向导中的 **Source**（源））相关联、路由表 C 与子网 C（中间盒路由向导中的 **Middlebox**（中间盒））相关联，并将路由表 B 与子网 B（中间盒路由向导中的 **Destination**（目的地））相关联。
+ 创建一个标签，指示它是由中间盒路由向导创建的，并创建一个指示创建日期的标签。

中间盒路由向导不会修改现有的路由表。它会创建新的路由表，然后将它们与您的网关和子网资源相关联。如果您的资源已与现有路由表显式关联，则首先取消现有路由表的关联，然后将新路由表与您的资源相关联。您的现有路由表不会被删除。

如果不使用中间盒路由向导，则必须手动配置路由表，然后将路由表分配给子网和互联网网关。

![\[流向 VPC 的入站路由\]](http://docs.aws.amazon.com/zh_cn/vpc/latest/userguide/images/ingress-routing-firewall-ipv6.png)


## 互联网网关路由表
<a name="internet-gateway-igw-route-table"></a>

将以下路由添加到互联网网关的路由表中。


| 目标位置 | 目标 | 用途 | 
| --- | --- | --- | 
| 10.0.0.0/16 | 本地 | IPv4 的本地路由 | 
| 10.0.1.0/24 | appliance-eni | 将发往子网 B 的 IPv4 流量路由到中间盒 | 
| 2001:db8:1234:1a00::/56 | 本地 | IPv6 的本地路由 | 
| 2001:db8:1234:1a00::/64 | appliance-eni | 将发往子网 B 的 IPv6 流量路由到中间盒 | 

互联网网关和 VPC 之间存在边缘关联。

使用中间盒路由向导时，它将以下标签与路由表相关联：
+ 键为“Origin”，值为“Middlebox wizard”
+ 键为“date\$1created”，值为创建时间（例如“2021-02-18T22:25:49.137Z”）

## 目标子网路由表
<a name="internet-gateway-subnet-route-table"></a>

将以下路由添加到目标子网（示例图中的子网 B）的路由表中。


| 目标位置 | 目标 | 用途 | 
| --- | --- | --- | 
| 10.0.0.0/16 | 本地 | IPv4 的本地路由 | 
| 0.0.0.0/0 | appliance-eni | 将发往互联网的 IPv4 流量路由到中间盒 | 
| 2001:db8:1234:1a00::/56 | 本地 | IPv6 的本地路由 | 
| ::/0 | appliance-eni | 将发往互联网的 IPv6 流量路由到中间盒 | 

与中间盒子网存在子网关联。

使用中间盒路由向导时，它将以下标签与路由表相关联：
+ 键为“Origin”，值为“Middlebox wizard”
+ 键为“date\$1created”，值为创建时间（例如“2021-02-18T22:25:49.137Z”）

## 中间盒子网路由表
<a name="internet-gateway-middlebox-subnet-route-table"></a>

将以下路由添加到中间盒子网（示例图中的子网 C）的路由表中。


| 目标位置 | 目标 | 用途 | 
| --- | --- | --- | 
| 10.0.0.0/16 | 本地 | IPv4 的本地路由 | 
| 0.0.0.0/0 | igw-id | 到互联网网关的 IPv4 流量路由 | 
| 2001:db8:1234:1a00::/56 | 本地 | IPv6 的本地路由 | 
| ::/0 | eigw-id | 将 IPv6 流量路由到仅出口互联网网关 | 

与目标子网存在子网关联。

使用中间盒路由向导时，它将以下标签与路由表相关联：
+ 键为“Origin”，值为“Middlebox wizard”
+ 键为“date\$1created”，值为创建时间（例如“2021-02-18T22:25:49.137Z”）

# 在 VPC 中配置中间盒流量路由和检查
<a name="gwlb-route"></a>

考虑以下场景，其中您需要使用在网关负载均衡器后方配置的安全设备队列检查从互联网网关流入 VPC 并发往子网的流量。服务使用者 VPC 的拥有者在其 VPC 的子网中创建一个网关负载均衡器端点（通过端点网络接口表示）。通过互联网网关进入 VPC 的所有流量首先会路由到网关负载均衡器端点，以便进行检查，然后再路由到应用程序子网。同样，离开应用程序子网中的所有流量首先会路由到网关负载均衡器端点，以便进行检查，然后再路由到互联网。

中间盒路由向导会自动执行以下操作：
+ 创建路由表。
+ 将必要的路由添加到新路由表中。
+ 取消与子网关联的当前路由表的关联。
+ 将中间盒路由向导创建的路由表与子网相关联。
+ 创建一个标签，指示它是由中间盒路由向导创建的，并创建一个指示创建日期的标签。

中间盒路由向导不会修改现有的路由表。它会创建新的路由表，然后将它们与您的网关和子网资源相关联。如果您的资源已与现有路由表显式关联，则首先取消现有路由表的关联，然后将新路由表与您的资源相关联。您的现有路由表不会被删除。

如果不使用中间盒路由向导，则必须手动配置路由表，然后将路由表分配给子网和互联网网关。

![\[使用网关负载均衡器端点访问端点服务\]](http://docs.aws.amazon.com/zh_cn/vpc/latest/userguide/images/vpc-endpoint-service-gwlbe.png)


## 互联网网关路由表
<a name="igw-route-table-table"></a>

互联网网关的路由表有以下路由。


| 目标位置 | 目标 | 用途 | 
| --- | --- | --- | 
| 消费者 VPC CIDR | 本地 | 本地路由 | 
| 应用程序子网 CIDR | 端点 ID | 将发往应用程序子网的流量路由到网关负载均衡器端点 | 

与网关存在边缘关联。

使用中间盒路由向导时，它将以下标签与路由表相关联：
+ 键为“Origin”，值为“Middlebox wizard”
+ 键为“date\$1created”，值为创建时间（例如“2021-02-18T22:25:49.137Z”）

## 应用程序子网路由表
<a name="subnet1-route-table-table"></a>

应用程序子网的路由表具有以下路由：


| 目标位置 | 目标 | 用途 | 
| --- | --- | --- | 
| 消费者 VPC CIDR | 本地 | 本地路由 | 
| 0.0.0.0/0 | 端点 ID | 在将流量路由到互联网之前，将流量从应用程序服务器路由到网关负载均衡器端点 | 

使用中间盒路由向导时，它将以下标签与路由表相关联：
+ 键为“Origin”，值为“Middlebox wizard”
+ 键为“date\$1created”，值为创建时间（例如“2021-02-18T22:25:49.137Z”）

## 提供程序子网路由表
<a name="subnet2-route-table"></a>

提供程序子网的路由表具有以下路由：


| 目标位置 | 目标 | 用途 | 
| --- | --- | --- | 
| 提供程序 VPC CIDR | 本地 | 本地路由 确保源自互联网的流量路由到应用程序服务器 | 
| 0.0.0.0/0 | igw-id | 将所有流量路由到互联网网关。 | 

使用中间盒路由向导时，它将以下标签与路由表相关联：
+ 键为“Origin”，值为“Middlebox wizard”
+ 键为“date\$1created”，值为创建时间（例如“2021-02-18T22:25:49.137Z”）

# 检查子网之间的流量
<a name="intra-vpc-route"></a>

请考虑如下场景，其中您在 VPC 中有多个子网，并且希望使用防火墙设备检查这些子网之间的流量。在 VPC 的单独子网中的 EC2 实例上配置并安装防火墙设备。

下图显示子网 C 中的 EC2 实例上安装的防火墙设备。此设备检查从子网 A 传输到子网 B（请参见 1）和从子网 B 传输到子网 A（请参见 2）的所有流量。

![\[检查子网流量\]](http://docs.aws.amazon.com/zh_cn/vpc/latest/userguide/images/middlebox-intra-vpc_updated.png)


您使用 VPC 和中间盒子网的主路由表。子网 A 和 B 各有一个自定义路由表。

中间盒路由向导会自动执行以下操作：
+ 创建路由表。
+ 将必要的路由添加到新路由表中。
+ 取消与子网关联的当前路由表的关联。
+ 将中间盒路由向导创建的路由表与子网相关联。
+ 创建一个标签，指示它是由中间盒路由向导创建的，并创建一个指示创建日期的标签。

中间盒路由向导不会修改现有的路由表。它会创建新的路由表，然后将它们与您的网关和子网资源相关联。如果您的资源已与现有路由表显式关联，则首先取消现有路由表的关联，然后将新路由表与您的资源相关联。您的现有路由表不会被删除。

如果不使用中间盒路由向导，则必须手动配置路由表，然后将路由表分配给子网和互联网网关。

## 自定义子网 A 的路由表
<a name="subneta-route-table-table"></a>

子网 A 的路由表具有以下路由。


| 目标位置 | 目标 | 用途 | 
| --- | --- | --- | 
| VPC CIDR | 本地 | 本地路由 | 
| 子网 B CIDR | appliance-eni | 将发往子网 B 的流量路由到中间盒 | 

使用中间盒路由向导时，它将以下标签与路由表相关联：
+ 键为“Origin”，值为“Middlebox wizard”
+ 键为“date\$1created”，值为创建时间（例如“2021-02-18T22:25:49.137Z”）

## 自定义子网 B 的路由表
<a name="subnetb-route-table-table"></a>

子网 B 的路由表具有以下路由。


| 目标位置 | 目标 | 用途 | 
| --- | --- | --- | 
| VPC CIDR | 本地 | 本地路由 | 
| 子网 A CIDR | appliance-eni | 将发往子网 A 的流量路由到中间盒 | 

使用中间盒路由向导时，它将以下标签与路由表相关联：
+ 键为“Origin”，值为“Middlebox wizard”
+ 键为“date\$1created”，值为创建时间（例如“2021-02-18T22:25:49.137Z”）

## 主路由表
<a name="example-main-route-table"></a>

子网 C 使用主路由表。主路由表具有以下路由。


| 目标位置 | 目标 | 用途 | 
| --- | --- | --- | 
| VPC CIDR | 本地 | 本地路由 | 

使用中间盒路由向导时，它将以下标签与路由表相关联：
+ 键为“Origin”，值为“Middlebox wizard”
+ 键为“date\$1created”，值为创建时间（例如“2021-02-18T22:25:49.137Z”）