Appearance
未割当静的外部 IP
ルール ID: gcp.compute.address.unattached ・ カテゴリ: zombie ・ 必要な読み取り: インベントリのみ(初回スキャンで検出) 計画中
予約したまま何にも割り当てられていない静的外部 IP アドレスを見つけます。使っていない IP は「確保しているだけ」で課金される数少ないリソースのひとつで、VM を消したあとに残りがちです。
このページは判定規範に従う予定仕様です。判定ロジックの実装とテストは先行して存在しますが、実データ接続からの本番実行経路はまだありません(それまで計画中表示)。
何を無駄とみなすか
RESERVED 状態(予約済み・未割当)のまま放置された静的外部 IPv4 アドレス。どのリソースにも割り当てられていない間、予約課金だけが続きます。
判定条件
- 外部 IPv4 アドレスである
- 状態が RESERVED(未割当)である
- 15 日の時間ゲートを通過している(予約・付け替え作業の途中を候補にしないため)
内部 IP アドレスと、予約課金のない外部 IPv6 アドレスは対象外です。
必須 facts
- アドレス種別(外部 / 内部)と IP バージョン(IPv4 / IPv6)
- アドレスの状態(RESERVED / IN_USE)
- アタッチ先リソース数(ゼロであること)
- 経過日数(時間ゲートの判定)
取得できない facts がある場合は「観測不能」と表示し、候補にしません(候補を捏造しない)。
誤検知・危険になり得る条件
- メンテナンスや移行作業で一時的に割当を外している IP
- DNS レコードや取引先のファイアウォール許可リストに登録済みで、再利用予定の IP
- 障害時の切り替え先として温存しているフェイルオーバー用 IP
実行前の確認
- 命名から用途を確認する
- この IP を参照する DNS レコードが残っていないか確認する
- 外部サービス・取引先の許可リストに登録されていないか確認する(解放すると同じ IP は原則戻りません)
- IaC(Terraform 等)での参照有無を確認する
非破壊テストとロールバック
Safety Tier: high(解放した IP アドレスそのものは復元できません)
- DNS・許可リスト・IaC の参照ゼロを確認し、確認結果を記録する
- 参照が疑わしい場合は、解放前に関係者へ周知して観察期間を置く
- その後に解放する
ロールバック: 同じ IP の再取得は保証されないため、新しい静的 IP を予約し、DNS・許可リストを更新する手順になります。解放前の確認が実質的な防御線です。
効果検証
削減の確定は、変更前ベースラインと変更後請求の比較で行います(Verify)。他のルールはルールカタログを参照してください。