AWSサブネット予約アドレスの正体|5つのIPが使えない理由と設計への影響

宮崎智広 この記事の監修:宮崎智広(Linux実務・教育歴20年以上・受講者3,100名超)
HOME > Linux技術 リナックスマスター.JP(Linuxマスター.JP) > AWS(Amazon Linux) > AWSサブネット予約アドレスの正体|5つのIPが使えない理由と設計への影響
「サブネットを /27 で作ったのに、使えるIPが32個ではなく27個しかない。残りの5つはいったいどこへ行ったのか?」
AWSでVPCを設計し始めたとき、こう感じる方は少なくありません。この「5つ減る」という挙動はAWSの仕様であり、すべてのサブネットに一律に適用されます。

AWSはサブネットごとに、先頭4つと末尾1つ(合計5つ)のIPアドレスをあらかじめ予約しています。この予約はユーザーが変更できず、サブネットのCIDRを決めるときに「必要なホスト数に5を足す」というステップを省くと、後から構成を変更する場面が出てきます。
この記事では、5つの予約アドレスの正体と、VPC設計でのCIDR選定に与える影響を実例を交えて解説します。

この記事のポイント

・各サブネットから先頭4つ+ブロードキャストの計5つのIPが予約されて使えない
・.0はネットワーク、.1はVPCルーター、.2はAmazon DNS、.3は将来用
・/27(32IP)なら使用可能は27個、/28(16IP)なら11個になる
・必要なホスト数に5を足してCIDRを決めるのが設計の鉄則


「このままじゃマズい」と感じていませんか?
参考書を開く気力もない、同年代に取り残される不安——
でも安心してください。プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
姓・名・メールの3つだけ/30秒/解除は3秒 / 詳細はこちら

AWSがIPアドレスを5つ予約する理由

AWSのVPCは、クラウド上でも「ルーターやDNSサーバーを動かす」という実際のネットワーク構成を内部に持っています。それらのコンポーネントを動かすために、AWSはサブネットの一部のIPアドレスを予約する設計を採っています。

オンプレミスのネットワーク設計でも、ネットワークアドレス(xxx.0)とブロードキャストアドレス(末尾)は使えません。AWSはそこにさらに3つ(.1/.2/.3)を加えているため、合計5つになります。

5つの予約アドレスの正体

10.0.1.0/27 のサブネットを例に、5つの予約アドレスをひとつずつ確認します。

# 10.0.1.0/27 サブネット(総32アドレス)の予約済みIPアドレス # これらはEC2インスタンスに割り当てられない 10.0.1.0 --- ネットワークアドレス (予約 #1) 10.0.1.1 --- VPCルーター (予約 #2) 10.0.1.2 --- Amazon DNSサーバー (予約 #3) 10.0.1.3 --- AWSが将来利用のために予約 (予約 #4) 10.0.1.31 --- ブロードキャストアドレス (予約 #5) # 使用可能: 10.0.1.4 ~ 10.0.1.30(27個)

1. ネットワークアドレス(xxx.0)

サブネット全体を識別するためのアドレスです。IPネットワークの標準仕様に基づくもので、オンプレミスでも使えません。AWS固有の制限ではなく、すべてのIPネットワークで共通のルールです。

2. VPCルーター(xxx.1)

VPCのローカルルーターが使用するIPアドレスです。EC2インスタンスのデフォルトゲートウェイとして機能し、VPC内の異なるサブネット間の通信や、インターネットゲートウェイ(IGW)・NATゲートウェイへのルーティングを担当します。ルートテーブルで 0.0.0.0/0 → igw-xxxx と設定した場合も、パケットは最初にこの .1 を経由して転送されます。

3. Amazon DNSサーバー(xxx.2)

AWS Provided DNS(AmazonProvidedDNS)として機能するアドレスです。VPC内のEC2インスタンスはデフォルトでこのアドレスをDNSリゾルバーとして利用します。

Amazon Linux 2023 の EC2 インスタンスで /etc/resolv.conf を確認すると、次のような出力が得られます。

$ cat /etc/resolv.conf ; generated by /usr/lib/systemd/resolved.conf.d/vpc-dns.conf search ap-northeast-1.compute.internal nameserver 10.0.0.2

上記は 10.0.0.0/16 のVPCに所属するインスタンスの出力例です。DNSリゾルバーは VPC CIDRブロックの .2 アドレス(10.0.0.2)になっています。サブネットのCIDRではなく、VPCのCIDRの .2 である点に注意してください。
このDNSサーバーを使うことで、EC2インスタンスのプライベートDNS名(例: ip-10-0-1-10.ap-northeast-1.compute.internal)が解決できます。

4. AWSが将来利用のために予約(xxx.3)

AWSの公式ドキュメントには「将来の利用のために予約」と明記されています。現時点では具体的な用途はありませんが、ユーザーへの割り当ては不可です。将来のサービス拡張に備えた枠として確保されています。

