Skip to content

古いスナップショット

ルール ID: gcp.compute.snapshot.staleカテゴリ: zombie ・ 必要な読み取り: インベントリのみ(初回スキャンで検出) 計画中

取ったきり忘れられたディスクスナップショットを見つけます。1 つ 1 つは小さくても、削除する仕組みがないまま溜まり続け、気づいたときにはストレージ課金の無視できない割合を占めていることがあります。

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

何を無駄とみなすか

長期間放置されたスナップショットと、復元先のソースディスクがすでに削除されたスナップショット。バックアップとしての役目が疑わしいのに、保管課金だけが続きます。

判定条件

次のいずれかを満たすスナップショットを候補にします。

  • 作成から 90 日以上経過している
  • ソースディスクが削除済みである

必須 facts

  • スナップショットの状態と作成からの経過日数
  • ソースディスクの現存
  • 保管容量(削減見積の根拠。増分チェーンの構造上、実際の解放量は表示容量より小さいことがあります)

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

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

  • 監査・法令・社内規程で保持義務のあるバックアップ
  • スナップショットスケジュール(保持ポリシー)の管理下にあるもの — 手動削除がポリシーと衝突することがあります
  • 廃止した VM の「最後の状態」として意図的に残しているスナップショット(ソースディスク削除済みはむしろ正常)
  • カスタムイメージの元になっているスナップショット

実行前の確認

  • 命名・説明・ラベルから、保持義務や取得目的を確認する
  • スケジュールポリシーによる自動取得かどうかを確認する(自動取得なら削除よりポリシーの保持期間見直しが正解です)
  • このスナップショットを元にしたイメージ・ディスクがないか確認する
  • 所有チームに削除可否を確認する

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

Safety Tier: high(スナップショットの削除は取り消せません)

  1. 同じディスクにより新しいスナップショットがあるか、元データが他の手段で復元可能かを確認する
  2. 復元可能性の確認結果を記録し、関係者の合意を得る
  3. 古いものから段階的に削除し、一括で全世代を消さない

ロールバック: 削除したスナップショット自体は復元できません。代替(より新しいスナップショット・元ディスク)の存在確認が事前の唯一の防御です。

効果検証

削減の確定は、変更前ベースラインと変更後請求の比較で行います(Verify)。増分チェーンにより解放量が見積より小さい場合も、請求実測で確定します。他のルールはルールカタログを参照してください。