Amazon Virtual Private Cloud
VPC 对等指南
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。点 击 Getting Started with Amazon AWS to see specific differences applicable to the China (Beijing) Region.

具有特定路由的配置

本节演示 VPC 对等连接的配置,您可以在配置中提供对对等 VPC 内部分 CIDR 块、特定 CIDR 块 (如果 VPC 有多个 CIDR 块) 或特定实例的访问。在这些示例中,一个中心 VPC 与具有重叠 CIDR 块的两个或更多 VPC 对等。有关可能需要特定 VPC 对等连接配置的方案示例,请参阅VPC 对等方案。有关在 Amazon VPC 控制台中创建和使用 VPC 对等连接的更多信息,请参阅使用 VPC 对等连接。有关更新路由表的更多信息,请参阅为 VPC 对等连接更新路由表

两个 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 可能需要访问某些资源,但不是所有资源。

子网 X 的路由表指向 VPC 对等连接 pcx-aaaabbbb 以访问 VPC B 的整个 CIDR 块。VPC B 的路由表指向 pcx-aaaabbbb 以便仅访问 VPC A 中子网 X 的 CIDR 块。同样,子网 Y 的路由表指向 VPC 对等连接 pcx-aaaacccc 以访问 VPC C 的整个 CIDR 块。VPC C 的路由表指向 pcx-aaaacccc 以便仅访问 VPC A 中子网 Y 的 CIDR 块。

路由表 目标 目标
VPC A 中的子网 X 172.16.0.0/16 本地
10.0.0.0/16 pcx-aaaabbbb
VPC A 中的子网 Y 172.16.0.0/16 本地
10.0.0.0/16 pcx-aaaacccc
VPC B 10.0.0.0/16 本地
172.16.0.0/24 pcx-aaaabbbb
VPC C 10.0.0.0/16 本地
172.16.1.0/24 pcx-aaaacccc

同样,中心 VPC (VPC A) 可以有多个 CIDR 块,而 VPC B 和 VPC C 可以与每个 CIDR 块的子网都有 VPC 对等连接。

两个 VPC 与一个 CIDR 块对等
路由表 目标 目标
VPC A 中的子网 X 10.2.0.0/16 本地
10.3.0.0/16 本地
10.0.0.0/16 pcx-aaaabbbb
VPC A 中的子网 Y 10.2.0.0/16 本地
10.3.0.0/16 本地
10.0.0.0/16 pcx-aaaacccc
VPC B 10.0.0.0/16 本地
10.2.0.0/24 pcx-aaaabbbb
VPC C 10.0.0.0/16 本地
10.3.0.0/24 pcx-aaaacccc

有关更多信息,请参阅 Amazon VPC 用户指南 中的向 VPC 中添加 IPv4 CIDR 块

两个 VPC 与一个用于 IPv6 的 VPC 中的两个子网对等

您的 VPC 对等配置如上所示。启用了 VPC A 和 VPC B 进行 IPv6 通信 - 两个 VPC 都具有关联的 IPv6 CIDR 块,VPC A 中的子网 X 具有关联的 IPv6 CIDR 块。

 两个 VPC 与两个子网对等

您可以使用 VPC 对等连接使 VPC B 能够通过 IPv6 与 VPC A 中的子网 X 通信。为此,请为 VPC A 的路由表添加一条目标为 VPC B 的 IPv6 CIDR 块的路由,并为 VPC B 的路由表添加一条目标为 VPC A 中子网 X 的 IPv6 CIDR 块的路由。

路由表 目标 目标 备注
VPC A 中的子网 X 172.16.0.0/16 本地
2001:db8:abcd:aa00::/56 本地 VPC 中自动添加的用于 IPv6 通信的本地路由。
10.0.0.0/16 pcx-aaaabbbb
2001:db8:1234:bb00::/56 pcx-aaaabbbb 到 VPC B 的 IPv6 CIDR 块的路由。
VPC A 中的子网 Y 172.16.0.0/16 本地
2001:db8:abcd:aa00::/56 本地 VPC 中自动添加的用于 IPv6 通信的本地路由。
10.0.0.0/16 pcx-aaaacccc
VPC B 10.0.0.0/16 本地
2001:db8:1234:bb00::/56 本地 VPC 中自动添加的用于 IPv6 通信的本地路由。
172.16.0.0/24 pcx-aaaabbbb
2001:db8:abcd:aa00::/64 pcx-aaaabbbb 到 VPC A 的 IPv6 CIDR 块的路由。
VPC C 10.0.0.0/16 本地
172.16.1.0/24 pcx-aaaacccc

两个 VPC 与一个 VPC 中的特定 CIDR 块对等

您有一个中心 VPC (VPC A),在 VPC A 与 VPC B 之间具有 VPC 对等连接 (pcx-aaaabbbb),并且在 VPC A 与 VPC C 之间具有 VPC 对等连接 (pcx-aaaacccc)。VPC A 具有两个 CIDR 块,每个 VPC 对等连接各一个。

路由表 目标 目标 备注
VPC A 中的子网 X 172.16.0.0/16 本地
2001:db8:abcd:aa00::/56 本地 VPC 中自动添加的用于 IPv6 通信的本地路由。
10.0.0.0/16 pcx-aaaabbbb
2001:db8:1234:bb00::/56 pcx-aaaabbbb 到 VPC B 的 IPv6 CIDR 块的路由。
VPC A 中的子网 Y 172.16.0.0/16 本地
2001:db8:abcd:aa00::/56 本地 VPC 中自动添加的用于 IPv6 通信的本地路由。
10.0.0.0/16 pcx-aaaacccc
VPC B 10.0.0.0/16 本地
2001:db8:1234:bb00::/56 本地 VPC 中自动添加的用于 IPv6 通信的本地路由。
172.16.0.0/24 pcx-aaaabbbb
2001:db8:abcd:aa00::/64 pcx-aaaabbbb 到 VPC A 的 IPv6 CIDR 块的路由。
VPC C 10.0.0.0/16 本地
172.16.1.0/24 pcx-aaaacccc

有关更多信息,请参阅 Amazon VPC 用户指南 中的向 VPC 中添加 IPv4 CIDR 块

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

您有带一个子网的中心 VPC (VPC A),在 VPC A 与 VPC B 之间具有 VPC 对等连接 (pcx-aaaabbbb),并且在 VPC A 与 VPC C 之间具有 VPC 对等连接 (pcx-aaaacccc)。VPC B 和 VPC C 各自具有两个子网,每个 VPC 中只有一个子网用于与 VPC A 的对等连接。

 一个 VPC 与两个子网具有对等关系

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

VPC A 的路由表同时指向两个 VPC 对等连接以便仅访问 VPC B 和 VPC C 中的特定子网。VPC B 和 VPC C 中子网的路由表指向其 VPC 对等连接以访问 VPC A 的子网。

路由表 目标 目标
VPC A 172.16.0.0/16 本地
10.0.0.0/24 pcx-aaaabbbb
10.0.1.0/24 pcx-aaaacccc
VPC B 中的子网 A 10.0.0.0/16 本地
172.16.0.0/24 pcx-aaaabbbb
VPC C 中的子网 B 10.0.0.0/16 本地
172.16.0.0/24 pcx-aaaacccc

响应流量路由

如果您的某个 VPC 与多个具有重叠或匹配的 CIDR 块的 VPC 对等,请确保路由表配置为不从您的 VPC 向不正确的 VPC 发送响应流量。AWS 当前不支持在 VPC 对等连接中进行单一地址反向传输路径转发,即检查数据包的源 IP 并将应答数据包路由回源。

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

路由表 目标 目标
VPC B 中的子网 B 10.0.0.0/16 本地
172.16.0.0/24 pcx-aaaabbbb
VPC A 172.16.0.0/24 本地
10.0.0.0/16 pcx-aaaacccc
 对等中的不正确响应路由

VPC B 的子网 B 中私有 IP 地址为 10.0.1.66/32 的实例使用 VPC 对等连接 pcx-aaaabbbb 向 Active Directory 服务器发送流量。VPC A 向 10.0.1.66/32 发送响应流量。但 VPC A 路由表配置为将 10.0.0.0/16 IP 地址范围中的所有流量都发送到 VPC 对等连接 pcx-aaaacccc。如果 VPC C 中的子网 B 具有 IP 地址为 10.0.1.66/32 的实例,则它从 VPC A 接收响应流量。VPC B 中子网 B 内的实例不接收对其到 VPC A 的请求的响应。

为了防止这种情况,您可以将某个特定路由添加到 VPC A 的路由表,其目的地为 10.0.1.0/24,目标为 pcx-aaaabbbb10.0.1.0/24 流量的路由更明确,因此,前往 10.0.1.0/24 IP 地址范围的流量将通过 VPC 对等连接 pcx-aaaabbbb 流动

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

目标 目标
172.16.0.0/16 本地
10.0.1.0/24 pcx-aaaabbbb
10.0.0.0/24 pcx-aaaacccc

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

目标 目标
172.16.0.0/16 本地
10.0.1.66/32 pcx-aaaabbbb
10.0.0.0/16 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 对等连接,以访问对等 VPC 中的单个 IP 地址 (因而访问特定实例)。

