使用 App Engine 时,您只需为超出免费配额的资源付费。超过免费配额后,您将根据应用收到的流量来支付费用。
您可以使用以下任意一种机制,来限制 App Engine 应用的费用:
- 指定实例数上限
- 创建预算提醒
- 手动停用应用
- 以编程方式停用应用
指定实例数上限
由于 App Engine 费用通常根据您的应用获得的流量而调节,因此您可以通过限制 App Engine 可以创建的实例数来限制费用。
如果将实例数上限设置为 1 个实例,那么您的实例小时使用量通常会保持在免费层级。不过,如果设置的上限过低,可能会导致您的应用没有足够的实例来充分处理传入的请求。
如需指定实例数上限,请使用应用的 app.yaml
文件中的 max_instances
设置。
创建预算提醒
预算提醒会在费用超出指定的阈值时发送通知。收到通知后,您可以通过降低 max_instances
设置的值或停用您的应用来限制费用。
如需启用预算提醒,请参阅设置预算提醒。
选择预算提醒的范围
您可以为一个或多个项目中的所有 Google Cloud 服务的总费用创建预算提醒,也可以仅为 App Engine 费用创建提醒。
如要为 App Engine 中的费用创建预算提醒,请在预算提醒的产品字段中选择 App Engine。当所有 App Engine 资源的总费用超过您指定的金额时,将触发提醒,包括:
- App Engine 标准环境中的实例小时数
- App Engine 柔性环境中的实例小时数和 RAM
- 捆绑的 App Engine 服务
如需查看可计费 App Engine 资源的完整列表,请参阅 App Engine SKU。
手动停用应用
停用应用会使其暂时停止服务和产生与服务应用相关的结算费用。您应用的所有数据和配置设置都保持不变,并且在您准备重新开始运行应用时,可以启用它。
在应用停用期间,对您的应用发出的请求将失败。您可能会继续在其他 Google Cloud 产品中产生费用。例如,如果您的项目已超过 Cloud Storage 的免费配额,您将继续产生存储费用。
如需了解详情,请参阅停用应用。
以编程方式停用应用
您可以使用预算提醒、Pub/Sub 和 Cloud Run 函数,在费用超过指定的阈值时自动停用应用。
与手动停用应用一样:
- 应用的所有数据和配置设置都保持不变。
- 当您准备重新开始运行应用时,可以启用该应用。
- 在您的应用停用期间,向应用发出请求都将失败。
- 在您的应用停用期间,您可能会继续产生来自其他 Google Cloud 产品的费用。
如要以编程方式停用应用,请执行以下操作:
创建向 Pub/Sub 主题发送通知的预算提醒。如需了解详情,请参阅管理程序化通知。
如需为来自 App Engine 的费用创建预算提醒,请在预算的产品字段中选择 App Engine。如需了解可触发此提醒的资源,请参阅创建预算提醒。
在 Cloud Run 函数中,创建由 Pub/Sub 主题触发的函数。如需了解详情,请参阅创建 Cloud Functions 函数。
在创建函数时:
使用以下源代码:
将以下依赖项添加到函数的
requirements.txt
文件中:在执行函数下,输入
limit_use_appengine
。点击环境变量、网络、超时等。
选择具有 App Engine Admin 角色的服务账号。默认情况下,App Engine 默认服务账号具有此角色。
测试函数。
触发预算提醒后,系统会向您的 Cloud Billing 账号中的用户发送电子邮件,并且您的函数将停用您的应用。完成此过程可能需要几分钟的时间。
如需验证函数是否已成功运行,请查看 App Engine 信息中心。顶部附近会显示一条消息,表明您的应用已停用。
如果您希望应用继续处理请求,请转到应用设置,然后点击启用应用。