【问题标题】:Google Cloud Redis - IP Address changed without warningGoogle Cloud Redis - IP 地址更改没有警告
【发布时间】:2026-01-10 07:40:01
【问题描述】:

TLDR:我可以就如何在 GPC 上设置 Redis 以用于生产使用一些建议,它只是随机切换我们的 IP 地址,文档中没有任何内容/我不知道如何构建稳定的解决方案有这种可能。

背景:

我们已经使用谷歌云几年了,并且在“标准”层上有一个稳定的 Redis Memorystore 实例。

在过去的几天里,我们的网络服务器开始时不时地慢慢崩溃。查了一下,连接celery/Redis的时候有问题,我们发现我们所有的配置文件都有10.0.0.3作为Redis实例,服务器的IP地址是10.0.0.4。这从未改变过,我们的配置在 git 中,所以我们确信它们没有改变。

由于 Celery 不会因连接不良而启动,所以我们在周二推送新代码时知道它是正确的。似乎服务器发生故障并以某种方式向我们发出了 IP 地址更改。作为证据,

Our graphical usage bizarrely change color at a specific point

与我们的错误日志“[2020-06-16 03:09:21,873: ERROR/MainProcess] Error in timer: ReadOnlyError("You can't write against a read-only slave.",)"

匹配p>

我们找到的所有文档都说 IP 地址将保持不变,但鉴于这种情况并没有发生,我希望得到一些反馈,说明在这种情况下如何在 GPC 上解决非静态 IP

【问题讨论】:

    标签: google-cloud-platform celery django-celery google-cloud-memorystore


    【解决方案1】:

    Memorystore 不支持静态 IP 地址。可能发生 IP 地址更改的一些情况是重新启动或更改连接模式时。

    根据对 Redis networking page 的 Memorystore 的审查,当通过 IP 地址使用直接访问连接时,您的项目将与管理实例的 Google 内部项目建立 VPC 网络对等连接。这将为 Memorystore 创建一个分配的 IP 范围以用于实例,这可以由您提供或从可用空间中选择(默认为 /29 块)。

    另一方面,Memorystore for Redis 将正常运行时间公开为可通过Cloud Monitoring(正式为 Stackdriver)获得的指标。这可以用作实例的运行状况检查,因为您将能够确定是否存在重新启动或不可用点。

    按照上述要点,您可以直接在Cloud Monitoring 中设置正常运行时间指标警报。不幸的是,IP 地址更改并没有什么特别的。

    【讨论】: