設計の判断
コストの最適化
費用は、使っていないものを止めてサイズを合わせ、残った常時稼働の分に確約利用割引を買い、止まってよい処理を Spot VM に回す順で下げます。
費用を下げる順番は、無駄を消す、サイズを合わせる、割引を使う、です。止め忘れた VM や大きすぎるマシンタイプを先に直し、1 年以上動き続けることが確実な使用量にだけ確約利用割引 (CUD) を買います。中断されてもやり直せるバッチは Spot VM に回します。割引を先に買うと、無駄な使用量にまで長期の支払いを約束してしまいます。
料金は使った分だけ払う
クラウドの費用は設備投資 (CapEx) ではなく毎月の運用費 (OpEx) で、止め忘れや過剰なサイズがそのまま請求に出ます。事業側への説明は業務プロセスと組織で扱います。見積もりには料金計算ツールを、移行前との比較には Migration Center の TCO レポートを使います。
Compute Engine の割引は使い方で選ぶ
2026 年 10 月時点の公式ドキュメントの値です。割引率は変わるので、リンク先で確かめてください。
| 仕組み | 条件 | 割引の上限 | 向く使い方 |
|---|---|---|---|
| 継続利用割引 (SUD) | 申し込み不要。月の 25% を超えて動いた分から自動で付く | N1 で 30%、N2 などで 20%。E2 は対象外 | 前提にせず、付けば得 |
| リソースベースの CUD | リージョン内の vCPU とメモリの量を 1 年か 3 年確約する | メモリ最適化で 70%、ほかで 55% | シリーズとリージョンが決まっているもの |
| フレキシブル CUD | 1 時間あたりの支出額を確約する。プロジェクトとリージョンをまたいで効く | N2 などで 1 年 28%、3 年 46% | シリーズやリージョンが変わりそうなもの |
| Spot VM | Google がいつでも停止できる。SLA なし | 最大 91% | やり直せるバッチ、CI |
リソースベースの CUD は解約できず、使わなくても期間の終わりまで毎月請求されます。3 年は割引率が高い代わりに、使わなくなったときの損も大きくなります。CUD でカバーされた使用量には SUD は付きません。下の計算機で、稼働率を下げると確約の有利さが消えることを確かめてください。
確約は底の使用量にだけ買う
Spot VM は MIG にも入れられますが、足せるのはゾーンに空きがあるときだけです。ユーザーが待つリクエストを処理する層を Spot VM だけで組みません(コンピューティングの選び方)。
適正化の推奨で過剰なサイズを見つける
Compute Engine は CPU とメモリの使用率から、小さいマシンタイプを勧めるマシンタイプの推奨と、使われていない VM の停止の推奨を出します。rehost で移した VM は元と同じ大きさで作られがちなので、数週間の使用率を見てサイズを決めてから CUD を買います。夜間や週末にアクセスがない社内ツールなら、インスタンスを 0 まで減らせる Cloud Run のほうが安くなります。
ストレージはアクセスの頻度でクラスを選ぶ
保存の単価が安いクラスほど、最低保存期間が長く、取り出しに料金がかかります。
| クラス | 最低保存期間 | 取り出しの料金 | 向くデータ |
|---|---|---|---|
| Standard | なし | なし | 頻繁に読む |
| Nearline | 30 日 | あり | 月に 1 回程度読む |
| Coldline | 90 日 | あり | 四半期に 1 回程度読む |
| Archive | 365 日 | あり | 監査用の長期保管など、ほぼ読まない |
最低保存期間より前に消すと、残りの期間の料金がかかります。古いオブジェクトを安いクラスへ移すにはライフサイクルのルールを、傾向が読めないときは Autoclass を使います(ストレージとデータベースの選び方)。
ネットワークの料金はデータの流れ方で決まる
単価はネットワークの料金にあります。静的コンテンツの配信が多ければ Cloud CDN でオリジンからの送信を減らします。Network Service Tiers の Standard ティアは Premium より送信が安い代わりに、グローバル ロードバランサを使えません。
予算は通知するだけで、使用を止めない
予算は使用量に上限をかけません。しきい値は実際の費用と、月末までの予測の両方に付けられます。
内訳の分析には請求データを BigQuery へエクスポートします。標準はサービス、SKU、プロジェクト、ラベルごとの費用を、詳細は VM 1 台ごとのようなリソース単位の費用も含みます。有効にした時点から貯まるので早めに有効にし、部署ごとに集計するならリソースにラベルを付けます(リソース階層と請求)。
試してみる
予測の費用にしきい値を付けた予算を作り、通知を Pub/Sub に送ります。学習用の環境を作るのメール通知の予算とは別に、自動処理の入口を作ります。
PROJECT_ID=$(gcloud config get-value project)
BILLING_ACCOUNT=$(gcloud billing projects describe $PROJECT_ID \
--format="value(billingAccountName)" | sed 's|billingAccounts/||')
gcloud services enable billingbudgets.googleapis.com pubsub.googleapis.com
gcloud pubsub topics create dojo-budget-alerts
# 実際の費用が 50% を超えたとき、月末の予測が 100% を超えたときに通知する
gcloud billing budgets create \
--billing-account=$BILLING_ACCOUNT \
--display-name="dojo-forecast-budget" \
--budget-amount=3000JPY \
--filter-projects=projects/$PROJECT_ID \
--threshold-rule=percent=0.5 \
--threshold-rule=percent=1.0,basis=forecasted-spend \
--notifications-rule-pubsub-topic=projects/$PROJECT_ID/topics/dojo-budget-alerts
gcloud billing budgets list --billing-account=$BILLING_ACCOUNT
--budget-amount の通貨は請求先アカウントに合わせます(例: 20USD)。予算の状態は 1 日に何度かトピックに届きます。
後片付けです。予算の ID は budgets list の name の末尾です。
gcloud billing budgets delete BUDGET_ID --billing-account=$BILLING_ACCOUNT
gcloud pubsub topics delete dojo-budget-alerts
試験で問われる判断
このカリキュラムで作った例です。
「夜間の画像変換バッチは途中から再開でき、翌朝までに終わればよい。費用を最小にしたい」なら Spot VM です。
「3 年間同じ台数で動くが、1 年後に新しいマシンシリーズへ移る」なら、シリーズを固定しないフレキシブル CUD です。
「開発用プロジェクトが予算を超えたら自動で止めたい」なら、予算、Pub/Sub、関数の組み合わせです。予算だけの選択肢は通知しかしません。
「チームごとの費用を毎月報告したい」なら、チームのラベルを付け、請求データを BigQuery へエクスポートして集計します。