自 2019 年 11 月 30 日起,仅当您的账号提供有付款方式(例如信用卡)时,您才能部署新版 App Engine 应用。自 2021 年 8 月 9 日起,所有 App Engine 应用都需要具有付款方式才能继续运行。此要求适用于所有 App Engine 运行时环境中的应用,包括 App Engine 标准环境中的 Java 8、Python 2.7、PHP 5、Go 1.11 应用。
自 2021 年 8 月 9 日起,如果正在运行的应用没有提供付款方式,则该应用将被关停。
虽然您必须为账号提供付款方式,但 App Engine 免费层级并未发生变化,并且不会消失。
我们做出本次调整的原因
所有运行时环境都需要付款方式时,可以防止欺诈和滥用行为,并让 App Engine 与 Google Cloud 的其余部分保持一致。这有助于我们在您基于 App Engine 拓展业务的过程中投入更多时间来提供新功能并为您提供支持。
此外,所有 App Engine 运行时环境现在都使用 Cloud Build 在部署过程中将应用构建到容器中。Cloud Build 要求提供付款方式,因此如果付款方式不存在,则部署到 App Engine 的操作将失败。自 2021 年 8 月 9 日起,如果正在运行的应用没有提供付款方式,则该应用将被关停。您可以通过添加付款方式来恢复您的应用。
除了提供付款方式之外,您不需要对项目进行任何其他更改。Cloud Build 的更改完全在后台进行,不会影响部署命令或管理 API。
哪些内容保持不变
App Engine 上的免费层级保持不变。
您将看到的内容
如果您的项目没有有效的付款方式,您会看到以下内容:
向您的应用发送请求后返回的
HTTP 500
错误App Engine 日志中显示“结算功能已停用,正在关停实例”的应用日志条目。
您需要做什么
如果您的 App Engine 应用在 App Engine 标准环境中使用 Java 8、Python 2.7、PHP 5、Go 1.11 运行时环境,则您需要向项目添加付款方式。
如需向项目添加付款方式,请执行以下操作:
创建结算账号(如果您还没有结算账号)。
添加您的信用卡或其他付款方式。
将您的项目与结算账号相关联。
详细了解如何添加、移除或更新付款方式。
我们为何要进行这项调整
这项调整要实现的目标如下:
减少 App Engine 上的欺诈
提高 App Engine 与其他 Google Cloud 服务的集成度
减少 App Engine 上的欺诈
欺诈会伤害 App Engine 和 Google 的所有合法用户。我们的工程和支持团队投入大量时间来预防、监控和诊断欺诈性使用情况。这会限制我们向合法客户提供的资源。此外,欺诈会耗费 Google 的资金,进而增加了每个人的费用,因为我们必须将其计入 App Engine 价格中。
根据我们使用较新运行时环境的经验来看,需要付款方式可以减少欺诈行为。
将 App Engine 与其他 Google Cloud 服务集成
App Engine 于 2008 年推出,早于 Google Cloud,并构建在完全自定义的专有架构中,因为没有更广泛的平台可以集成。现在,Google Cloud 是一个大型而复杂的平台,我们的客户要求 App Engine 与 Google Cloud 中提供的服务无缝集成。
通过无服务器 VPC 访问通道,App Engine 可与其他 Google Cloud 服务集成,这使得 App Engine 与 Compute Engine 虚拟机和 Google Kubernetes Engine 集群可位于同一个 VPC 中。作为集成的一部分,我们正将 App Engine 构建迁移至 Cloud Build,这具有以下优势:
详细的构建输出,包括详细警告和错误
可以在 Cloud 控制台的 Cloud Build 部分中查看构建历史记录
(即将推出)除了 App Engine 运行时环境中提供的预定义集之外,您还可以在代码中添加任何库
几乎所有 Google Cloud 服务都需要提供付款方式,因此这种额外的集成意味着 App Engine 也必须提供付款方式。
Cloud Build 的使用费用
Cloud Build 有一个免费层级,每个结算账号每天有 120 分钟的构建时间。例如,如果您的构建需要 5 分钟才能完成,则您一天可以部署 24 次,而不会产生任何费用。 如需详细了解超出免费层级的价格,请参阅 Cloud Build 价格。
限制费用
您可以使用以下机制来限制 App Engine 费用:
将
app.yaml
配置文件中的max_instances
设置设定为1
,以将实例使用量限制为免费层级。设置预算和提醒,以监控您的所有 Google Cloud 服务的资源消耗情况。
当应用超过预设的使用级别时手动停用该应用。