サブネット
Subnet
サブネットは、IPアドレスの共通する先頭部分(プレフィックス)で区切ったネットワークの範囲です。大きなアドレス空間を用途ごとに分け、経路やアクセス制御を設計しやすくします。分割だけで通信が安全になるわけではありません。
🐾 猫で例えると?
同じ絨毯で、違う方向を向く茶トラとアメショ。ここに「窓側の区画」「入口側の区画」と名前を付けるように、ネットワークのアドレスを小さなグループへ分けるのがサブネットのイメージです。2匹が離れていても行き来はできるように、グループ分けそのものが通信を禁止するわけではありません。区画間の道を用意するのがルーター、通してよい通信を決めるのがファイアウォールです。
💻 インターネットとクラウドにおける「サブネット」とは?
たとえば 10.0.1.0/24 と 10.0.2.0/24 を別の用途に割り当てると、アドレスや経路を管理しやすくなります。Ethernetでブロードキャストの届く範囲を分けるにはVLANなどのリンク側の設計も必要です。サブネットというIPの区切りと、実際の通信を止めるファイアウォールの規則を混同しないようにしましょう。
そこで、ネットワークアドレスを「サブネットマスク」と呼ばれるビット列を用いて細かく分割し、営業部用、開発部用、あるいはサーバー用といった小さなグループに仕分けます。これにより、不要な通信の広がりを抑え、グループ間の境界線にルーターやファイアウォールを配置して通信を厳密に制御できるようになります。
⚠️ サブネットの仕組みと注意点
AWS VPCでは、インターネットゲートウェイへの直接の経路があるサブネットをパブリックサブネットと呼びます。そこに置いた機器すべてが自動的に公開されるわけではなく、IP設定やアクセス制御も関係します。プライベートサブネットも、内部からの通信を無条件に信頼してよい場所ではありません。
CIDR表記によるサブネットマスク指定の例
以下はアドレス範囲を整理するための説明用JSONです。AWS APIやTerraformへそのまま渡す設定ではありません。/24 は先頭24ビットをネットワーク部分として扱う指定です。
{
"vpc": "10.0.0.0/16",
"subnets": [
{ "name": "web", "cidr": "10.0.1.0/24" },
{ "name": "database", "cidr": "10.0.2.0/24" }
]
} 10.0.1.0/24 と 10.0.2.0/24 は、同じ大きなネットワークの中に作られた別々のサブネットです。この2つの間を通信させるには、ルーター(あるいはクラウド内のルートテーブル)を仲介させる必要があります。
🛠️ サブネットを賢く使うためのポイント
実務でサブネットの設計や運用を行う際は、将来の拡張性やネットワークアドレスの枯渇問題に十分配慮しなければなりません。
- ホスト数の見積もりと切り出し: 各サブネットに接続するデバイスの最大数を想定し、適切なCIDRサイズ(/24や/26など)を選択します。
- 利用可能数を確認: CIDRの総アドレス数と機器に割り当てられる数は異なります。通常のIPv4 LANとクラウドでは予約の規則が違うため、利用する環境の仕様で確認します。
- 戻り通信も設計: NATゲートウェイによる外向き通信は「片道」ではありません。内部から始めた接続の応答を戻します。外部から新しく接続できるかどうかとは分けて確認しましょう。
離れてくつろぐ2匹を、ネットワークの区画に見立てるとサブネットを捉えやすくなります。ただし区画を分けただけでアクセス制限が完成するわけではありません。区画間の経路と、通してよい通信のルールを合わせて確認しましょう。