【问题标题】:How to connect multiple cloud with overlapping VPC?如何将多个云与重叠的 VPC 连接起来?
【发布时间】:2020-10-20 08:48:53
【问题描述】:

我们正在创建一个控制台来管理、查看日志和指标、在多云环境中的 Kubernetes 上创建资源。
Console(一个 Web 应用程序)部署在 GCP 中的 GKE 上,但我们无法弄清楚如何在多个具有重叠 IP 的 VPC 中连接和访问 K8S Api-Servers,而不会将它们公开知识产权。
我画了一个小图来暴露问题。

是否有一些产品或最佳做法可以安全地执行此操作?
产品供应商,例如 Mongo AtlasConfluent Cloud 似乎已经解决了这个问题,他们可以在多个云中创建基础设施并进行管理。

【问题讨论】:

  • 不存在重叠 VPC 之类的东西。您可以拥有两个具有相同子网 CIDR 块的不同 VPC,但不能将它们连接在一起。您的图表显示了具有相同 IP 地址的两个系统。期望路由如何工作?您引用了 Mongo 和 Confluent。这两个链接都没有展示重叠网络的解决方案。
  • 好吧,当您在 Atlas 上创建 MongoDB 时,它们会为所有新项目分配相同的 CIDR,但 mongo atlas 控制台可以与所有不同的集群进行数据库连接。我推断在 Atlas 的云架构中的某个地方,他们的后端可以与为所有用户创建的所有不同的 mongodb 集群通信。一个用户可以在同一地区拥有多个 IP 重叠的项目。
  • 我认为您在与管理子节点的管理节点交谈时会感到困惑。然后,您将寻址管理节点,该节点必须具有唯一的 IP 地址(在所有 VPC 中),然后管理子网节点。
  • 据我了解,您希望运行一个应用程序(控制台)来管理 GCP 和 AWS 中的 K8S 集群,包括 VPC 中的一些具有重叠 IP 地址范围的集群。或者您想连接这些 VPC 吗?如果是这样,那么由于路由问题,这是不可能的。
  • @Wojtek_B 我特别想连接到 K8S api-server 来部署 pod 和任何东西

标签: networking google-cloud-platform vpc


【解决方案1】:

即使两个重叠的网络位于不同的云(GCP 和 AWS)中,也无法使用 VPN 连接它们。

我建议在双方都使用 NAT 转换并使用 VPN 连接网络。 这是一些可能对您有所帮助的文档。不幸的是,它需要大量阅读和设置。不是最简单的解决方案,但它具有可靠的优点,并且是一种非常古老且经过测试的方法。

一般文档

GCP 端

AWS 端

您的第二个选择是将原始网络分成更小的块,这样它们就不会重叠,但这并不总是可能的(因为网络已经足够小并且许多 IP 都用完了......)。

【讨论】:

    【解决方案2】:

    这取决于环境中的几个因素。 要访问重叠网络,您需要某种形式的网关。 它可以是某种代理 socks/http/other 或路由器/gw(带有 nat..)。 如果您可以访问 192.168.23.0/24 或任何其他可以从 gcp 连接到 aws 192.168.2.0/24 子网的子网,那么您可以使用任一解决方案。 我假设 aws 和 gcp 可以提供 gw/proxy 网络之间的隧道。 如果您不需要隧道的安全层,您可以使用 vxlan 隧道并保护 tcp/其他应用程序协议。

    【讨论】:

      【解决方案3】:

      将 Google Cloud VPN 与 AWS 虚拟专用网关结合使用,您可以完成这样的事情。这个documentation给出了谷歌的详细描述。

      它描述了两种 VPN 拓扑:

      • 基于站点到站点路由的 IPsec VPN 隧道配置。
      • 使用 Google Cloud Router 和使用 BGP 协议的动态路由的站点到站点 IPsec VPN 隧道配置。

      此外,当 CIDR 范围重叠时。您需要创建一个不重叠的新 VPC/CIDR 范围。否则,您将永远无法连接到在 AWS 和 GCP 中都具有 IP 地址的实例。

      【讨论】:

      • 使用详细信息编辑您的答案。参考文档作为参考。
      • @Nebulastic >您需要创建一个不重叠的新 VPC/CIDR 范围。这是否意味着我的整个架构中不能有重叠的 IP?这几乎不会限制我的客户数量。
      • 不,你不能。 Google Cloud VPC 不支持重叠的 IP 范围。如果您有两个具有相同地址的系统,哪一个建立 IP 连接?您误解了 IP 地址和路由数据包的基本原理。
      • 是的,这就是我的意思,我的表述是错误的!
      猜你喜欢
      • 2020-12-23
      • 1970-01-01
      • 1970-01-01
      • 2018-08-08
      • 1970-01-01
      • 2015-07-10
      • 1970-01-01
      • 2021-12-06
      • 2022-06-29
      相关资源
      最近更新 更多