如何阻止Google Cloud构件影响Firebase Storage用量异常飙升?
问题排查方案
1. 检查Firebase Storage的新增文件
直接登录Firebase控制台的Storage存储浏览器,按创建时间排序文件,定位每5分钟新增的内容:
- 确认是否是日志文件(比如
logs/前缀),可能是Cloud Run或其他Firebase服务的日志被自动导出到Storage; - 检查是否开启了对象版本控制,如果开启,删除操作不会真正释放空间,旧版本对象会持续占用存储;
- 查看是否有批量生成的小文件,可能是后端代码的定时逻辑、错误日志重复写入导致。
2. 排查Cloud Run的异常触发
即使没有外部用户访问,Cloud Run可能因配置或内部逻辑自动运行并写入Storage:
- 查看Cloud Scheduler是否存在每5分钟触发Cloud Run的定时任务,检查任务关联的后端是否有Storage写入逻辑;
- 查看Cloud Run的监控指标(实例数、请求数)和日志,确认每5分钟是否有实例启动或请求进入——可能是健康检查配置不当导致频繁重试,而健康检查代码中存在Storage写入操作;
- 检查后端代码是否内置了定时任务(比如自研的cron逻辑),即使无外部请求也会每5分钟执行并写入Storage。
3. 澄清Container Registry的存储混淆
注意:Container Registry的镜像存储在独立的Google Cloud Storage桶(默认是artifacts.<项目ID>.appspot.com),不会直接计入Firebase Storage的用量。你看到的Firebase Storage用量增长,肯定是Firebase自己的存储桶内的内容变化,和Container Registry的镜像无关,无需在这方面浪费排查精力。
4. 检查存储桶的安全与异常访问
- 查看Firebase Storage的访问日志,确认是否有未知IP每5分钟发起写入请求;
- 检查存储桶的安全规则,避免出现
allow write: if true;这类过度开放的配置——如果规则过松,可能被恶意程序利用批量上传文件。
5. 排查Firebase关联服务的自动操作
- 检查是否开启了Firestore、Realtime Database的自动备份,确认备份是否被存储到Firebase Storage,且备份频率是否为每5分钟;
- 查看是否安装了Firebase Extensions(比如文件备份、格式转换类扩展),这类扩展可能按固定频率执行并生成存储文件。
快速定位步骤
- 优先查看Firebase Storage的存储浏览器,找到新增文件的类型和来源;
- 对比Cloud Run的日志时间,确认是否和Storage用量增长时间匹配;
- 检查存储桶的安全规则和访问日志,排除恶意访问可能。
内容的提问来源于stack exchange,提问作者Surya Mahla
相关产品推荐
相关产品推荐

