Cloud Billing / Budgets
クラウドのコストを請求先アカウント単位で可視化し、予算としきい値で使い過ぎを検知する。通常の予算は通知用で、対象サービスを止める支出上限は2026年7月時点でプレビュー。
- 請求先アカウントにプロジェクトを紐づけてコストを集約・可視化する。
- 予算としきい値アラートで超過を通知し、Pub/Sub から自動対処も組める。
- 通常予算は支払いを止めない。対象限定の支出上限はプレビューのため提供条件を確認する。
解決する課題
クラウドの利用料は使った分だけ後から請求されるため、放置すると気づかないうちに費用が膨らみます。Cloud Billing と Budgets を使うと、課金を組織横断で一元管理し、使い過ぎを事前に検知できます。
- いまどのプロジェクト・サービスに いくらかかっているか を把握したい
- 想定を超えそうなときに 早めに通知 を受け取りたい(予算アラート)
- 部署やプロジェクトごとに コストを按分・配賦 したい
- 月次の請求明細を 詳細に分析 して無駄を削りたい
主要概念と用語
Cloud Billing は支払いと課金管理の土台で、Budgets はその上で予算と通知を担う機能です。
- 請求先アカウント(Billing Account): 支払い方法と請求の単位。複数のプロジェクトを 1 つの請求先アカウントに紐づけて課金を集約する。AWS の支払いアカウント(管理アカウント)に近い
- プロジェクトとのリンク: 各プロジェクトは 1 つの請求先アカウントにリンクして初めて課金サービスを使える。リンクが外れると課金リソースは停止する
- Cloud Billing アカウントの種類: オンライン(自己セルフサービス、クレジットカード等)とオフライン(請求書払い、インボイス)がある
- 予算(Budget): 月次・四半期・年次・任意期間に対する金額の目標。スコープ(請求先アカウント全体/特定プロジェクト/特定サービス/ラベルなど)を絞れる
- しきい値ルール(Threshold Rule): 予算に対する割合(例: 50 パーセント、90 パーセント、100 パーセント)で発火する通知条件。実コストだけでなく予測コストにも設定できる
- 予算アラート: しきい値超過時の通知。既定は請求先アカウントの管理者・ユーザーへのメールで、追加のメール通知チャネルや Pub/Sub にも連携できる
- 支出上限予算(Spend cap budget): 対象となる API サービスの使用を上限到達時に一時停止するプレビュー機能。通常予算とは異なり強制力を持つが、対象サービスが限られ、永続リソースなどの固定費は止まらない
- ラベル(Label): リソースに付けるキーと値のタグ。コストを部署・環境などの切り口で分類・配賦するのに使う
- 請求データのエクスポート: 詳細な課金明細を BigQuery へ、または CSV/PDF として取得し、深い分析に使う
- コストテーブル / レポート: コンソール上でサービス別・プロジェクト別の内訳を可視化するビュー
- 割引・クレジット: 確約利用割引(Committed Use Discounts、CUD)や継続利用割引(Sustained Use Discounts)など。AWS の Savings Plans / リザーブドに相当する考え方
仕様・制限・クォータ
- 予算は 金額 ベースで作成し、月次・四半期・年次・任意期間を選んで複数のしきい値ルールを設定できる
- しきい値は 実コスト と 予測コスト(forecasted) の双方に適用できる。予測は月末までの見込み額に対して早期に発火する
- 通常の予算アラートは 支払いやリソースを自動で停止しない。停止したい場合は Pub/Sub 連携で別途自動化する。支出上限予算は例外だが、2026年7月時点ではプレビューかつ対象サービス限定
- 通知メールの宛先は既定で請求先アカウントの権限保有者。追加できる Cloud Monitoring 通知チャネルはメール用で、Slack などへ送る場合は Pub/Sub の購読処理を別途実装する
- 1 つの請求先アカウントに作成できる予算の数や、エクスポートの反映遅延などには上限・遅延があるため、最新の公式ドキュメントで確認する
- 請求データの BigQuery エクスポートは設定後のデータから反映され、過去分が遡って入るわけではない点に注意
内部の仕組み
横にスクロール
各サービスの利用量は計測され、請求先アカウント単位で集計されてコストデータになります。Budgets はこの集計値を定期的に評価し、設定したしきい値(実コストまたは予測コスト)を超えると通知をトリガーします。
通知はメールだけでなく、Pub/Sub トピック にメッセージとして発行できます。これを Cloud Functions や Cloud Run で受け取れば、しきい値超過時にリソースを停止したり、請求先アカウントのリンクを解除したりといった自動対処を組めます。
コストデータには反映の遅延があり、リアルタイムではなく数時間程度のラグを見込む必要があります。予測コストは過去の利用傾向から月末見込みを推定するため、利用パターンが急変すると見込みも変動します。
通常の予算としきい値アラートは「通知」であり、設定金額に達しても 課金やリソースは自動で止まりません。Pub/Sub から安全な停止処理を自動化する方法があります。プレビューの支出上限予算は対象 API の新規使用を止められますが、対象外サービスや稼働中の永続リソースの費用は継続し得ます。
設計パターン / ベストプラクティス
- 予算アラートを Pub/Sub へ送り、Cloud Functions で自動対処(通知集約、リソース停止、リンク解除)を実装する
- しきい値は 複数段階(例: 50 / 90 / 100 パーセント)で設定し、さらに 予測コスト のしきい値で前倒し検知する
- 環境(本番・検証・開発)やチームごとに プロジェクトを分割 し、プロジェクト単位で予算とコストを管理する
- リソースに ラベル を一貫して付与し、部署・環境・コストセンター別にコストを配賦できるようにする
- 詳細分析が必要なら 請求データを BigQuery にエクスポート し、SQL やダッシュボード(Looker Studio 等)で可視化する
- 安定して使い続けるワークロードは 確約利用割引(CUD) を検討し、単価を下げる
運用・監視
- アラートが届かない → 予算のしきい値設定、通知先(請求先アカウント権限者/追加のメール通知チャネル)、Pub/Sub トピックの権限を確認
- コストが想定より高い → コストテーブルでサービス別・プロジェクト別内訳を確認し、BigQuery エクスポートで明細を深掘り
- プロジェクトが急に動かない → 請求先アカウントとのリンクが外れていないか、請求先アカウントが無効化されていないかを確認
- 配賦できない → リソースにラベルが付いているか、予算スコープがラベルやプロジェクトで適切に絞られているかを確認
コスト
Cloud Billing と Budgets の機能自体(コストの閲覧、予算作成、アラート、コンソールのレポート)は 追加料金なしで利用 できます。課金が発生するのは、請求データを BigQuery にエクスポート した際の BigQuery 側のストレージ/クエリ費用や、Pub/Sub・Cloud Functions など連携先サービスの利用分です。
| 項目 | 課金の考え方 | コストを抑えるコツ |
|---|---|---|
| 予算・アラート機能 | 機能自体は無料 | 気にせず多段しきい値で手厚く設定 |
| コストレポート閲覧 | コンソール機能で無料 | 標準ビューで日々確認する |
| BigQuery エクスポート | BigQuery のストレージとクエリに課金 | 必要なパーティションだけクエリし保持を最適化 |
| Pub/Sub 連携の自動化 | Pub/Sub と関数側の実行に課金 | 発火頻度が低いので影響は小さい |
セキュリティ
- 課金情報は機微なので、閲覧・変更は IAM ロール で最小化する(閲覧は請求先アカウント閲覧者、管理は請求先アカウント管理者など)
- プロジェクトの作成者が自動で課金を変更できないよう、請求先アカウントの権限とプロジェクトの権限を分離 して管理する
- 請求データを BigQuery にエクスポートする場合、そのデータセットへのアクセスも IAM で制御し、必要に応じて CMEK で暗号化する
- 予算アラートを飛ばす Pub/Sub トピックや受信側の関数には、最小権限のサービスアカウントを割り当てる
組織レベルでは、請求先アカウントの管理者ロールを限られた担当者だけに付与し、開発者にはプロジェクト権限のみを与えるのが定石です。これにより、誰でも勝手に高額リソースの課金先を切り替えたり予算を改変したりするのを防げます。
Well-Architected の観点
- コスト最適化(Cost Optimization): 本サービスの中心的な価値。可視化・予算・アラートでコストを継続的に把握し、確約利用割引やラベル配賦で無駄を削る
- 運用上の優秀性(Operational Excellence): 予算アラートを Pub/Sub 経由で自動化に組み込み、人手に頼らないコストガバナンスを実現する
- 信頼性(Reliability): 請求先リンク切れによる予期せぬ停止を避けるため、請求先アカウントの状態とリンクを監視する
試験で問われるポイント
- 通常の予算アラートは通知のみで自動停止しない。対象限定の支出上限予算はプレビューであり、固定費まで完全に止める機能ではない
- しきい値は 実コスト だけでなく 予測コスト にも設定でき、月末見込みで早期に発火させられる
- 詳細な課金分析には 請求データの BigQuery エクスポート を使い、SQL で深掘りする
- 複数プロジェクトのコストは 1 つの請求先アカウントに集約 して一元管理する
- AWS では Cost Explorer(可視化)+ Budgets(予算・アラート)+ CUR(明細エクスポート) がこの役割に対応する
関連サービス・比較
| 観点 | Cloud Billing / Budgets(GCP) | AWS の相当機能 |
|---|---|---|
| コスト可視化 | コストテーブル / レポート | Cost Explorer |
| 予算とアラート | Budgets(予算 + しきい値ルール) | AWS Budgets |
| 明細エクスポート | BigQuery への請求データエクスポート | Cost and Usage Report(CUR) |
| 請求の集約単位 | 請求先アカウント | 支払い(管理)アカウント / Organizations |
| アラート通知先 | 権限保有者メール / 追加メール / Pub/Sub | SNS / メール |
| 割引の仕組み | 確約利用割引・継続利用割引 | Savings Plans・リザーブド |
| 異常検知 | 予測コストのしきい値などで検知 | Cost Anomaly Detection |
ハンズオン / CLI例
# 利用可能な請求先アカウントを一覧表示
gcloud billing accounts list
# プロジェクトを請求先アカウントにリンク
gcloud billing projects link PROJECT_ID \
--billing-account=0X0X0X-0X0X0X-0X0X0X
# プロジェクトに紐づく請求先アカウントを確認
gcloud billing projects describe PROJECT_ID
# 月次の予算を作成し、50/90/100 パーセントでアラート(実コスト基準)
# 通知先の Pub/Sub トピックや表示名は環境に合わせて指定する
gcloud billing budgets create \
--billing-account=0X0X0X-0X0X0X-0X0X0X \
--display-name="monthly-budget" \
--budget-amount=1000USD \
--threshold-rule=percent=0.5 \
--threshold-rule=percent=0.9 \
--threshold-rule=percent=1.0
# 作成済みの予算を一覧表示
gcloud billing budgets list \
--billing-account=0X0X0X-0X0X0X-0X0X0X
Google Cloud Service
Cloud Billing / Budgetsを実務で読む
TL;DRは入口です。実際に選ぶ・使う段階では、何を解決するか、何と比較するか、導入後にどこで詰まるかまで見る必要があります。
解決すること
管理・ガバナンス
比較で見る軸
クラウド: Google Cloud / カテゴリ: 管理・ガバナンス / 難易度: basic
導入後に効く点
予算としきい値アラートで超過を通知し、Pub/Sub から自動対処も組める。
先に潰すリスク
サービス単体ではなく、権限、ネットワーク、監視、課金、バックアップを含めて設計する必要がある。
- クラウド
- Google Cloud
- カテゴリ
- 管理・ガバナンス
- 難易度
- basic
- 関連資格
- —
- 設計柱
- cost
判断チェックリスト
- 自社の用途が「管理・ガバナンス / cost」に近いか確認する。
- 強みである「請求先アカウントにプロジェクトを紐づけてコストを集約・可視化する。」が本当に評価軸になるか確認する。
- 注意点の「サービス単体ではなく、権限、ネットワーク、監視、課金、バックアップを含めて設計する必要がある。」を運用で吸収できるか確認する。
- 公開値や仕様値は、対象プラン・対象機種・対象リージョンまで確認する。
- 既存システム、ID、ネットワーク、監視、バックアップとの接続方法を先に洗い出す。
- 小さく試してから、本番移行、権限設計、障害時手順、コスト監視を決める。