Appearance
Cloud Run CPU 常時割当
ルール ID: gcp.cloudrun.cpu.always-allocated ・ カテゴリ: rate ・ 必要な読み取り: インベントリ + 利用メトリクス(権限が付くまで locked) 計画中
リクエストがまばらなサービスを CPU 常時割当(インスタンスベース課金)のままにすると、リクエストを処理していない待機時間にも課金が続きます。このルールは、課金モードをリクエストベースに切り替えるだけで安くなるサービスを見つけます。
このページは判定規範に従う予定仕様です。閾値・観測窓の根拠(出典)は実装時に付記します。
何を無駄とみなすか
CPU 常時割当のサービスで、実際にリクエストを処理している時間の割合(duty cycle)が低い状態。使い方はそのままで、料金条件だけを安くできる典型例です。
判定条件
- 課金モードがインスタンスベース(CPU 常時割当)である
- 実測 duty cycle(リクエスト処理中の時間 ÷ 課金対象インスタンス時間)が 0.5 未満で、リクエストベース課金の方が安いと見込まれる
必須 facts
- 課金モード(CPU 常時割当かどうか)
- 観測窓内の課金対象インスタンス時間
- 観測窓内のリクエスト処理時間(duty cycle の分子)とリクエスト数
取得できない facts がある場合は「観測不能」と表示し、候補にしません(候補を捏造しない)。
誤検知・危険になり得る条件
- リクエスト外のバックグラウンド処理(定期ジョブ・キュー消化・常駐処理)に CPU 常時割当を前提としているサービス — 切り替えるとリクエスト外の処理が進まなくなる
- レイテンシ要件のためにウォームなインスタンス維持を意図しているサービス
- 観測窓がたまたまトラフィックの少ない期間(季節性・キャンペーン間)だった場合
実行前の確認
- サービスがリクエスト外のバックグラウンド処理に依存していないかを、コードとデプロイ設定で確認する
- 命名・ラベルから用途(本番 / 検証)と所有チームを確認する
- IaC(Terraform 等)で課金モードを管理している場合は、コンソールではなく IaC 側で変更する
- 所有チームに切り替えの影響(レイテンシ・バックグラウンド処理)を確認する
非破壊テストとロールバック
Safety Tier: medium — 課金モードの切り替えは設定変更のみで、いつでも元に戻せます。
- 切り替え前にレイテンシ・エラー率のベースラインを記録する
- リクエストベース課金へ切り替える
- レイテンシとエラー率を観察し、劣化があればすぐ戻す
ロールバック: 課金モードをインスタンスベース(CPU 常時割当)へ戻す。
効果検証
削減の確定は、変更前ベースラインと変更後請求の比較で行います(Verify)。
その他のルールはルールカタログを参照してください。