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リンクを削除する
- AWS コンソール
- API Gateway → VPC links
- 削除したいリンクを選択
- Delete を実行
しばらくするとステータスが DELETED になります。
⚠ もし使用中の API がある場合は先に API の統合設定を外してください。
✅ 手順②:NLB を削除する
- EC2 → Load Balancers
- 該当の NLB を選択
- 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や503 | NLBは残っているが転送先なし | 正常だが不要なら削除 |
まとめ
NLB が削除できない原因の 90% はこれです:
✅ API Gateway の VPC Link に登録されたままになっている
削除の正しい順番は:
- VPC Link を削除
- リスナー削除
- ターゲットグループ削除
- 最後に NLB 削除
この順番さえ守れば、迷うことはありません。
