設計の判断

コストの最適化

費用は、使っていないものを止めてサイズを合わせ、残った常時稼働の分に確約利用割引を買い、止まってよい処理を 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%シリーズとリージョンが決まっているもの
フレキシブル CUD1 時間あたりの支出額を確約する。プロジェクトとリージョンをまたいで効くN2 などで 1 年 28%、3 年 46%シリーズやリージョンが変わりそうなもの
Spot VMGoogle がいつでも停止できる。SLA なし最大 91%やり直せるバッチ、CI

リソースベースの CUD は解約できず、使わなくても期間の終わりまで毎月請求されます。3 年は割引率が高い代わりに、使わなくなったときの損も大きくなります。CUD でカバーされた使用量には SUD は付きません。下の計算機で、稼働率を下げると確約の有利さが消えることを確かめてください。

試す割引ごとの月額

10 台
100%
確約の期間
詳しく見る方式

月額の目安。オンデマンドで 1 台を 1 か月動かし続けた額を 100 とした相対値で、実際の料金ではありません。

  • オンデマンド1000
  • 継続利用割引800
  • 確約利用割引540
  • Spot VM90

3 年の確約は 46% 引きです。稼働率 100% ならオンデマンドより 46% 安くなります。稼働率が 54% を下回ると、使わない時間の分まで払うので逆転します。

確約は底の使用量にだけ買う

ピーク 40 台昼だけ増える 30 台オンデマンド + MIG常に動く 10 台確約利用割引 (CUD)止まっても再開できる夜のバッチSpot VM0 時12 時24 時
CUD を買うのは一日中動いている底の 10 台だけ。ピークに合わせて確約すると、夜は使わない 30 台分も払い続ける

Spot VM は MIG にも入れられますが、足せるのはゾーンに空きがあるときだけです。ユーザーが待つリクエストを処理する層を Spot VM だけで組みません(コンピューティングの選び方)。

適正化の推奨で過剰なサイズを見つける

Compute Engine は CPU とメモリの使用率から、小さいマシンタイプを勧めるマシンタイプの推奨と、使われていない VM の停止の推奨を出します。rehost で移した VM は元と同じ大きさで作られがちなので、数週間の使用率を見てサイズを決めてから CUD を買います。夜間や週末にアクセスがない社内ツールなら、インスタンスを 0 まで減らせる Cloud Run のほうが安くなります。

ストレージはアクセスの頻度でクラスを選ぶ

保存の単価が安いクラスほど、最低保存期間が長く、取り出しに料金がかかります。

クラス最低保存期間取り出しの料金向くデータ
Standardなしなし頻繁に読む
Nearline30 日あり月に 1 回程度読む
Coldline90 日あり四半期に 1 回程度読む
Archive365 日あり監査用の長期保管など、ほぼ読まない

最低保存期間より前に消すと、残りの期間の料金がかかります。古いオブジェクトを安いクラスへ移すにはライフサイクルのルールを、傾向が読めないときは Autoclass を使います(ストレージとデータベースの選び方)。

ネットワークの料金はデータの流れ方で決まる

asia-northeast1ゾーン aゾーン bアプリDB無料複製有料インターネット受信は無料送信は有料別リージョン有料
無料なのは受信と、同じゾーン内の内部 IP の通信だけ。マルチゾーンにすると、ゾーン間の複製に転送料金がかかる

単価はネットワークの料金にあります。静的コンテンツの配信が多ければ Cloud CDN でオリジンからの送信を減らします。Network Service Tiers の Standard ティアは Premium より送信が安い代わりに、グローバル ロードバランサを使えません。

予算は通知するだけで、使用を止めない

予算Cloud BillingトピックPub/Sub関数Cloud Run functions課金停止メール通知予算だけなら、ここで終わる
「上限を超えたら止めたい」なら予算、Pub/Sub、関数の 3 つが要る。予算だけでは通知が届くだけで、使用は続く

予算は使用量に上限をかけません。しきい値は実際の費用と、月末までの予測の両方に付けられます。

内訳の分析には請求データを 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 へエクスポートして集計します。

理解度チェック

答えを開く前に、自分で考えてください。結果はこのブラウザにだけ残り、間違えた問題は復習のページでまとめて解き直せます。

思い出す

確約利用割引 (CUD) を、ピーク時の台数ではなく一日中動いている底の台数にだけ買うのはなぜですか。

状況で選ぶ

社内の基幹システムは N2 の VM 20 台で、今後 3 年間は同じ台数で 24 時間動き続ける見込みです。ただし 1 年後に新しいマシンシリーズへ移す計画があります。止まると業務が止まるシステムです。費用を下げるにはどの方法を選びますか。

説明する

Cloud Storage のクラスを、保存の単価が一番安い Archive にそろえないほうがよいのはなぜですか。毎日作って数日で消す一時ファイルと、ほぼ読まない監査用のログを例に説明してください。

章末の確認

「設計の判断」の章と、1 つ前の章の問題を混ぜています。分野が入れ替わっても選べるかを確かめます。

状況で選ぶ

社内向けの勤怠アプリを Google Cloud に載せます。業務時間内に 1 時間止まっても紙で回せますが、打刻のデータは失いたくありません。運用担当は 1 人で、リージョン障害への備えは求められていません。どの構成を選びますか。

出典: Well-Architected Framework
状況で選ぶ

毎晩、数百本の動画をエンコードします。処理は途中で止まってもやり直せ、翌日の昼までに終わればよく、費用はできるだけ抑えたいという要件です。エンコーダは、OS に特定のカーネルモジュールを読み込まないと動きません。どれを選びますか。

出典: コンピューティングの選び方
状況で選ぶ

受注システムは、取引先のシステムの API を同期で呼んで注文を登録しています。取引先のシステムが不定期に止まり、そのたびに受注処理が失敗しています。取引先のシステムには手を入れられません。どうしますか。

出典: 要件からアーキテクチャを組む
状況で選ぶ

オンプレミスの Hadoop クラスタで、Spark のバッチジョブが 200 本、毎晩動いています。開発チームは Spark に慣れていて、移行の期限が近いのでコードはほぼ変えたくありません。結果は BigQuery で分析します。加工はどこで動かしますか。

出典: データ処理と分析
状況で選ぶ

GitHub Actions から Cloud Run へのデプロイで、サービスアカウント鍵 (JSON の鍵ファイル) を GitHub のシークレットに入れて使っています。セキュリティ担当は、漏れたら誰でも使える長期の認証情報をなくしたいと考えています。どう変えますか。

出典: セキュリティの設計
状況で選ぶ

地方のデータセンターと Google Cloud の間で、20 Gbps の帯域が要ります。データセンターは Google の接続拠点がある施設から遠く、自前の回線は引けません。99.9% の SLA も求められています。どう接続しますか。

出典: オンプレミス・マルチクラウドとの接続
状況で選ぶ

倉庫の在庫管理システムは Cloud SQL を使っています。事業側と話し、リージョン障害のときは RPO 5 分、RTO 4 時間と決めました。費用はできるだけ抑えたいと言われています。どの構成にしますか。

出典: 可用性と災害復旧
状況で選ぶ

オンプレミスの MySQL (2 TB) を Cloud SQL for MySQL へ移します。注文を受け付けるシステムのデータベースなので、切り替えの停止は 30 分以内にしたいと言われています。アプリのコードは変えません。どう移しますか。

出典: 移行の計画