Skip to content

ALB / NLB 空

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

転送先が空のまま時間課金が続いている Application / Network Load Balancer を見つけます。サービス廃止後にロードバランサだけが残るのは見落としやすい無駄です。

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

何を無駄とみなすか

トラフィックを転送する先が存在しない ALB / NLB。リスナーの先にターゲットグループがない、またはすべてのターゲットグループが空のまま、時間課金が続きます。

判定条件

次のいずれかを満たす場合に候補とします:

  • ロードバランサに関連付くターゲットグループが存在しない
  • 関連付くすべてのターゲットグループに登録ターゲットが 0

判定はロードバランサ → リスナー → ターゲットグループ → ターゲットと多段に観測して確定します(いずれかの段が観測できない場合は「観測不能」とし、候補にしません)。単発観測では open にしません。

除外: ALB はリスナー・ルールのアクションをすべて解決し、fixed-responseredirect など転送以外の有効なアクションが 1 つでもあれば「利用中」として除外します(リダイレクト専用の構成だけでなく、空のターゲットグループへの forward と稼働中のリダイレクトが混在する構成でも、ロードバランサを削除すれば生きている経路が壊れるため)。

必須 facts

  • ロードバランサの種別(ALB / NLB)と状態
  • リスナーと関連付くターゲットグループの一覧
  • ALB の場合、リスナー・ルールのアクション種別(forward / fixed-response / redirect)
  • 各ターゲットグループの登録ターゲット数
  • 取得できない facts がある場合は「観測不能」と表示し、候補にしません(候補を捏造しない)。

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

  • リダイレクト・メンテナンスページ専用の ALB(fixed-response / redirect のみで応答 — 判定条件の除外で対応済み)
  • Auto Scaling やコンテナオーケストレーション(ECS 等)がスケールインして一時的にターゲット 0 になっているロードバランサ
  • デプロイ方式(Blue/Green 等)の切り替え途中で一時的に空になっているターゲットグループ
  • DNS 名が外部に配布済みで、廃止すると参照側の切り替えが必要になるエンドポイント

実行前の確認

  • Auto Scaling グループ・ECS サービス等、ターゲットを動的に登録する仕組みとの関連付けを確認する
  • ロードバランサの DNS 名を参照する DNS レコード・外部設定の有無を確認する
  • 命名・タグから用途とオーナーを確認する
  • IaC(Terraform / CloudFormation 等)での参照有無を確認する

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

Safety Tier: high — 削除すると同じ DNS 名は復元できません。記録と観察期間を必須とします。

  1. 削除前に設定(リスナー・ルール・証明書・セキュリティグループ・DNS 名)を記録する
  2. 2 週間観察し、ターゲット登録・トラフィック再開の申告がないことを確認してから削除する

ロールバック: 記録した設定でロードバランサとターゲットグループを再作成する。ただし DNS 名は新しくなるため、参照側(DNS レコード等)の更新が必要です。

効果検証

削減の確定は、変更前ベースラインと変更後請求の比較で行います(Verify)。