google-cloud-platform - 在不访问 Billing API 的情况下监控 GCP 支出
问题描述
我在一所大型大学管理着一个小型研究小组,该小组管理着数百个 GCP 帐户。大学担任计费管理员,我的研究小组被分配了一个 GCP“项目”来完成我们所有的工作。但是,出于隐私原因,他们无法让我访问 Billing API,因为这将允许我查看其他实验室的计费详细信息。
因为我们实验室中有会犯错误的学员,所以我想设置一个自动化系统来监控我们当前的 GCP 账单,并且 (1) 发送通知或 (2) 在账单达到某些预定义限制时终止所有 VM。例如,如果我们的每月预算是 1 万美元,那么我希望收到 5 千美元的通知,另一个 1 万美元的通知,我希望以 1 万 5 千美元的价格终止所有虚拟机。
我的问题是,为了实现这样的系统,我需要访问 Billing API。我已经联系了我的系统管理员,他们说这是不可能的。相反,他们建议我编写一个脚本,列出所有虚拟机并使用成本计算器估算我每月的 GCP 账单。
然而,这似乎有点迂回。当我使用 Google Cloud Console 时,我可以看到我的项目的总成本和预测成本,因此我似乎应该能够以编程方式访问这些信息。但是,我找不到任何有关如何执行此操作的信息,因为所有解决方案都需要我激活 Billing API。有任何想法吗?
解决方案
没有 API 可以获取您在 Google Cloud Console 中看到的数据。您需要导出计费数据,然后处理每一行数据以生成报告。
我能想到的有两种选择:
选项 1) 要求管理员设置将结算数据导出到 BigQuery。授予您查询计费表的权限。然后,您可以查询 BiGQuery 以生成您自己的成本报告。
设置 Cloud Billing 数据导出到 BigQuery
选项 2) 为您的项目创建一个单独的计费帐户并授予您权限。一个 GCP ORG 可以将多个结算帐户绑定到同一个付款帐户。此选项支持创建预算警报。
推荐阅读
- firebase - Flutter:获取 FirebaseStorage 下载 URL 和上传状态
- javascript - 如何使json中的图像可拖动并允许放置在特定位置?
- javascript - (mixItUp) 切换按钮没有响应
- excel - VBA - 更改图表线条颜色
- hibernate - 无法使用@OneToMany Spring boot 插入数据
- javascript - 如何将旧的 JavaScript API 转换为 Promise
- react-native - 在组件类之间动态传递和更新 UI 和数据(React Native)
- java - 支持基于最近访问项目的有效踢出策略的数据结构
- amazon-web-services - 由于“HEALTH_CONSTRAINTS”,AWS 部署持续失败
- c# - 处理迭代时的时间跳跃问题