Appearance
古いスナップショット
ルール ID: gcp.compute.snapshot.stale ・ カテゴリ: zombie ・ 必要な読み取り: インベントリのみ(初回スキャンで検出) 計画中
取ったきり忘れられたディスクスナップショットを見つけます。1 つ 1 つは小さくても、削除する仕組みがないまま溜まり続け、気づいたときにはストレージ課金の無視できない割合を占めていることがあります。
このページは判定規範に従う予定仕様です。閾値・観測窓の根拠(出典)は実装時に付記します。
何を無駄とみなすか
長期間放置されたスナップショットと、復元先のソースディスクがすでに削除されたスナップショット。バックアップとしての役目が疑わしいのに、保管課金だけが続きます。
判定条件
次のいずれかを満たすスナップショットを候補にします。
- 作成から 90 日以上経過している
- ソースディスクが削除済みである
必須 facts
- スナップショットの状態と作成からの経過日数
- ソースディスクの現存
- 保管容量(削減見積の根拠。増分チェーンの構造上、実際の解放量は表示容量より小さいことがあります)
取得できない facts がある場合は「観測不能」と表示し、候補にしません(候補を捏造しない)。
誤検知・危険になり得る条件
- 監査・法令・社内規程で保持義務のあるバックアップ
- スナップショットスケジュール(保持ポリシー)の管理下にあるもの — 手動削除がポリシーと衝突することがあります
- 廃止した VM の「最後の状態」として意図的に残しているスナップショット(ソースディスク削除済みはむしろ正常)
- カスタムイメージの元になっているスナップショット
実行前の確認
- 命名・説明・ラベルから、保持義務や取得目的を確認する
- スケジュールポリシーによる自動取得かどうかを確認する(自動取得なら削除よりポリシーの保持期間見直しが正解です)
- このスナップショットを元にしたイメージ・ディスクがないか確認する
- 所有チームに削除可否を確認する
非破壊テストとロールバック
Safety Tier: high(スナップショットの削除は取り消せません)
- 同じディスクにより新しいスナップショットがあるか、元データが他の手段で復元可能かを確認する
- 復元可能性の確認結果を記録し、関係者の合意を得る
- 古いものから段階的に削除し、一括で全世代を消さない
ロールバック: 削除したスナップショット自体は復元できません。代替(より新しいスナップショット・元ディスク)の存在確認が事前の唯一の防御です。
効果検証
削減の確定は、変更前ベースラインと変更後請求の比較で行います(Verify)。増分チェーンにより解放量が見積より小さい場合も、請求実測で確定します。他のルールはルールカタログを参照してください。