$ gcloud billing describe --project=my-project
在三大云厂商中,Google Cloud 的计费系统可能是最"技术流"的。它不像 AWS 那样有眼花缭乱的服务组合,也不像 Azure 那样深度集成 Microsoft 生态,而是以简洁透明著称。今天我们就来聊聊 GCP 的 Billing Dashboard。
GCP Billing Dashboard 核心功能
1. Billing Account 结构
理解 GCP 的计费结构是第一步:
- Billing Account —— 付款账户,可以关联多个项目
- Projects —— 资源项目,必须绑定到一个 Billing Account
- Linked Payment Method —— 信用卡、公司账户、发票
2. Cost Breakdown(费用分解)
Dashboard 提供多种费用视图:
- By Service —— Compute Engine、Cloud Storage、BigQuery 等
- By Project —— 各项目的费用分布
- By SKU —— 最细粒度,精确到具体资源类型
- By Location —— 按区域查看费用
3. 预算和告警(Budgets & Alerts)
GCP Billing 允许你设置:
- 固定金额预算 —— 如每月 $10,000
- 动态预算 —— 基于上月费用的百分比
- 阈值告警 —— 50%, 90%, 100% 等节点触发通知
gcloud beta billing budgets create \ --billing-account=BILLING_ACCOUNT_ID \ --display-name="Monthly Budget" \ --amount=10000 \ --threshold-rule-threshold-percent=0.9 \ --threshold-rule-spend-basis=SPECIFIED_AMOUNT
4. 费用导出(Cost Export)
这是 GCP 的杀手级功能 - 将计费数据导出到 BigQuery:
- 每条资源使用记录详细到 SKU 级别
- 可用 SQL 进行高级分析
- 支持数据保留 24 个月
- 可配合 Looker Studio 做可视化报表
高级分析:BigQuery Billing 挖掘
查询空闲资源
SELECT resource.type, resource.name, SUM(cost) as total_cost FROM `gcp_billing_export` WHERE DATE(_PARTITIONTIME) >= DATE_SUB(CURRENT_DATE(), INTERVAL 7 DAY) AND service.description = 'Compute Engine' GROUP BY resource.type, resource.name HAVING SUM(cost) > 0 AND COUNT(*) > 0
Top 10 费用 SKU
SELECT sku.description, SUM(cost) as total_cost, ROUND(SUM(cost) * 100 / SUM(SUM(cost)) OVER(), 2) as pct FROM `gcp_billing_export` WHERE DATE(_PARTITIONTIME) >= DATE_SUB(CURRENT_DATE(), INTERVAL 30 DAY) GROUP BY sku.description ORDER BY total_cost DESC LIMIT 10
GCP 成本优化策略
1. Committed Use Discounts (CUDs)
类似于 AWS RI 和 Azure RI:
- Resource-based CUDs —— 承诺特定数量的 vCPU 和 GB RAM
- Spend-based CUDs —— 承诺每月最低消费
- 可节省 最高 70%
2. Preemptible VM / Spot
GCP 的抢占式虚拟机:
- 价格比普通 VM 便宜 80-91%
- 随时可能被 Google 抢占(最长运行 24 小时)
- 适合批处理、容错工作负载
3. Committed Use Discounts + Spot 混搭
最佳实践:用 CUD 覆盖基线负载,Spot 处理峰值波动。
标签策略
GCP 推荐使用以下标签进行成本归因:
environment—— prod/staging/devteam—— 负责团队project—— 项目名称cost-center—— 成本中心
- 开启 Billing Export 到 BigQuery
- 使用 Labels 进行成本归因
- 利用 CUD 覆盖稳定基线
- Spot VM 处理非关键负载
- 设置预算和告警
GCP Billing Dashboard 让你的 Google Cloud 账单清晰可控!