【问题标题】:Connect to a GCP Redis instance that is connected to a different VPC network连接到连接到不同 VPC 网络的 GCP Redis 实例
【发布时间】:2021-10-11 12:48:15
【问题描述】:

在 GCP 上,对等 VPC 连接是不可传递的,并且 Memorystore 存在于它自己的 VPC 网络中。这意味着无法从多个 VPC 网络连接到 Redis 实例。只有一个授权网络可以访问。

此图说明了 VPC-2 如何无法连接到 VPC-1 的 Redis 实例:

[Redis]-[VPC-1]-[VPC-2]

到目前为止,我发现从多个 VPC 网络连接的唯一建议解决方案是托管 Redis 代理 (nutcracker) 但这感觉像是未来的大量工作和潜在的维护。

是否有 GCP 提供的托管服务可以解决问题?

我最近使用路由器和隧道的this documentation 将私有 GKE 集群连接到 Cloud Build,是否可以使用 Cloud Router 和 VPN 隧道来代理连接?

【问题讨论】:

  • article 中提出了另一种使用共享 vpc 的解决方案。
  • 不是共享VPC,用于跨项目连接吗?或者让我的项目成为共享 VPC 的主机,然后从同一个项目中连接到它是否安全?
  • 好的,我可以试试,谢谢。似乎共享 VPC 是为跨项目连接而设计的,而不是在同一个项目内连接。这样做是可行且安全的,对吗?
  • 可能是safer

标签: networking google-cloud-platform redis google-cloud-networking


【解决方案1】:

另一种解决方案,您可以在同一项目中管理对等 VPC:

如您所知,对等 VPC 不是可传递的,在这种情况下意味着您的 VPC-2 不知道 VPC-1 和 Redis VPC 之间的连接。

您可以将 VPC-1 用作中转网络,方法是在 VPC-1 和 VPC-2 之间导入和导出路由,或者对于更托管的解决方案,您可以在 VPC-1 上使用 Cloud VPN。如果您有多个 VPC 需要连接到 Redis,我建议您考虑使用 Cloud VPN。

这是example of how this architecture could work 在此示例中,将 network-b 视为您的 VPC-1,将 Network-a 视为您的 Redis VPC Network-c 作为您的 VPC-2

如果您只有几个 VPC 需要连接到 Redis VPC,您还可以考虑从 VPC-1 到所有需要访问 Redis 的对等 VPC 的 exporting and importing custom routes

对于 Redis,请注意 only IPs from RFC1918 are allowed to connect,因此您需要连接到 Redis 的 IP 需要在这些范围内

10.0.0.0 – 10.255.255.255  (10/8 prefix)
172.16.0.0 – 172.31.255.255  (172.16/12 prefix)
192.168.0.0 – 192.168.255.255 (192.168/16 prefix)

【讨论】:

    猜你喜欢
    • 2021-12-20
    • 2020-04-02
    • 2020-03-02
    • 1970-01-01
    • 1970-01-01
    • 2018-09-09
    • 2020-12-24
    • 2014-02-01
    • 2018-06-13
    相关资源
    最近更新 更多