如何在无流量时关闭Google App Engine以降低运行费用?
App Engine Flex 低流量阶段降费方案
核心费用产生原因
你当前持续产生费用的核心原因是使用了 App Engine 柔性环境(Flex)+ 手动扩缩容固定1实例 的配置:
App Engine Flex 环境底层基于 GCE 实例运行,只要实例处于启动状态,无论有没有请求接入,都会按运行时长持续计费,你当前的配置单实例月成本恰好就是40~50美元区间,和你反馈的账单情况匹配。
能否实现无请求时自动关停?
原生 App Engine Flex 环境不支持自动缩容到0实例,最低需要保留1个运行实例,无法通过原生配置实现无请求时完全关停免计费。
开发阶段可行降费方案
手动启停实例(最适配当前开发场景)
开发阶段不用的时候直接修改app.yaml配置,将实例数调整为0,再执行部署即可关停所有实例,不会产生任何运行费用:
也可以通过gcloud命令直接调整实例数,无需修改配置文件:runtime: custom env: flex manual_scaling: instances: 0 # 不用时设为0,需要开发时改回1再部署 resources: cpu: 1 memory_gb: 0.5 disk_size_gb: 10# 关停所有实例 gcloud app services update [你的服务名] --manual-scaling instances=0 # 需要开发时重新启动1个实例 gcloud app services update [你的服务名] --manual-scaling instances=1迁移到 Cloud Run(适合长期低流量场景)
如果你后续上线后流量也不高,可以将容器化应用迁移到 Cloud Run,它原生支持无请求时自动缩容到0实例,没有请求时完全不扣费,迁移成本极低,也可以完美支持Mux Video请求处理逻辑。
额外降费提示
开发阶段功能验证优先在本地Docker环境完成,确认可用后再部署到App Engine,减少不必要的实例运行时长。
内容的提问来源于stack exchange,提问作者Zach Gonzalez
相关产品推荐
相关产品推荐

