AWSのNLB(Network Load Balancer)を削除する方法 〜「削除できない…」とハマったときのチェックリスト付き〜

AWS でインフラ構成を変更したり、不要になったリソースを整理しようとした際、NLB(Network Load Balancer)が削除できないという問題に遭遇したことはないでしょうか。

特に、以下のようなエラーが出るケースは非常に多いです。

Load balancer ‘arn:aws:elasticloadbalancing:…’
cannot be deleted because it is currently associated with another service

本記事では、

✅ NLB を正しく削除する手順

✅ API Gateway の VPC リンクとの関係

✅ 削除できないときのチェックリスト

をセットで解説します。

NLB(Network Load Balancer)とは?

NLB は、TCP/UDP レベルで超高速にトラフィックを転送できるロードバランサーです。

以下のような構成でよく使われます:

  • API Gateway → VPC Link → NLB → EC2 / ECS / Lambda
  • インターネット公開用の TCP サービス
  • gRPC / WebSocket / 独自プロトコル

特に API Gateway の VPC リンク先として使われることが多いのが特徴です。

API Gateway の VPCリンクとNLBの関係

ここが今回の最重要ポイントです。

NLB は、API Gateway の VPC Link に関連付けられている限り、削除できません。

たとえ…

  • ターゲットグループを削除した
  • リスナーを削除した
  • EC2 を止めた
  • セキュリティグループを消した

としても、

VPC Link に NLB が登録されているだけで削除不可になります。

そのとき出るのが、今回のエラーです。

Load balancer ‘arn:aws:elasticloadbalancing:…’
cannot be deleted because it is currently associated with another service

つまりこれは

「NLB がどこかの AWS サービスに紐付いているよ!」

という意味で、**最も多い原因が「API Gateway の VPCリンク」**です。

NLB を正しく削除する手順

削除の正しい流れは、以下の順番です。

✅ 手順①:API Gateway の VPCリンクを削除する

  1. AWS コンソール
  2. API Gateway → VPC links
  3. 削除したいリンクを選択
  4. Delete を実行

しばらくするとステータスが DELETED になります。

⚠ もし使用中の API がある場合は先に API の統合設定を外してください。

✅ 手順②:NLB を削除する

  1. EC2 → Load Balancers
  2. 該当の NLB を選択
  3. Delete load balancer

これで正常に削除できるようになります。

ターゲットグループを削除しても NLB が消えない理由

よくある勘違いがこれです:

「ターゲットグループは消したのに、なぜNLBが消せないの?」

実は以下の関係になっています:

API Gateway
   ↓
VPC Link
   ↓
NLB ← ターゲットグループ(これは別物)

つまり、本体は「VPC Link → NLB」なので

ターゲットグループを消しても意味がないのです。

見るべきは:

✅ ターゲットグループ

✅ リスナー

❌ ではなく → VPC Link

ここが一番のハマりポイントです。

NLB 削除前のチェックリスト

削除前に、以下を順番に確認してください。

🔲 API Gateway に VPCリンクが設定されていないか

必ずここを最初に確認

  • API Gateway → VPC Links
  • 該当 NLB が紐づいていないか
  • ステータスが AVAILABLE になっていないか

→ あれば削除する

🔲 リスナーが残っていないか

  • NLB → Listeners
  • ポート 80 / 443 / 8080 など
  • 残っていれば削除

🔲 ターゲットグループが関連づいていないか

  • EC2 → Target Groups
  • 該当 TG がある場合は削除

🔲 ECS / EKS / AutoScaling で使われていないか

  • ECS Service の Load balancer 設定
  • EKS の Service (type=LoadBalancer)
  • AutoScaling Group に紐づいていないか

🔲 Terraform / CDK / CloudFormation 管理ではないか

IaC 管理している場合:

  • コンソールで削除しても自動で復活する
  • Stack に残っていて削除できない

ということもあるので確認します。

よくあるパターンまとめ

現象原因対策
NLBが削除できないVPC Link に紐づいているVPC Link を削除
ターゲット削除済み本体とは無関係VPC Link を確認
削除しても復活IaC 管理Stack から削除
404や503NLBは残っているが転送先なし正常だが不要なら削除

まとめ

NLB が削除できない原因の 90% はこれです:

API Gateway の VPC Link に登録されたままになっている

削除の正しい順番は:

  1. VPC Link を削除
  2. リスナー削除
  3. ターゲットグループ削除
  4. 最後に NLB 削除

この順番さえ守れば、迷うことはありません。

タイトルとURLをコピーしました