本页面介绍了配置 Cloud Run 服务时需要考虑的一些方面。没有一种成本优化解决方案能够适用于所有情况。请务必根据自己的需求、预算和资源来确定最适合自己的方案。
本文档中概述的最佳实践专门针对 Cloud Run。这些费用不包括其他 Google Cloud 产品。
资源配置
优化服务以降低费用需要考虑许多不同的配置。您可以根据自己的需求定制这些配置,以创建可靠且经济高效的服务。
选择适当的地区
服务的部署位置会影响总费用。Cloud Run 采用双层区域价格模式。与第 2 级区域相比,第 1 级区域的每个 vCPU 和内存费用更低,因此请考虑部署到第 1 级区域。
需要进行身份验证
配置 Cloud Run 服务时,您可以从以下两种身份验证选项中进行选择:
- 允许公开访问:无需进行身份验证检查。
- 需要进行身份验证:只有经过身份验证的用户才能访问您的 Cloud Run 服务。
我们建议您要求进行身份验证,除非您有允许公开访问的特定需求。这样可以防止产生不必要的请求,避免产生费用。
如果您使用 Identity-Aware Proxy (IAP) 管理用户,IAP 本身可能也会产生相关费用。
比较基于实例的结算方式与基于请求的结算方式
Cloud Run 服务有两种结算设置:
- 基于请求的结算方式(默认):您需要按请求付费,此外,还需要按更高的每秒费率支付在请求处理期间消耗的 vCPU 和内存费用。
- 基于实例的结算方式:您需要为实例的整个生命周期付费。无需按请求付费,且 vCPU 和内存的每秒费率更低。
对于流量稳定且缓慢变化的服务,请考虑使用基于实例的结算方式。较低的计算费率和无需按请求付费带来的节省超过了为请求之间的空闲时间付费的成本。对于流量偶尔出现、突发或激增的服务,请考虑使用基于请求的结算方式。如果您仍不确定要使用哪种结算设置,请参阅Recommender。Recommender 会查看 Cloud Run 服务在过去一个月内接收的流量,如果基于实例的结算方式费用更低,则会建议将基于请求的结算方式改为基于实例的结算方式。
在服务级配置服务伸缩
如需建立费用安全基准,请为您的服务配置实例数上限。设置较高的上限值可优先考虑可用性,但可能会因意外的流量高峰或错误配置而产生潜在的结算风险。您应在首次部署服务时在服务级配置此设置,以建立费用基准。如需了解其他费用控制工具,请参阅资源分配配额或结算预算和提醒。
优化 CPU 和内存利用率
Cloud Run 服务的费用会受到其 CPU/内存配置和服务的活跃时长等因素的影响。过度预配资源可能会增加费用。如需确定哪种配置可能最适合您的服务,请执行以下操作:
- 建立基准配置。
- 在 Cloud Monitoring 中测试 CPU 和内存利用率指标时,监控您的指标。
- 根据需要调整配置。
如果 CPU 利用率在峰值负载下一直较低,请考虑减少 vCPU 分配。如果延迟时间较长,请考虑增加 vCPU 分配。
如果内存利用率一直很低,请考虑减少分配的内存。 如果延迟时间较长且内存利用率接近 100%,请考虑增加分配的内存。如果您遇到内存不足 (OOM) 错误,则应增加分配的内存或修改应用以防止内存泄漏或减少内存用量。请参阅 Cloud Monitoring 信息中心,以便更好地了解内存利用率。
配置 GPU
所有使用 GPU 的 Cloud Run 服务都必须配置基于实例的结算方式。这意味着,您需要为 Cloud Run 实例的整个生命周期付费,即使没有传入请求也是如此。GPU 所需的最低 CPU 和内存配置也会影响 Cloud Run 服务的费用。默认情况下,GPU 可用区级冗余处于开启状态。关闭 GPU 可用区级冗余可降低每 GPU 秒的费用,但无法保证在故障切换场景中预留容量。
优化网络费用
为服务配置网络选项时,请考虑以下事项:
- 将资源放置在同一位置:尽量将 Cloud Run 服务部署在与后端数据库(如 Cloud SQL 或 Firestore)和 Cloud Storage 存储分区相同的区域中。同一区域内 Google Cloud 资源之间的数据传输是免费的。
- 改用直接 VPC 出站流量:如果您要安全地将流量路由到内部 VPC 网络资源,请考虑从无无服务器 VPC 访问通道通道连接器改用直接 VPC 出站流量。直接 VPC 出站流量可缩减至零,从而消除与连接器实例关联的基准计算开销和闲置费用。
- 使用 Cloud CDN:通过在 Cloud Run 服务前面放置 Cloud CDN,分流静态资源和高度可缓存的内容。与直接从 Cloud Run 支付标准互联网出站流量费相比,从边缘提供数据的费用要低得多。
- 监控互联网出站流量:入站流量(入站)始终免费,并且您每月可在北美地区免费获得 1 GiB 的互联网出站数据传输量。重点监控跨越区域边界或超出免费层级的出站流量。
配置并发设置
处理请求的实例越多,Cloud Run 分配的 CPU 和内存就越多,费用也就越高。并发设置越高,处理相同请求量所需的实例就越少,从而可以降低费用。不过,应用代码必须能够高效处理并行请求。如需了解详情,请参阅调整并发性以实现自动扩缩和资源利用。
承诺使用折扣
承诺使用折扣 (CUD) 提供折扣价格,但要求您承诺在指定期限内持续使用 Cloud Run。CUD 在 Cloud Billing 账号级层适用。您可以为 Cloud Run 资源购买 Compute 灵活 CUD。计算灵活 CUD 不适用于 GPU 或网络。如需了解详情,请参阅计算灵活承诺使用折扣。
实用工具
您可以使用以下工具更好地了解自己的费用,并避免费用超支。
Cloud Run 概览:结算面板
Cloud Run 概览页面的“结算”面板中会显示每个资源名称的费用。这些数字反映了所选时间范围内每个资源的总费用。此工具可帮助您更好地了解资源的费用。
预算提醒
在 Cloud Billing 中创建预算提醒,以便根据计划费用跟踪实际费用。预算是一种提醒机制,当支出超过阈值时会触发通知,而不是硬性支出上限。结算数据存在延迟,可能会影响您收到提醒的时间。
Cloud Billing
Cloud Billing 是一系列工具,可帮助您跟踪和了解 Google Cloud 支出。这些工具可帮助您监控使用费用、预测支出并找出节省费用的机会。
成本探索器
借助成本探索器,您可以了解资源的费用和利用率。您可以使用成本探索器执行以下操作:
- 按费用过滤资源,以查看哪些资源最昂贵。
- 了解 vCPU、GPU、网络等配置在费用中所占的比例。
- 跟踪资源配置更改对每月账单的影响。
Google Cloud 价格计算器
Google Cloud 价格概览包含有助于更好地了解 Google Cloud 价格模式的信息。您还可以在这里找到详细的价格表。 您可以使用价格计算器添加和配置产品,从而估算费用。
Recommender
Recommender 是一项工具,可为 Cloud 产品提供使用建议和数据分析。
Recommender 会自动查看 Cloud Run 服务在过去一个月内接收的流量,如果基于实例的结算方式费用更低,则建议将基于请求的结算方式改为基于实例的结算方式。Cloud Hub 优化
您可以在 Cloud Hub 的“优化”页面上查看 Google Cloud 服务的费用摘要数据、利用率数据和费用优化建议。