Skip to content

インスタンスのスリープ候補

ルール ID: gcp.compute.instance.sleepカテゴリ: hygiene ・ 必要な読み取り: インベントリ + 利用メトリクス 計画中

「消すのは怖いが、動かし続ける理由もない」インスタンスに、削除ではなく停止 + 外部 IP 予約という可逆な選択肢を提案します。迷ったら消すのではなく、いつでも戻せる形で止める — そのための入口です。

このページは判定規範に従う予定仕様です。閾値・観測窓の根拠(出典)は実装時に付記します。

何を無駄とみなすか

稼働しているのに CPU もネットワークもほとんど使われていないインスタンスの、稼働時間分の課金。zombie ルールと違い、削除ではなく停止(スリープ)による省電力を提案します。

判定条件

  • 稼働中である
  • CPU 利用率が低い
  • ネットワーク送受信が低い

上記を満たすインスタンスに「停止 + 外部 IP の静的予約」を提案します。具体的な閾値と観測窓は実装時に確定し、出典とともにこのページへ付記します。

必須 facts

  • インスタンスの状態(稼働中であること)
  • CPU 利用率の実測
  • ネットワーク送受信の実測
  • 外部 IP の種別(エフェメラル / 静的 — 停止時に IP を失わないための予約要否の判定)

取得できない facts がある場合は「観測不能」と表示し、候補にしません(候補を捏造しない)。

誤検知・危険になり得る条件

  • トラフィックは少なくても常時到達性が必要なサービス(社内ツール・Webhook 受け口・監視対象)
  • インスタンス内の cron 等でスケジュール実行されるジョブのホスト(メトリクス上は暇に見える)
  • ローカル SSD を持つインスタンス(停止でローカル SSD 上のデータは失われます)

実行前の確認

  • 命名・ラベルから用途を確認し、所有チームに「止まっていて困る時間帯」がないか確認する
  • インスタンス内にスケジュールされたジョブがないか確認する
  • エフェメラル外部 IP の場合、停止前に静的 IP へ昇格しておく(提案に含まれます)
  • DNS や外部サービスの許可リストがこの IP を参照しているか確認する

非破壊テストとロールバック

Safety Tier: medium(停止は可逆な操作)

  1. 外部 IP を静的予約に切り替え、停止しても同じ IP に戻れる状態を作る
  2. インスタンスを停止し、業務時間を含む期間で影響の申告がないか観察する
  3. 定期的に使うものだった場合は、削除ではなくスケジュール起動・停止の運用へ切り替える

ロールバック: インスタンスを起動するだけです。予約済み IP がそのまま再割当されます。

効果検証

削減の確定は、変更前ベースラインと変更後請求の比較で行います(Verify)。停止中は予約 IP とディスクの課金が残る点も含めて比較します。他のルールはルールカタログを参照してください。