微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用 VPC 对等访问 Memorystore (Redis)

如何解决使用 VPC 对等访问 Memorystore (Redis)

假设我有一个名为 vpc-1 的 VPC,它有一个与之关联的 Memorystore (Redis) 实例。我的理解是 Redis 存在于它自己的 VPC 中,并且有 VPC 对等连接用于将 vpc-1 连接到 Redis 的 VPC。现在让我们假设我创建了一个名为 vpc-2 的第二个 VPC,并将该 VPC 与 vpc-1 对等。我现在创建一个虚拟机,其网络接口连接到 vpc-2。此 VM 现在可以访问附加到 vpc-1vpc-2 的 VPC 资源。但是,由于 VPC 对等互连不可传递,因此 VM 无法访问 Redis 实例。

我的难题现在变成了...是否有可能连接到 vpc-2 的 VM 是 VPC 对等到 vpc-1 的,它具有与之关联的 Memorystore (Redis) 实例({{1 }}) 访问该 Redis 实例?

我意识到我可以将我的故事切换为使用共享 VPC……但是我想知道如果我想专门使用 VPC 对等互连有哪些选择。

解决方法

与非常了解 GCP VPC 和 GCP Memorystore 的技术人员讨论后,似乎无法使用 VPC Peering 进行可传递对等互连。提出了一个解决方案,对于我的用例,效果很好。关于原始故事,我们在可以访问 Redis 的 files=( python*.py ) for f in "${files[@]}" do python "$f" done VPC 中创建了一个新的 Compute Engine。在那个 Compute Engine 上,我们安装了名为 nutcracker 的开源包,它提供了一个 Redis 代理。这意味着发送到此 Compute Engine 的 Redis 客户端请求会通过 Memorystore 代理到由 Google 管理的真实 Redis 服务器。由于 Compute Engine 是 vpc-1 VPC 中的一个普通计算资源,因此它的内部 IP 地址可以从与 vpc-1 对等的其他 VPC 访问(例如,在我们的故事 vpc-1 }})。最终结果是,在 vpc-2 中创建的 Compute Engine 然后可以使用 Redis 协议以运行 vpc-2 的 Compute Engine 为目标。然后,计算引擎将请求转发到真正的 Redis 服务器,一切都按预期工作。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。