本文档介绍如何使用预算通知来有选择地控制资源用量。
在您为项目停用结算功能后,所有服务都会关停,且所有资源最终都会被删除。如果您需要更精细的响应,则可以有选择地控制资源。例如,您可以关停部分 Compute Engine 资源,而让 Cloud Storage 资源保持运行。通过仅关停部分资源,在帮助您降低费用的同时,又不会完全停用您的环境。
在以下示例中,有一个项目使用许多 Compute Engine 虚拟机 (VM) 运行研究,并将结果存储在 Cloud Storage 存储桶中。该项目使用了一个 Cloud Run 函数,通过将预算通知用作触发器,能够在超出预算后关停所有 Compute Engine 实例,而又不会影响存储的结果。
准备工作
在开始之前,您必须先完成以下任务:
设置 Cloud Run 函数
- 完成创建 Cloud Run 函数中的步骤。确保将触发器类型设置为预算将使用的同一 Pub/Sub 主题。
添加以下依赖项:
Node.js
将以下内容复制到
package.json
文件中:Python
将以下内容复制到
requirements.txt
文件中:将以下代码复制到您的 Cloud Run 函数中:
Node.js
Python
将入口点设置为要执行的正确函数:
Node.js
将入口点设置为
limitUse
。Python
将入口点设置为
limit_use
。查看自动设置的环境变量的列表,并确定是否需要手动将 GCP_PROJECT 变量设置为运行虚拟机的项目。
设置 ZONE 参数。此参数是超出预算时将要关停实例的可用区。
点击部署 (DEPLOY)。
配置服务账号权限
Cloud Run 函数作为自动创建的服务账号运行。为了控制用量,您需要通过完成以下步骤,向该服务账号授予项目中需要修改的任何服务的相应权限:
- 通过查看 Cloud Run 函数的详细信息,确定正确的服务账号。该服务账号显示在页面底部。
前往 Google Cloud 控制台中的 IAM 页面,设置相应权限。
测试实例是否已关停
如需确保您的函数按预期运行,请按照测试 Cloud Run 函数中的步骤操作。
如果测试成功,您应该能够在 Google Cloud 控制台中看到 Compute Engine 虚拟机已关停。
后续步骤
查看其他程序化通知示例,了解如何执行以下操作: