You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Cloud Run通过无服务器VPC连接器访问Memorystore报缓存不可用错误

问题排查与解决步骤

故障原因定位

  • 基础配置不匹配:Memorystore、Cloud Run、无服务器VPC连接器三者区域不一致,或连接器子网与Memorystore网段冲突
  • 防火墙规则拦截:VPC未放行VPC连接器网段到Memorystore端口的访问请求
  • 配置不兼容:Memorystore开启了身份验证或传输加密,但Django缓存配置未添加对应参数
  • 子网不符合要求:VPC连接器使用的子网未预留为连接器专用,存在网段占用

对应解决方案

1. 校验基础配置一致性

  • 确认Memorystore实例、Cloud Run服务、无服务器VPC连接器处于同一GCP区域,跨区域访问Memorystore默认不支持,是最常见的配置错误
  • 执行gcloud redis instances describe [实例名] --region [区域]查看Memorystore的私网IP,确认该IP所在网段与你创建的连接器子网10.0.0.0/28无重叠,若重叠需重新创建连接器子网,更换未被占用的私网段(例如10.0.1.0/28)
  • 确认你创建的子网为VPC连接器专用,未被其他VM、负载均衡等资源占用

2. 调整VPC防火墙规则

  • 新增default网络的入站防火墙规则:源地址为VPC连接器网段10.0.0.0/28,目标端口为6379(Memorystore默认端口),协议为TCP,动作为允许
  • 若你修改过default网络的默认规则,需同步删除针对该网段或6379端口的拒绝规则

3. 对齐Django配置与Memorystore配置

  • 检查Memorystore是否开启AUTH身份验证,若开启需在缓存配置的OPTIONS中添加"PASSWORD": "你的Redis密码"参数
  • 检查Memorystore是否开启传输加密,若开启需在OPTIONS中添加"CONNECTION_POOL_KWARGS": {"ssl_cert_reqs": None}参数,否则TLS握手会失败
  • 排查阶段临时将IGNORE_EXCEPTIONS改为False,可以拿到更具体的连接错误日志,进一步缩小问题范围

4. 确认Cloud Run配置生效

  • 确认Cloud Run当前服务版本是绑定VPC连接器后的最新部署版本,未使用旧的未绑定版本
  • 你选择的「仅将私有IP的请求路由到VPC连接器」配置正确,全量路由部署失败属于正常情况,和当前私网连接问题无关

内容的提问来源于stack exchange,提问作者Kimor

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 16:45:08