在部分连接的网格拓扑中对等连接 VPC 的 Google Cloud 路由

在部分连接的网格拓扑中对等连接 VPC 的 Google Cloud 路由

我们将 Google Cloud 基础架构划分为多个项目,每个项目都有自己的 VPC。我们有一个中央 VPC,我们称之为vpcA,我们通过 pritunl VPN 和站点到站点隧道从外部连接到它。

我们还使用 VPC 对等连接vpcA到多个不同的其他项目 B 和vpcBC。vpcC这非常有效,因为所有内容都可以看到 的内容vpcA,并且可以看到和vpcA的内容。所有内容都有唯一的 10.0.0.0 IP。每个 vpc 都有自己独特的 CIDR 范围(例如 的 10.96.0.0/16 、 的 10.97.0.0/16等)。所有子网都位于同一区域。vpcBvpcCvpcAvpcB

我们现在的问题是vpcB中看不到任何内容vpcC。 VPC 对等仅在本地 vpc 网络之间路由,而不路由该 vpc 的对等网络(例如,从 到vpcBvpcA路由 10.96.0.0/16 范围)。 似乎没有办法修改它以路由所有其他流量。

虽然我们可以直接互连vpcBvpcC使用单独的对等连接,但随着 vpc 数量的增加,这很快就会变得复杂。此外,这确实是现在的突破点,当我们vpcA使用 Google Cloud VPN 网关/隧道连接我们的内部基础设施时,它也只能看到vpcA的内容。为每个 VPC 创建直接 VPN 隧道会产生大量开销和大量额外成本(10 个 VPC 每月需要 360 美元,没有任何流量,只是对等连接)。

现在的问题是,我们遗漏了什么吗?有没有办法在 Google Cloud 上使用 VPC 创建部分连接的网格拓扑?

谢谢,沃尔克

答案1

根据GCP 文档vpcB,和无法vpcC进行沟通:

只有直接对等网络才能通信。不支持传递对等。换句话说,如果 VPC 网络 N1 与 N2 和 N3 对等,但 N2 和 N3 并非直接连接,则 VPC 网络 N2 无法通过对等与 VPC 网络 N3 通信。

此外,VPN 连接不会导出到对等 VPC:

以下类型的端点/资源不会传播到直接对等网络:静态路由、VPN

答案2

当您使用 VPC 对等连接时,GCP 将在每个 VPC 中创建路由以将它们连接起来。由于 VPCb 和 VPCc 不是对等连接的,因此它们之间没有路由,因此它不起作用。

有几种解决方法:

  1. 手动创建路由,将流量从 VPCb 发送到 VPCc 并发送到 VPCa,反之亦然(路由数量仍有限制)

  2. 使用单个共享 VPC而不是多个对等的独立 VPC。共享 VPC 的扩展性比多个对等 VPC 更好

关于云 VPN,请确保你的网络配置为使用全局路由模式这样 VPN 就可以与全球每个区域和子网进行通信。同样,使用共享 VPC 意味着单个 VPN 网关

编辑

这些年来情况发生了变化。传递对等仍然不起作用,因此完整的网络网格将是未来的发展方向。请记住,您在项目中可以配置的网络对等数量是有限的,这将限制对等,从而限制您可以使用的 VPC 数量。

至于路由,这仅在“中心” VPC 中存在可路由到的路由器时才有效。部署 nginx、HA 代理或 128T 之类的东西可以通过所有对等点处理正确的路由。

相关内容