5. ブロードキャストアドレス(最終アドレス)

サブネットの末尾アドレスです。VPCはブロードキャストをサポートしていませんが、このアドレスは予約されたままになっています。/27 であれば xxx.31、/28 であれば xxx.15 がこれにあたります。

使用可能IP数の計算とCIDR選定の実践

サブネットの設計では「必要なホスト数に5を足してから、そのIPが収まるCIDRを選ぶ」のが基本手順です。以下の表を参考にしてください。
プレフィックス 総IPアドレス数 使用可能IP数 用途例
/28 16 11 NATゲートウェイ専用サブネット(最小構成)
/27 32 27 小規模Web層・プライベートサブネット
/26 64 59 ALBサブネット・中規模EC2クラスター
/24 256 251 汎用パブリック・プライベートサブネット
AWS CLIで実際に確認すると、AvailableIpAddressCount が「総数 - 5」になっていることがわかります。

$ aws ec2 describe-subnets \ --subnet-ids subnet-0a1b2c3d4e5f6a7b8 \ --query 'Subnets[0].{CIDR:CidrBlock,AvailableIPs:AvailableIpAddressCount}' \ --output json { "CIDR": "10.0.1.0/27", "AvailableIPs": 27 }

/27(32IP)の場合、32 - 5 = 27 が返ってきています。

NATゲートウェイとALBに必要なIPを考慮する

NATゲートウェイはサブネットから1つのIPを消費します(ENIに割り当て)。Application Load Balancer(ALB)は各AZのサブネットに最低8つのIPアドレスを確保するため、ALB専用サブネットには /27 以上(使用可能27個以上)を推奨します。

AWSのEC2・VPC設計を体系的に学びたい場合は、AWSをAmazon Linuxで実践的に学ぶ入門コースも参考にしてください。

予約アドレスを知らないと起きる設計ミス

1. /28サブネットを選んだらIPがすぐ枯渇した

「16個あれば十分」と見積もって /28 を選ぶと、使えるのは11個だけです。NATゲートウェイ・ALB・EC2インスタンスを同一サブネットに配置しようとするとすぐに枯渇します。

対策は「用途ごとにサブネットを分割する」こと。NATゲートウェイは /28 でも収まりますが、ALBには /27 以上を別途用意するのが原則です。

2. DNS解決が機能しない

.2 の Amazon DNS は、VPCの「DNSリゾルーション(enableDnsSupport)」オプションがONでないと機能しません。デフォルトはONですが、カスタムVPCを手動作成した際にOFFにしてしまうケースがあります。EC2インスタンスから名前解決ができない場合は、まずこのVPCオプションを確認してください。

本記事のまとめ

予約アドレス 役割 変更の可否
xxx.0 ネットワークアドレス 変更不可
xxx.1 VPCルーター(デフォルトゲートウェイ) 変更不可
xxx.2 Amazon DNSサーバー(AWS Provided DNS) 変更不可
xxx.3 AWSが将来利用のために予約 変更不可
末尾アドレス ブロードキャストアドレス 変更不可
サブネット設計の基本は「必要なホスト数に5を足してからCIDRを選ぶ」こと。/28 と /27 の差(11個 vs 27個)は大きく、後から変更するとルートテーブルやセキュリティグループの修正が伴います。最初から余裕をもったサイズを選ぶことをお勧めします。
現場で通用する安全なLinuxサーバー構築の「型」を体系的に身につけたい方へ、
AWSのEC2・VPC設計からサーバー管理まで、実践的に学べる無料マニュアル(図解60P)をプレゼントしています。
>> AWSをAmazon Linuxで学ぶ無料マニュアルを受け取る

無料メルマガで学習を続ける

Linuxの実践スキルをメールで毎週お届け。
登録は30秒、解除もいつでも可。

登録無料・いつでも解除できます

暗記不要・1時間後にはサーバーが動く

3,100名以上が実践した「型」を無料で公開中

プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
その「型」を図解60Pにまとめた入門マニュアルを、完全無料でプレゼントしています。

姓・名・メールの3つだけ/30秒/解除は3秒 / 詳細はこちら

Linux無料マニュアル(図解60P) 名前とメールで30秒登録
宮崎 智広

この記事を書いた人

宮崎 智広(みやざき ともひろ)

株式会社イーネットマーキュリー代表。現役のLinuxサーバー管理者として20年以上の実務経験を持ち、これまでに累計3,100名以上のエンジニアを指導してきたLinux教育のプロフェッショナル。「現場で本当に使える技術」を体系的に伝えることをモットーに、実践型のLinuxセミナーの開催や無料マニュアルの配布を通じてLinux人材の育成に取り組んでいる。

趣味は、キャンプにカメラ、トラウト釣り。好きな食べ物は、ラーメンにお酒。休肝日が作れない、酒量を減らせないのが悩み。最近、ドラマ「フライトエンジェル」を観て涙腺が崩壊しました。