推出支出管理:为 Cloudflare 提供支出上限与预警
内容提要
Cloudflare推出“支出管理”测试版,面向按量付费客户,首发支持Workers和Durable Objects。用户可设置支出上限和预警阈值,达到上限后系统自动暂停产生费用的调用,避免意外账单。系统通过两阶段计量聚合、按账户分区的用量引擎和评级引擎计算累计支出,并借助Quicksilver异步下发限额。未来将扩展至更多产品、缩短延迟,并支持按应用和AI代理设置预算。
延伸解读
从“通知”到“控制”的转变
文章指出,此前 Cloudflare 虽提供用量通知和预算提醒,但“告知不等于控制”。支出管理让用户设置硬性上限,达到后自动暂停产生费用的调用,从而避免意外账单。这标志着成本管理从被动提醒转向主动阻断,尤其适合按量付费且用量波动大的场景。
计费周期与暂停范围需留意
文章提醒,计费周期从付费订阅开始日起算,而非自然月。达到上限后,系统仅暂停产生费用的调用,例如 Workers 的 Cron Triggers 和 Queue 消费者调用会暂停,但静态资源仍继续服务。恢复服务可通过提高限额、禁用或删除阻断策略,或等待下一计费周期。
异步执行与近实时延迟
支出上限的执行并非在请求路径中同步完成,而是通过 Quicksilver 异步下发到全球节点,由运行时定期刷新后拒绝调用。仪表盘显示当前周期费用有近实时延迟(10 分钟内)。文章称未来计划将延迟缩短至 1 分钟以内,但当前仍需考虑这一时间差对紧急阻断的影响。
未来扩展方向:应用与 AI 代理预算
目前支出管理仅支持 Workers 和 Durable Objects,未来将扩展至更多产品。文章还提到,计划支持按应用或 AI 代理设置预算,通过标记调用元数据,将成本归因到特定应用或代理任务,并在超支时暂停该应用或代理,而不影响其他无关应用。这有助于应对代理递归循环导致的高额费用风险。
Q&A
Cloudflare 的支出管理功能是什么?它主要解决什么问题?
支出管理是 Cloudflare 推出的测试版功能,面向按量付费客户,允许用户设置支出上限和预警阈值。当支出达到上限时,系统会自动暂停产生费用的调用,从而避免意外账单。它解决了以往仅能通知而无法控制的问题。
如何启用和配置支出管理?支持哪些操作方式?
可以通过仪表板、cf CLI 或 REST API 启用和配置。在仪表板中,进入 Manage Account > Billing > Spend limits,选择要控制的产品,设置支出限额、通知邮箱和预警阈值。API 和 CLI 也提供了相应的创建、更新、删除等操作。
支出管理目前支持哪些产品?未来有什么扩展计划?
目前首发支持 Workers 和 Durable Objects。未来计划扩展到更多 Cloudflare 产品,并支持按应用和 AI 代理设置预算,以及缩短计量延迟至一分钟以内。
当支出达到上限时,系统会如何执行暂停?哪些操作会被暂停?
达到上限后,系统会执行阻止策略,自动暂停该产品中产生费用的调用。例如在 Workers 中,Cron Triggers 和 Queue consumer 调用会被暂停,但静态资源仍继续提供服务。恢复服务可以通过提高限额、禁用或删除阻止策略,或等待下一个计费周期。
支出管理的计费周期是如何计算的?
计费周期从付费订阅开始时算起,而不是从部署 Worker 或创建支出上限时开始。例如,订阅于 10 月 10 日开始,则周期通常为 10 月 10 日至 11 月 10 日,而非自然月。
支出管理系统的后端架构是如何工作的?
系统采用两阶段计量管道在靠近源头处聚合用量数据,然后由按账户分区的 Usage Engine 处理,再交由 Rating Engine 计算累计支出。Rating Engine 结合用量记录、订阅信息和定价规则,评估策略并异步通过 Quicksilver 下发限额,确保请求路径不受影响。