意外と知らない? Elastic IP の上限にカウントされるサービス・されないサービス

はじめに
EC2 に Elastic IP(EIP)を割り当てて構築しようとしたところ、次のようなエラーで弾かれてしまいました。
> The maximum number of addresses has been reached.

「Elastic IP の上限に達している」というメッセージです。
調べてみると、Elastic IP のデフォルト上限は 1リージョンあたり 5 個。

ところが、マネジメントコンソールの Elastic IP 一覧を見ると 7 個 も表示されています。

上限は 5 のはずなのに、なぜ 7 個も使えているのか——。本記事では、この一見矛盾した状況の正体と、実務での対処法を整理します。
Elastic IP の上限(クォータ)の基本
- 1 リージョンあたり 5 個(デフォルト値)
- 緩和申請で引き上げ可能
- Service Quotas 上のクォータコードは
L-0263D0A3
これは「パブリック IPv4 アドレスが貴重なリソースである」ことを理由に設けられている制限です。緩和申請を出せば増やせますが、まずは「本当に上限に達しているのか」を正しく把握するために、調べてみました。
ポイント:上限にカウントされるサービス・されないサービス
ここが本題です。Elastic IP のクォータは、すべての EIP を一律にカウントしているわけではありません。ユーザーが自分で確保・管理する EIP はカウントされますが、AWS 側が管理する EIP はカウント対象外になります。
| サービス | Elastic IP のクォータ | 補足 |
|---|---|---|
| EC2(EIP 利用時) | カウントされる | ユーザーが確保・関連付ける EIP |
| NAT Gateway | カウントされる | パブリック NAT Gateway は 1 つあたり EIP を消費 |
| ALB(Application Load Balancer) | カウントされない | AWS 管理(Service managed = alb)の IP |
なぜ ALB は「表示されるのにカウントされない」のか
ここが今回の状況を理解する鍵です。
インターネット向けの ALB は、EIP をユーザーが指定して割り当てることはできません(EIP を直接指定できるのは NLB のみ)。しかし ALB は内部的に AWS 管理のパブリック IPv4 アドレスを使用しており、このアドレスもコンソールの Elastic IP 一覧に表示されます。
見分け方は、EIP に付与される Service managed です。ALB が使用する IP には Service managed = alb というタグが付いており、これらは AWS が完全に管理しているため、
- ユーザーが解放・切り離しできない
- クォータ(上限 5)にはカウントされない
という挙動になります。

ALB を削除すれば、AWS 側が自動的にこの IPアドレスを返却します。
つまり「一覧に 7 個表示されているのに、上限 5 を超えて EIP を確保できる」のは、表示されている 7 個のうち一部が AWS 管理でカウント対象外だから、というわけです。
実際の構成で検証してみた
今回の環境は、以下の構成でした。
- EC2(EIP):3 個 → カウント対象
- NAT Gateway:2 個 → カウント対象
- ALB:2 IP(1 台)→ カウント対象外
カウント対象は 3 + 2 = 5 個
まさにデフォルト上限にピッタリ達していたわけです。コンソール上は ALB 分を含めて 7 個に見えていた、というのがカラクリでした。

試しに NAT Gateway を 1 つ削除してみると、コンソール上の表示は 6 個に。

しかしカウント対象は 4 個になったため、新たに EIP を 1 つ確保でき、表示は再び 7 個になりました。

想定どおりの結果です。
対処法
- クォータの緩和申請を出す
NAT Gateway は可用性・運用上どうしても必要になるため、根本対応としては Service Quotas から Elastic IP の上限緩和申請を出すのが確実です。クォータコードL-0263D0A3に対して必要な数を申請します - EIP に固執しないなら「自動割り当て」を使う
実は EC2 構築時に、パブリック IP アドレスの自動割り当てを有効にすると、EIP を消費せずに構築できました。固定 IP である必要がない用途であれば、こちらの方がシンプルで、クォータも圧迫しません。
ただし自動割り当てのパブリック IP は、インスタンスの停止・起動で アドレスが変わる点に注意してください。固定 IP が要件でなければ有力な選択肢です。
補足:IPv4 アドレスの課金について
2024 年 2 月以降、AWS では割り当て済みのパブリック IPv4 アドレスに対して課金が発生するようになりました。これは EC2 の EIP だけでなく、ALB が使用する AWS 管理の IP も対象です。
クォータにはカウントされない ALB の IP でも、コスト面では課金対象になります。「使っていない EIP が残っていないか」だけでなく、ロードバランサーやパブリック IP の棚卸しも、コスト最適化の観点で定期的に見ておくとよいでしょう。
まとめ
- Elastic IP のデフォルト上限は 1 リージョンあたり 5 個
- EC2(EIP)と NAT Gateway はカウント対象、ALB はカウント対象外
- ALB の IP はコンソールに表示されるが
Service managed = albの AWS 管理 IP で、クォータには含まれない - 「表示 7 個・上限 5」の矛盾が理解できた
- 恒久対応はクォータ緩和申請、固定 IP が不要なら自動割り当ての活用も検討
「コンソールの表示数」と「クォータのカウント数」は必ずしも一致しません。上限エラーに遭遇したら、まずは何がカウント対象なのかを切り分けることをおすすめします。
執筆者:清水 知果良(プロフィール)
Search
よく読まれている記事
カテゴリ
アーカイブ
あなたに最適な解決策を一緒に考えます。
状況に応じた最適なご提案で、お客様の課題解決をサポートいたします