

# 具有特定路由的 VPC 对等配置
<a name="peering-configurations-partial-access"></a>

您可以为 VPC 对等连接配置路由表，以限制对等 VPC 内子网 CIDR 块、特定 CIDR 块（如果 VPC 有多个 CIDR 块）或特定资源的访问权限。在这些示例中，一个中心 VPC 与具有重叠 CIDR 块的至少两个或更多 VPC 对等连接。

有关可能需要特定 VPC 对等连接配置的方案示例，请参阅[VPC 对等连接的联网场景](peering-scenarios.md)。有关使用 VPC 对等连接的更多信息，请参阅 [VPC 对等连接](working-with-vpc-peering.md)。有关更新路由表的更多信息，请参阅[为 VPC 对等连接更新路由表](vpc-peering-routing.md)。

**Topics**
+ [访问一个 VPC 中特定子网的两个 VPC](#one-to-two-vpcs-simple-hub)
+ [访问一个 VPC 中特定 CIDR 块的两个 VPC](#two-vpcs-peered-specific-cidr)
+ [访问两个 VPC 中特定子网的一个 VPC](#one-to-two-vpcs-specific-subnets)
+ [一个 VPC 中可访问两个 VPC 中特定实例的实例](#one-to-two-vpcs-instances)
+ [一个使用最长前缀匹配来访问两个 VPC 的 VPC](#one-to-two-vpcs-lpm)
+ [多 VPC 配置](#multiple-configurations)

## 访问一个 VPC 中特定子网的两个 VPC
<a name="one-to-two-vpcs-simple-hub"></a>

此配置包含一个具有两个子网的中心 VPC（VPC A）、VPC A 与 VPC B 之间的 VPC 对等连接 (`pcx-aaaabbbb`)，以及 VPC A 与 VPC C 之间的 VPC 对等连接 (`pcx-aaaacccc`)。每个 VPC 只需要访问 VPC A 中一个子网内的资源。

![\[两个 VPC 与一个 VPC 中的两个子网对等\]](http://docs.aws.amazon.com/zh_cn/vpc/latest/peering/images/two-vpcs-to-two-subnets-one-vpc.png)


子网 1 的路由表使用 VPC 对等连接 `pcx-aaaabbbb` 来访问 VPC B 的整个 CIDR 块。VPC B 的路由表使用 `pcx-aaaabbbb` 来仅访问 VPC A 中子网 1 的 CIDR 块。子网 2 的路由表使用 VPC 对等连接 `pcx-aaaacccc` 来访问 VPC C 的整个 CIDR 块。VPC C 的路由表使用 `pcx-aaaacccc` 来仅访问 VPC A 中子网 2 的 CIDR 块。

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/vpc/latest/peering/peering-configurations-partial-access.html)

您可以将此配置扩展到多个 CIDR 块。假设 VPC A 和 VPC B 同时具有 IPv4 和 IPv6 CIDR 块，子网 1 同时具有关联的 IPv6 CIDR 块。您可以使用 VPC 对等连接使 VPC B 能够通过 IPv6 与 VPC A 中的子网 1 通信。为此，请为 VPC A 的路由表添加一条目的地为 VPC B 的 IPv6 CIDR 块的路由，并为 VPC B 的路由表添加一条目的地为 VPC A 中子网 1 的 IPv6 CIDR 块的路由。

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/vpc/latest/peering/peering-configurations-partial-access.html)

## 访问一个 VPC 中特定 CIDR 块的两个 VPC
<a name="two-vpcs-peered-specific-cidr"></a>

此配置包含一个中心 VPC（VPC A）、VPC A 与 VPC B 之间的 VPC 对等连接 (`pcx-aaaabbbb`)，以及 VPC A 与 VPC C 之间的 VPC 对等连接 (`pcx-aaaacccc`)。VPC A 为 VPC 对等连接提供了一个 CIDR 块。

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/vpc/latest/peering/peering-configurations-partial-access.html)

## 访问两个 VPC 中特定子网的一个 VPC
<a name="one-to-two-vpcs-specific-subnets"></a>

此配置包含一个具有一个子网的中心 VPC（VPC A）、VPC A 与 VPC B 之间的 VPC 对等连接 (`pcx-aaaabbbb`)，以及 VPC A 与 VPC C 之间的 VPC 对等连接 (`pcx-aaaacccc`)。VPC B 和 VPC C 分别有两个子网。VPC A 与 VPC B 之间的对等连接仅使用 VPC B 中的一个子网。VPC A 与 VPC C 之间的对等连接仅使用 VPC C 中的一个子网。

![\[一个 VPC 与两个子网具有对等关系\]](http://docs.aws.amazon.com/zh_cn/vpc/latest/peering/images/one-to-two-vpcs-specific-subnets.png)


当您的中心 VPC 具有其他 VPC 需要访问的单个资源集（如 Active Directory 服务）时，请使用这种类型的配置。中心 VPC 无需可完全访问与之对等的 VPC。

VPC A 的路由表使用对等连接来仅访问对等 VPC 中的特定子网。子网 1 的路由表使用与 VPC A 的对等连接来访问 VPC A 中的子网。子网 2 的路由表使用与 VPC A 的对等连接来访问 VPC A 中的子网。

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/vpc/latest/peering/peering-configurations-partial-access.html)

### 响应流量路由
<a name="peering-incorrect-response-routing"></a>

如果您的某个 VPC 与多个 VPC 建立了对等连接，并且这些 VPC 具有重叠或匹配的 CIDR 块，请确保路由表配置不会导致将响应流量从您的 VPC 发送到错误的 VPC。AWS 不支持在 VPC 对等连接中进行单播反向传输路径转发，即检查数据包的源 IP 并将应答数据包路由回源。

例如，VPC A 与 VPC B 和 VPC C 具有对等关系。VPC B 和 VPC C 具有匹配 CIDR 块，并且其子网具有匹配 CIDR 块。VPC B 中子网 2 的路由表指向 VPC 对等连接 `pcx-aaaabbbb` 以访问 VPC A 的子网。VPC A 路由表配置为将目的地为 VPC CIDR 的流量发送到对等连接 `pcx-aaaaccccc`。

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/vpc/latest/peering/peering-configurations-partial-access.html)

假设 VPC B 中子网 2 中的实例使用 VPC 对等连接 `pcx-aaaabbbb` 向 VPC A 中的 Active Directory 服务器发送流量。VPC A 向 Active Directory 服务器发送响应流量。但是，VPC A 路由表配置为将 VPC CIDR 范围中的所有流量都发送到 VPC 对等连接 `pcx-aaaacccc`。如果 VPC C 中的子网 2 具有与 VPC B 的子网 2 中的实例相同的 IP 地址，则它从 VPC A 接收响应流量。VPC B 中子网 2 内的实例不接收对其到 VPC A 的请求的响应。

为了防止这种情况，您可以将某个特定路由添加到 VPC A 路由表，其目的地为 VPC B 中子网 2 的 CIDR，目标为 `pcx-aaaabbbb`。由于新路由更加具体，因此，目的地为子网 2 CIDR 的流量将路由至 VPC 对等连接 `pcx-aaaabbbb` 

或者，在以下示例中，VPC A 路由表针对每个 VPC 对等连接都具有每个子网的路由。VPC A 可以与 VPC B 中的子网 2 以及 VPC C 中的子网 1 进行通信。如果您需要添加与另一子网（与 VPC B 及 VPC C 位于相同地址范围）的其他 VPC 对等连接，则此情况非常有用，您只需为该特定子网添加其他路由即可。


| 目标位置 | 目标 | 
| --- | --- | 
| VPC A CIDR | 本地 | 
| 子网 2 CIDR | pcx-aaaabbbb | 
| 子网 1 CIDR | pcx-aaaacccc | 

或者，根据您的使用案例，您可以创建到 VPC B 中特定 IP 地址的路由，确保将流量路由回正确的服务器 (路由表使用最长前缀匹配来确定路由的优先级)：


| 目标位置 | 目标 | 
| --- | --- | 
| VPC A CIDR | 本地 | 
| 子网 2 中的特定 IP 地址 | pcx-aaaabbbb | 
| VPC B CIDR | pcx-aaaacccc | 

## 一个 VPC 中可访问两个 VPC 中特定实例的实例
<a name="one-to-two-vpcs-instances"></a>

此配置包含一个具有一个子网的中心 VPC（VPC A）、VPC A 与 VPC B 之间的 VPC 对等连接 (`pcx-aaaabbbb`)，以及 VPC A 与 VPC C 之间的 VPC 对等连接 (`pcx-aaaacccc`)。VPC A 有一个子网，并且每个对等连接都有一个实例。您可使用这种类型的配置将对等流量限制到特定实例。

![\[一个 VPC 中的实例与两个 VPC 中的实例对等\]](http://docs.aws.amazon.com/zh_cn/vpc/latest/peering/images/one-to-two-vpcs-instances.png)


每个 VPC 的路由表都指向相关 VPC 对等连接，以访问对等 VPC 中的单个 IP 地址 (因而访问特定实例)。

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/vpc/latest/peering/peering-configurations-partial-access.html)

## 一个使用最长前缀匹配来访问两个 VPC 的 VPC
<a name="one-to-two-vpcs-lpm"></a>

此配置包含一个具有一个子网的中心 VPC（VPC A）、VPC A 与 VPC B 之间的 VPC 对等连接 (`pcx-aaaabbbb`)，以及 VPC A 与 VPC C 之间的 VPC 对等连接 (`pcx-aaaacccc`)。VPC B 和 VPC C 具有匹配 CIDR 块。您使用 VPC 对等连接 `pcx-aaaabbbb` 在 VPC A 与 VPC B 中的特定实例之间路由流量。以 VPC B 和 VPC C 共享的 CIDR 地址范围为目标的所有其他流量均通过 `pcx-aaaacccc` 路由到 VPC C。

![\[使用最长前缀匹配的对等\]](http://docs.aws.amazon.com/zh_cn/vpc/latest/peering/images/one-to-two-vpcs-longest-prefix.png)


VPC 路由表使用最长前缀匹配选择跨预期 VPC 对等连接的最具体路由。所有其他流量都通过下一个匹配路由 (在此例中，跨 VPC 对等连接 `pcx-aaaacccc`) 进行路由。

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/vpc/latest/peering/peering-configurations-partial-access.html)

**重要**  
如果 VPC B 中除实例 X 之外的实例向 VPC A 发送流量，则响应流量可能会路由到 VPC C，而不是 VPC B。有关更多信息，请参阅 [响应流量路由](#peering-incorrect-response-routing)。

## 多 VPC 配置
<a name="multiple-configurations"></a>

在此配置中，一个中心 VPC (VPC A) 采用轮辐型配置与多个 VPC 建立对等连接。您还具有采用完全网状配置对等的三个 VPC（VPC X、Y 和 Z）。

VPC D 还具有与 VPC X 之间的 VPC 对等连接（`pcx-ddddxxxx`）。VPC A 和 VPC X 具有重叠 CIDR 块。这意味着 VPC A 与 VPC D 之间的对等流量仅限于 VPC D 中的特定子网（子网 1）。这是为了确保在收到来自 VPC A 或 VPC X 的请求时，VPC D 会将响应流量发送到正确的 VPC。AWS 不支持在 VPC 对等连接中进行单播反向传输路径转发，即检查数据包的源 IP 并将应答数据包路由回该源。有关更多信息，请参阅 [响应流量路由](#peering-incorrect-response-routing)。

同样，VPC D 和 VPC Z 具有重叠 CIDR 块。VPC D 与 VPC X 之间的对等流量限制为 VPC D 中的 子网 2，VPC X 与 VPC Z 之间的对等流量限制为 VPC Z 中的子网 1。这样是为了确保如果 VPC X 从 VPC D 或 VPC Z 接收对等流量，则它会将响应流量发送回正确的 VPC。

![\[多对等配置\]](http://docs.aws.amazon.com/zh_cn/vpc/latest/peering/images/multiple-configurations.png)


VPC B、C、E、F 和 G 的路由表指向相关对等连接以访问 VPC A 的完整 CIDR 块，VPC A 的路由表指向 VPC B、C、E、F 和 G 的相关对等连接以访问其完整 CIDR 块。对于对等连接 `pcx-aaaadddd`，VPC A 的路由表仅将流量路由到 VPC D 中的子网 1，而 VPC D 中子网 1 的路由表指向 VPC A 的完整 CIDR 块。

VPC Y 的路由表指向相关对等连接以访问 VPC X 和 VPC Z 的完整 CIDR 块，VPC Z 的路由表指向相关对等连接以访问 VPC Y 的完整 CIDR 块。VPC Z 中子网 1 的路由表指向相关对等连接以访问 VPC Y 的完整 CIDR 块。VPC X 的路由表指向相关对等连接以访问 VPC D 中的子网 2 和 VPC Z 中的子网 1。

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/vpc/latest/peering/peering-configurations-partial-access.html)