AWS におけるサブネットの切り方
AWS でのネットワーク構成を考える際に、VPC(Virtual Private Cloud)とサブネットの設計は非常に重要です。本記事では、細かい技術的な話ではなく、イメージがつきやすい形で AWS におけるサブネットの考え方を調べてみました
AWS でサブネットを切る目的
AWS でサブネットを切る目的は、サーバーやデータベースなどのリソースを配置する空間を作ることです。サブネットは、VPC 内で IP アドレスの範囲を分割し、管理しやすくする役割を持っています。
例えば、VPC を一つの "建物" に例えると、サブネットは "部屋" に相当します。部屋ごとに用途を決めることで、管理しやすくなり、セキュリティ面でも役立ちます。
なぜ 10.0.0.0/16 を使うのか?
AWS では、VPC のデフォルトの CIDR(IP アドレス範囲)として 10.0.0.0/16
がよく使われます。これは、次のような理由から選ばれることが多いです。
- 十分な IP アドレス数:
10.0.0.0/16
は 65,536 個(216)の IP アドレスを確保できます。企業内ネットワークでも十分な数です。 - プライベート IP アドレス:
10.x.x.x
はプライベート IP アドレスとして予約されており、インターネット上で重複しても問題がありません。 - 管理しやすい:
10.0.0.0/16
を基準にして、用途ごとに10.0.x.0/24
のサブネットを作るのが一般的です。
なぜサブネットは 10.0.0.0/24 で切られることが多いのか?
サブネットを 10.0.0.0/24
で切る理由は、
- 適度な IP アドレス数:
/24
のサブネットでは 256 個(28)の IP アドレスを確保できます。 - 管理がしやすい:用途ごとに
10.0.1.0/24
、10.0.2.0/24
など、規則的に区分できるため、シンプルなネットワーク構成に適しています。 - AWS の推奨:AWS のドキュメントでも、一般的な用途では
/24
を推奨しており、設定時のデフォルト値にもなっています。
/25
でサブネットを切ると管理が細かくなる理由
/25
のサブネットは、128 個(27)の IP アドレスを持ちますが、管理が煩雑になりやすいです。
IP アドレスの管理が複雑になる
/24
なら 256 個の IP をひとつのまとまりとして扱えますが、/25
にすると 128 個ずつに分かれ、管理する範囲が増えます。- 例:
10.0.1.0/25
と10.0.1.128/25
の 2 つのサブネットができ、それぞれでルーティングやセキュリティグループを設定する必要があります。
繰り上がりの管理が必要になる
/24
なら 10.0.1.0 → 10.0.2.0 → 10.0.3.0 とシンプルに増えていきます。/25
では 10.0.1.0 → 10.0.1.128 → 10.0.2.0 → 10.0.2.128 というように、途中で繰り上がりを考慮する必要が出てきます。
セキュリティグループやルートテーブルの管理が煩雑になる
/25
で細かく分けると、サブネットごとにルートテーブルやファイアウォールルールを個別に設定する必要があり、運用が複雑になります。
シンプルなネットワーク構成の例
例えば、API サーバーと DB サーバーを設置するシンプルな構成を考えてみます。
ネットワーク構成のイメージ
VPC: 10.0.0.0/16 ├── Public Subnet: 10.0.1.0/24 (API サーバー配置) ├── Private Subnet: 10.0.2.0/24 (DB サーバー配置)
なぜこの構成にするのか?
- API サーバーをパブリックサブネットに配置: インターネットからアクセスできるようにするため。
- DB サーバーをプライベートサブネットに配置: 外部から直接アクセスできないようにし、セキュリティを確保するため。
- NAT ゲートウェイの利用: DB サーバーがインターネットに接続する必要がある場合は、NAT ゲートウェイをパブリックサブネットに配置。
まとめ
AWS でのサブネットの切り方は、シンプルな構成にすることで管理しやすくなります。
- VPC は
10.0.0.0/16
を使うことが多い - サブネットは
10.0.x.0/24
で切ると管理しやすい /25
で分けると管理が煩雑になるため、適切な設計が必要- API サーバーと DB サーバーを配置する場合、パブリックサブネットとプライベートサブネットを分ける
この考え方を元に、自身のシステムに最適なネットワーク構成を考えてみてください。