路由表 目标 目标
VPC A 172.16.0.0/16 本地
10.0.0.44/32 pcx-aaaabbbb
10.0.0.55/32 pcx-aaaacccc
VPC B 10.0.0.0/16 本地
172.16.0.88/32 pcx-aaaabbbb
VPC C 10.0.0.0/16 本地
172.16.0.99/32 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 中特定实例之间路由流量。以 10.0.0.0/16 IP 地址范围为目标的所有其他流量都通过 pcx-aaaacccc 在 VPC A 与 VPC C 之间路由。

 使用最长前缀匹配的对等

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

路由表 目标 目标
VPC A 172.16.0.0/16 本地
10.0.0.77/32 pcx-aaaabbbb
10.0.0.0/16 pcx-aaaacccc
VPC B 10.0.0.0/16 本地
172.16.0.0/16 pcx-aaaabbbb
VPC C 10.0.0.0/16 本地
172.16.0.0/16 pcx-aaaacccc

重要

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

多 VPC 配置

在此示例中,一个中心 VPC (VPC A) 采用轮辐型配置与多个 VPC 对等。有关此类型的配置的更多信息,请参阅一个 VPC 与多个 VPC 具有对等关系。您还具有采用完全网状配置相互对等的三个 VPC (VPC M、N 和 P)。有关此类型的配置的更多信息,请参阅相互对等的三个 VPC

VPC C 还具有与 VPC M 之间的 VPC 对等连接 (pcx-ccccmmmm)。VPC A 和 VPC M 具有重叠 CIDR 块。这意味着 VPC A 与 VPC C 之间的对等流量限制到 VPC C 中的特定子网 (子网 A)。这样是为了确保如果 VPC C 从 VPC A 或 VPC M 接收请求,则它会将响应流量发送到正确的 VPC。AWS 当前不支持在 VPC 对等连接中进行单一地址反向传输路径转发,即检查数据包的源 IP 并将应答数据包路由回该源。有关更多信息,请参阅 响应流量路由

同样,VPC C 和 VPC P 具有重叠 CIDR 块。VPC M 与 VPC C 之间的对等流量限制到 VPC C 中的子网 B,VPC M 与 VPC P 之间的对等流量限制到 VPC P 中的子网 A。这样是为了确保如果 VPC M 从 VPC C 或 VPC P 接收对等流量,则它会将响应流量发送回正确的 VPC。

 多对等配置

VPC B、D、E、F 和 G 的路由表指向相关对等连接以访问 VPC A 的完整 CIDR 块,VPC A 的路由表指向 VPC B、D、E、F 和 G 的相关对等连接以访问其完整 CIDR 块。对于对等连接 pcx-aaaacccc,VPC A 的路由表仅将流量路由到 VPC C 中的子网 A (192.168.0.0/24),VPC C 中子网 A 的路由表指向 VPC A 的完整 CIDR 块。

VPC N 的路由表指向相关对等连接以访问 VPC M 和 VPC P 的完整 CIDR 块,VPC P 的路由表指向相关对等连接以访问 VPC N 的完整 CIDR 块。VPC P 中子网 A 的路由表指向相关对等连接以访问 VPC M 的完整 CIDR 块。VPC M 的路由表指向相关对等连接以访问 VPC C 中的子网 B 和 VPC P 中的子网 A。

路由表 目标 目标
VPC A 172.16.0.0/16 本地
10.0.0.0/16 pcx-aaaabbbb
192.168.0.0/24 pcx-aaaacccc
10.2.0.0/16 pcx-aaaadddd
10.3.0.0/16 pcx-aaaaeeee
172.17.0.0/16 pcx-aaaaffff
10.4.0.0/16 pcx-aaaagggg
VPC B 10.0.0.0/16 本地
172.16.0.0/16 pcx-aaaabbbb
VPC C 中的子网 A 192.168.0.0/16 本地
172.16.0.0/16 pcx-aaaacccc
VPC C 中的子网 B 192.168.0.0/16 本地
172.16.0.0/16 pcx-ccccmmmm
VPC D 10.2.0.0/16 本地
172.16.0.0/16 pcx-aaaadddd
VPC E 10.3.0.0/16 本地
172.16.0.0/16 pcx-aaaaeeee
VPC F 172.17.0.0/16 本地
172.16.0.0/16 pcx-aaaaaffff
VPC G 10.4.0.0/16 本地
172.16.0.0/16 pcx-aaaagggg
VPC M 172.16.0.0/16 本地
192.168.1.0/24 pcx-ccccmmmm
10.0.0.0/16 pcx-mmmmnnnn
192.168.0.0/24 pcx-mmmmpppp
VPC N 10.0.0.0/16 本地
172.16.0.0/16 pcx-mmmmnnnn
192.168.0.0/16 pcx-nnnnpppp
VPC P 192.168.0.0/16 本地
10.0.0.0/16 pcx-nnnnpppp
172.16.0.0/16 pcx-mmmmpppp