跳转到内容

Google Cloud ​

English 文档

Google Cloud 没有能直接回答"这个月花了多少"的 API。它的账单是结算账号写进 BigQuery 数据集的导出,CloudBridge 读的就是这个:每个月一次查询,得到按服务、SKU、项目和区域 按天的费用。赠金——免费层、承诺使用折扣、促销——单独成行,所以用量记的是抵扣前的金额。

打开账单导出 ​

导出只包含开启当天以后的数据,所以先做这一步,哪怕还没安装 CloudBridge。

  1. 在 Google Cloud 控制台,打开 结算 → 结算导出 → BigQuery 导出。
  2. 在 标准用量费用 下点 修改设置,选一个项目,为它新建一个数据集(比如 billing),保存。
  3. 第一批数据到达后(一天之内),数据集里会出现一张名为 gcp_billing_export_v1_ 加结算账号 ID 的表。在 BigQuery 里打开它,点 复制 ID:这就是 CloudBridge 要的 Billing export table,例如 my-project.billing.gcp_billing_export_v1_01AB23_45CD67_89EF01。

给 CloudBridge 一个密钥 ​

  1. 在导出数据集所在的项目里,打开 IAM 和管理 → 服务账号,新建一个,比如 cloudbridge。
  2. 在项目上授予它 BigQuery Job User(用于运行查询),在导出数据集上授予 BigQuery Data Viewer(用于读取那张表)。
  3. 打开这个服务账号,进入 密钥 → 添加密钥 → 创建新密钥 → JSON,把下载的文件放在 只有自己能访问的地方。
  4. 在 CloudBridge 里为 Google Cloud 添加账号,填入密钥文件的路径和账单导出表。

CloudBridge 只保存路径,不保存密钥:每次拉取时读取文件,所以轮换密钥只需替换文件。 gcloud auth application-default login 写出的凭据文件也可以代替它;勾选 Use this machine's credentials 时则读取 GOOGLE_APPLICATION_CREDENTIALS。

账单里有什么 ​

列来自
服务service.description——Compute Engine、Cloud Storage
描述SKU——N2 Instance Core running in Americas
项目project.id 和 project.name
区域location.region
日期用量日期
类别由 cost_type 得出 Usage、Tax 或 Adjustment;赠金记为 Credit

一个月指的是发票月份,与 Google Cloud 发票一致。迟到计费的用量记在开票的那个月, 即使它实际发生在上个月。

查询会读取整张导出表。超出每月免费额度后按 BigQuery 按需价格计费;账单导出通常远小于 这个额度,但只要导出一直开着,它就会一直变大。资源洞察不扫描 Google Cloud 资源。

CloudBridge 具体调用了哪些接口,见云平台权限。

基于 MIT 许可开源发布。