具有特定路由的 VPC 对等配置 - Amazon Virtual Private Cloud
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

具有特定路由的 VPC 对等配置

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

有关可能需要特定 VPC 对等连接配置的方案示例,请参阅VPC 对等方案。有关使用 VPC 对等连接的更多信息,请参阅 使用 VPC 对等连接。有关更新路由表的更多信息,请参阅为 VPC 对等连接更新路由表

访问一个 VPC 中特定子网的两个 VPC

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


                    两个 VPC 与一个 VPC 中的两个子网对等

子网 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 块。

路由表 目的地 目标
子网 1(VPC A) VPC A CIDR 本地
VPC B CIDR pcx-aaaabbbb
子网 2(VPC A) VPC A CIDR 本地
VPC C CIDR pcx-aaaacccc
VPC B VPC B CIDR 本地
子网 1 CIDR pcx-aaaabbbb
VPC C VPC C CIDR 本地
子网 2 CIDR pcx-aaaacccc

您可以将此配置扩展到多个 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 块的路由。

路由表 目的地 目标 注意事项
VPC A 中的子网 1 VPC A IPv4 CIDR 本地
VPC A IPv6 CIDR 本地 VPC 中自动添加的用于 IPv6 通信的本地路由。
VPC B IPv4 CIDR pcx-aaaabbbb
VPC B IPv6 CIDR pcx-aaaabbbb 到 VPC B 的 IPv6 CIDR 块的路由。
VPC A 中的子网 2 VPC A IPv4 CIDR 本地
VPC A IPv6 CIDR 本地 VPC 中自动添加的用于 IPv6 通信的本地路由。
VPC C IPv4 CIDR pcx-aaaacccc
VPC B VPC B IPv4 CIDR 本地
VPC B IPv6 CIDR 本地 VPC 中自动添加的用于 IPv6 通信的本地路由。
子网 1 IPv4 CIDR pcx-aaaabbbb
子网 2 IPv4 CIDR pcx-aaaabbbb 到 VPC A 的 IPv6 CIDR 块的路由。
VPC C VPC C IPv4 CIDR 本地
子网 2 IPv4 CIDR pcx-aaaacccc

访问一个 VPC 中特定 CIDR 块的两个 VPC

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

路由表 目的地 目标
VPC A VPC A CIDR 1 本地
VPC A CIDR 2 本地
VPC B CIDR pcx-aaaabbbb
VPC C CIDR pcx-aaaacccc
VPC B VPC B CIDR 本地
VPC A CIDR 1 pcx-aaaabbbb
VPC C VPC C CIDR 本地
VPC A CIDR 2 pcx-aaaacccc

访问两个 VPC 中特定子网的一个 VPC

此配置包含一个具有一个子网的中心 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 与两个子网具有对等关系

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

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

路由表 目的地 目标
VPC A VPC A CIDR 本地
子网 1 CIDR pcx-aaaabbbb
子网 2 CIDR pcx-aaaacccc
子网 1(VPC B) VPC B CIDR 本地
VPC A CIDR 中的子网 pcx-aaaabbbb
子网 2(VPC C) VPC C CIDR 本地
VPC A CIDR 中的子网 pcx-aaaacccc

响应流量路由

如果您的某个 VPC 与多个 VPC 建立了对等连接,并且这些 VPC 具有重叠或匹配的 CIDR 块,请确保路由表配置不会导致将响应流量从您的 VPC 发送到错误的 VPC。Amazon 不支持在 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

路由表 目的地 目标
子网 2(VPC B) VPC B CIDR 本地
VPC A CIDR 中的子网 pcx-aaaabbbb
VPC A VPC A CIDR 本地
VPC C CIDR pcx-aaaacccc

假设 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 中的子网 B 以及 VPC C 中的子网 A 进行通信。如果您需要添加与另一子网(与 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 中特定实例的实例

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


                    一个 VPC 中的实例与两个 VPC 中的实例对等

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

路由表 目的地 目标
VPC A VPC A CIDR 本地
实例 3 IP 地址 pcx-aaaabbbb
实例 4 IP 地址 pcx-aaaacccc
VPC B VPC B CIDR 本地
实例 1 IP 地址 pcx-aaaabbbb
VPC C VPC C CIDR 本地
实例 2 IP 地址 pcx-aaaacccc

一个使用最长前缀匹配来访问两个 VPC 的 VPC

此配置包含一个具有一个子网的中心 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。


                    使用最长前缀匹配的对等

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

路由表 目的地 目标
VPC A VPC A CIDR 块 本地
实例 X IP 地址 pcx-aaaabbbb
VPC C CIDR 块 pcx-aaaacccc
VPC B VPC B CIDR 块 本地
VPC A CIDR 块 pcx-aaaabbbb
VPC C VPC C CIDR 块 本地
VPC A CIDR 块 pcx-aaaacccc
重要

如果 VPC B 中除实例 X 之外的实例向 VPC A 发送流量,则响应流量可能会路由到 VPC C,而不是 VPC B。有关更多信息,请参阅 响应流量路由

多 VPC 配置

在此配置中,一个中心 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 D 收到来自 VPC A 或 VPC X 的请求时,它会将响应流量发送到正确的 VPC。 Amazon不支持在检查数据包源 IP 并将回复数据包路由回源的 VPC 对等连接中进行单播反向路径转发。有关更多信息,请参阅 响应流量路由

同样,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。


                    多对等配置

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。

路由表 目的地 目标
VPC A VPC A CIDR 本地
VPC B CIDR pcx-aaaabbbb
VPC C CIDR pcx-aaaacccc
VPC D 中的子网 1 CIDR pcx-aaaadddd
VPC E CIDR pcx-aaaaeeee
VPC F CIDR pcx-aaaaffff
VPC G CIDR pcx-aaaagggg
VPC B VPC B CIDR 本地
VPC A CIDR pcx-aaaabbbb
VPC C VPC C CIDR 本地
VPC A CIDR pcx-aaaacccc
VPC D 中的子网 1 VPC D CIDR 本地
VPC A CIDR pcx-aaaadddd
VPC D 中的子网 2 VPC D CIDR 本地
VPC X CIDR pcx-ddddxxxx
VPC E VPC E CIDR 本地
VPC A CIDR pcx-aaaaeeee
VPC F VPC F CIDR 本地
VPC A CIDR pcx-aaaaaffff
VPC G VPC G CIDR 本地
VPC A CIDR pcx-aaaagggg
VPC X VPC X CIDR 本地
VPC D 中的子网 2 CIDR pcx-ddddxxxx
VPC Y CIDR pcx-xxxxyyyy
VPC Z 中的子网 1 CIDR pcx-xxxxzzzz
VPC Y VPC Y CIDR 本地
VPC X CIDR pcx-xxxxyyyy
VPC Z CIDR pcx-yyyyzzzz
VPC Z VPC Z CIDR 本地
VPC Y CIDR pcx-yyyyzzzz
VPC X CIDR pcx-xxxxzzzz