VPCサブネットプランナー: クラウド向けCIDRブロックのバイナリ分割

VPCのCIDRブロックをパブリックサブネットとプライベートサブネットにバイナリ分割(2進数分割)して計画。AWS、GCP、Azure向けの利用可能なIP数とネットワーク範囲を自動計算。

Engine Interativa

A Subnet A (Public / Lower Half)

Network: -/-
Subnet Mask: -
First Usable IP: -
Last Usable IP: -
Broadcast: -
Usable Hosts: -

B Subnet B (Private / Upper Half)

Network: -/-
Subnet Mask: -
First Usable IP: -
Last Usable IP: -
Broadcast: -
Usable Hosts: -

このインタラクティブなツールは、クラウドアーキテクトやDevOpsエンジニアがVirtual Private Cloud (VPC) のネットワークトポロジを正確に設計・計画するためのものです。アルゴリズムエンジンがプライマリCIDRブロックを受け取り、アドレス空間のバイナリ分割(2進数空間分割)を実行。AWS、Google Cloud、Azureなどの各プロバイダの仕様に合わせて、ブロードキャスト境界、サブネットマスク、および利用可能な総IPアドレス数を自動的に計算します。

技術解説: エンタープライズクラウド環境におけるネットワークアーキテクチャとサブネット分割

VPC環境におけるIPアドレッシングの導入

現代のシステムアーキテクチャにおいて、VPC (Virtual Private Cloud) は、パブリッククラウド内で論理的に隔離された仮想ネットワーク環境として機能します。IPアドレスの枯渇を回避し、ネットワークの重複(Overlapping)を防ぎ、インフラストラクチャレイヤー間で適切なセキュリティ隔離を確保するには、CIDR (Classless Inter-Domain Routing) 表記法を使用したIPアドレス空間の正確な計画が極めて重要です。

プライマリCIDRブロックをより小さなパーティションに分割するプロセスは、ブール代数(論理代数)に基づく数学的な処理であり、サブネット分割(Subnetting) と呼ばれます。


1. CIDRマスクの概念とバイナリ分割の仕組み

IPv4アドレスは32ビットで構成され、4つのオクテットに区切られています。CIDR表記(例: /16)では、スラッシュの後の数値が固定されたネットワークビット(サブネットマスク)を表し、残りのビットがそのネットワーク内のホスト(機器)に割り当てられます。

ブロックをバイナリで分割する場合(例: /16 の親ブロックを2つの /17 サブネットに分割する場合)、利用可能なホストビットの最上位ビットをネットワークスコープにシフト(借用)します。

  • 親ブロック (Parent Block): 10.0.0.0/16 (65,536 アドレス)
  • サブネット A (ビット 0): 10.0.0.0/17 (32,768 アドレス)
  • サブネット B (ビット 1): 10.0.128.0/17 (32,768 アドレス)

2. パブリックサブネット vs プライベートサブネットとルーティングテーブル

マルチティアアーキテクチャ(Multi-Tier Architecture)では、サブネットはルーティングテーブルによって管理される内部ルーティングポリシーに基づいて隔離および分離されます。

パブリックサブネット (Public Subnets)

インターネットゲートウェイ (IGW) に向かう直接的なルート(経路)を持っています。ここに配置されたリソースにはパブリックIPアドレスが割り当てられ、インターネットから直接アクセス可能になります(例: Application Load Balancer、踏み台サーバー/Bastion Hosts)。

プライベートサブネット (Private Subnets)

インターネットへの直接的な経路を持っていません。データベースインスタンスや内部マイクロサービスがシステムアップデートなどをダウンロードする場合、送信トラフィックはパブリックサブネット内に配置された NATゲートウェイ を経由してルーティングされる必要があります。

VPCルーティングマトリクスの実例

送信先 (Destination)ターゲット (Target)サブネット種別外部からの受信トラフィックを許可?
10.0.0.0/16localパブリック & プライベートVPC内部の通信のみ。
0.0.0.0/0igw-xxxxxxxxパブリックはい。インターネットとの直接の送受信が可能。
0.0.0.0/0nat-xxxxxxxxプライベート送信のみ許可(例: サーバーのアップデート)。

クラウドプロバイダ別のIP予約ルール (SEO Target)

クラウドトポロジを設計する際、エンジニアはクラウドサブネット内の利用可能なホスト数が、従来の物理ネットワークの計算式($2^{32-n} - 2$)とは異なる点に注意する必要があります。主要なクラウド事業者(ハイパースケーラー)は、内部インフラサービスのために特定の初期アドレスを予約しています。

プロバイダサブネットごとの予約IP数予約の理由
RFC標準2 IPsネットワークアドレス (.0) とブロードキャストアドレス (.255)。
AWS5 IPsネットワーク、VPCルーター、DNS、将来の利用、ブロードキャスト用。
Google Cloud4 IPsネットワーク、デフォルトゲートウェイ、後ろから2番目のIP(予約)、ブロードキャスト用。
Azure5 IPsネットワーク、Azureゲートウェイ、Azure DNS、将来の利用、ブロードキャスト用。

IP範囲計算の数学的表現

CIDR接尾辞($s$)内に含まれる理論上の総IPアドレス数($N$)は、次の指数方程式によって決定されます。

$$N = 2^{32 - s}$$

例えば、AWS内で実際に利用可能なホスト数($H$)を求めるには、インフラ用に予約されている5つの独自IPアドレスを差し引きます。

$$H = 2^{32 - s} - 5$$

この数式の計算結果が0以下になる場合、選択されたCIDRブロックは無効であるか、安定したクラウド環境を構築するには制約が厳しすぎるとみなされます。


VPCサブネットに関するよくある質問 (FAQ Target)

CIDRブロックが重複(Overlapping)するとどうなりますか?

CIDRブロックが重複している2つのネットワークは、VPCピアリング接続や拠点間(Site-to-Site)VPNトンネルを確立できません。基礎となるルーターがパケットの送信先を確定的にマッピングできないためです。

なぜAWSは正確に5つのIPアドレスを予約しているのですか?

AWSは、.0 をネットワークブロックの識別に、.1 を内部VPCルーター(AWSゲートウェイ)に、.2 をAmazonが提供するDNS(Route 53リゾルバ)に、.3 を将来の社内エンジニアリングテスト用に、そして範囲の最後のIPアドレスをネットワークのブロードキャスト境界用に隔離・予約しています。