▪️目的

AWSでVPCについて学んでいると、次に「サブネット(Subnet)」という言葉が出てきます。

VPCがAWS上の仮想ネットワークだとすると、サブネットはそのVPCの中に作成するネットワークです。

しかし、

  • サブネットって何?
  • VPCとは何が違うの?
  • Public SubnetとPrivate Subnetって何?
  • Availability Zone(AZ)とはどう関係するの?
  • サブネットのCIDRってどう決めるの?
  • ルートテーブルとはどう関係するの?

など、AWS初心者の方には分かりにくい部分も多いと思います。

そこで今回は、AWSのサブネットについて初心者向けに解説します。


▪️サブネットとは?

サブネットとは、VPCのIPアドレス範囲を分割して作成するネットワークです。

例えば、VPCに以下のCIDRを設定したとします。

10.0.0.0/16

このVPCの中に、さらにサブネットを作成できます。

例えば、

VPC
10.0.0.0/16
│
├─ Subnet A
│   10.0.1.0/24
│
└─ Subnet B
    10.0.2.0/24

という構成です。

つまり、

VPC → サブネット

という階層になっています。


▪️VPCとサブネットの違い

VPCとサブネットは似ているように見えますが、役割が異なります。

♦︎VPC

VPCは、AWS上に作成する大きな仮想ネットワークです。

VPC
10.0.0.0/16

♦︎サブネット

サブネットは、そのVPCの中をさらに分割したネットワークです。

VPC
10.0.0.0/16
│
├─ Subnet A
│   10.0.1.0/24
│
└─ Subnet B
    10.0.2.0/24

イメージとしては、

VPCが大きなネットワークの範囲で、サブネットがその中の区画

と考えると分かりやすいでしょう。


▪️なぜサブネットを作るの?

では、なぜVPCをさらにサブネットへ分割するのでしょうか。

大きなネットワークを用途ごとに分けることで、AWSリソースを整理したり、通信経路やアクセス制御を設計しやすくなります。

例えば、

VPC
│
├─ Public Subnet
│   └─ ALB
│
├─ Private Subnet
│   └─ EC2
│
└─ Private Subnet
    └─ RDS

という構成にできます。

このように、

  • 外部からアクセスを受けるリソース
  • アプリケーションを実行するリソース
  • データベース

などを異なるサブネットに分けることができます。

AWSでシステムを構築するときには、このようなネットワークの分離が非常に重要になります。


▪️サブネットのCIDR

サブネットを作成するときには、VPCのCIDRの中からサブネットのCIDRを指定します。

例えばVPCが、

10.0.0.0/16

だった場合、

10.0.1.0/24
10.0.2.0/24
10.0.3.0/24

などのサブネットを作成できます。

イメージすると、

VPC
10.0.0.0/16
│
├─ 10.0.1.0/24
├─ 10.0.2.0/24
├─ 10.0.3.0/24
└─ ...

というように、VPCのIPアドレス範囲をさらに細かく分割して利用します。


/16と/24の違い

ここでCIDRについて少し確認しておきましょう。

例えば、

10.0.0.0/16

と

10.0.1.0/24

では、利用できるIPアドレスの範囲が異なります。

/16は/24よりも大きなネットワーク範囲を表します。

そのため、

VPC
10.0.0.0/16

の中に、

Subnet
10.0.1.0/24

のような、より小さなネットワークを作ることができます。

CIDRの数字が大きくなるほど、一般的にはネットワークの範囲は小さくなります。


▪️サブネットにはAvailability Zoneを指定する

AWSのサブネットを理解するうえで、もう一つ重要なのが**Availability Zone(AZ)**です。

サブネットは、1つのAvailability Zoneに作成します。

例えば、

VPC
10.0.0.0/16
│
├─ Subnet A
│   └─ ap-northeast-1a
│
└─ Subnet B
    └─ ap-northeast-1c

という構成にできます。

ここで、

  • ap-northeast-1a
  • ap-northeast-1c

は、それぞれ異なるAvailability Zoneです。

つまり、

1つのサブネットを複数のAZにまたがって作ることはできません。

必要であれば、複数のAZにそれぞれサブネットを作成します。


▪️なぜ複数のAZにサブネットを作るの?

これはAWSで高可用性を実現するうえで非常に重要です。

例えば、1つのAZだけにEC2を配置すると、そのAZで障害が発生した場合にシステムへ影響が出る可能性があります。

そこで、

VPC
│
├─ AZ-a
│   └─ Subnet A
│       └─ EC2
│
└─ AZ-c
    └─ Subnet B
        └─ EC2

のように複数のAZへ分散させることができます。

さらにロードバランサーなどを組み合わせることで、

                Internet
                    │
                    ↓
                   ALB
                ↙       ↘
             AZ-a       AZ-c
              ↓           ↓
             EC2         EC2

のような構成を作ることができます。

これにより、単一のAZに依存しない構成を作りやすくなります。


▪️Public Subnetとは?

AWSでは、

Public Subnet

という言葉がよく使われます。

ただし、「Public Subnet」という専用の設定が存在するわけではありません。

一般的には、

インターネットゲートウェイへのルートを持つルートテーブルが関連付けられたサブネット

をPublic Subnetと呼びます。

例えば、

Internet
   │
   ↓
Internet Gateway
   │
   ↓
Public Subnet
   │
   ↓
EC2

という構成です。

ただし、サブネットがPublicだからといって、そこに配置されたすべてのリソースが自動的にインターネットからアクセス可能になるわけではありません。

例えばEC2の場合、パブリックIPv4アドレスや適切なセキュリティグループなども関係します。


▪️Private Subnetとは?

一方、Private Subnetは、一般的にインターネットゲートウェイへ直接通信するためのルートを持たないサブネットを指します。

例えば、

VPC
│
├─ Public Subnet
│   └─ ALB
│
└─ Private Subnet
    └─ EC2

のような構成です。

Webシステムなどでは、外部から直接アクセスさせる必要のないアプリケーションサーバーやデータベースをPrivate Subnetに配置することがあります。


▪️Private Subnetからインターネットへアクセスするには?

ここで、

「Private Subnetはインターネットにアクセスできないの?」

という疑問が出てくるかもしれません。

実際には、Private Subnetに配置されたリソースから、インターネットへのアウトバウンド通信が必要になる場合があります。

例えば、

  • OSのパッケージをダウンロードする
  • 外部APIへアクセスする
  • ソフトウェアを取得する

などです。

このような場合には、一般的にNAT Gatewayなどを利用します。

イメージすると、

Private Subnet
      │
      ↓
  NAT Gateway
      │
      ↓
Internet Gateway
      │
      ↓
 Internet

という通信経路になります。

NAT Gatewayについては別の記事で詳しく解説します。


▪️サブネットとルートテーブルの関係

サブネットを理解するうえで、ルートテーブルも重要です。

ルートテーブルには、

「この宛先への通信をどこへ送るか」

というルーティング情報が設定されています。

例えばPublic Subnetに関連付けられたルートテーブルに、

宛先             ターゲット
10.0.0.0/16      local
0.0.0.0/0        Internet Gateway

というルートがあるとします。

この場合、

VPC内部
   ↓
local

インターネット
   ↓
Internet Gateway

という経路になります。

そのため、このようなサブネットを一般的にPublic Subnetとして扱います。


▪️サブネットとSecurity Groupの違い

サブネットを学んでいると、Security Groupとの違いも気になると思います。

役割が違います。

サブネット

ネットワークを分割するための単位

VPC
│
├─ Subnet A
└─ Subnet B

Security Group

リソースへの通信を制御する仕組み

Internet
   │
   ↓
Security Group
   │
   ↓
 EC2

つまり、

サブネット = ネットワークの区画

Security Group = 通信を許可・制御する仕組み

と考えると分かりやすいでしょう。


▪️サブネットには5つのIPアドレスが予約されている

AWSのサブネットでは、サブネットのIPアドレスのうち5つがAWSによって予約されています。

例えば、

10.0.1.0/24

のサブネットでは、256個のIPv4アドレスがあります。

しかし、そのすべてをEC2などに自由に割り当てられるわけではありません。

AWSではサブネットごとに5つのIPv4アドレスが予約されています。

そのため、一般的なIPv4サブネットでは、

256個
↓
5個はAWSが予約
↓
251個が利用可能

となります。

サブネットサイズを設計するときには、この点にも注意が必要です。


▪️実際のAWSシステムではどう使う?

ここまでの内容を、実際のWebシステムに当てはめてみましょう。

例えば、

                       Internet
                           │
                           ↓
                          ALB
                    ┌──────┴──────┐
                    ↓             ↓
                  AZ-a           AZ-c
             Public Subnet   Public Subnet
                    │             │
                    └──────┬──────┘
                           ↓
                         EC2
                    Private Subnet
                           │
                           ↓
                         RDS
                    Private Subnet

のような構成を考えることができます。

この構成では、

  • VPC:システム全体のネットワーク
  • Public Subnet:外部からの通信を受ける領域
  • Private Subnet:外部から直接アクセスさせたくない領域
  • AZ:障害に備えて異なる場所へ分散
  • ALB:ユーザーからのリクエストを受け付ける
  • EC2:アプリケーションを実行
  • RDS:データベースを提供

という役割分担になります。

このように、サブネットは単にIPアドレスを分割するだけではなく、システムのネットワーク設計や可用性・セキュリティにも関係する重要な要素です。


▪️サブネットを設計するときに考えること

実際にAWSでサブネットを設計するときには、単純に「適当に/24にする」というわけではありません。

例えば、

  • どれくらいのIPアドレスが必要なのか
  • PublicとPrivateをどう分けるか
  • 複数のAZへどう配置するか
  • 将来的にリソースが増えてもIPアドレスが足りるか
  • どのサブネットにどのAWSリソースを配置するか
  • どのようなルーティングにするか

などを考える必要があります。

特にAWSでは、後からサブネットのCIDRを自由に変更することが難しいため、最初のネットワーク設計が重要になります。


▪️まとめ

今回はAWSのサブネットについて解説しました。

今回のポイントをまとめます。

  • サブネットはVPCの中に作成するネットワーク
  • VPCのCIDRをさらに分割してサブネットを作る
  • サブネットにはCIDRを指定する
  • サブネットは1つのAvailability Zoneに作成する
  • 高可用性を考える場合は複数のAZにサブネットを配置する
  • Public Subnetは一般的にInternet Gatewayへのルートを持つ
  • Private Subnetは一般的にInternet Gatewayへの直接のルートを持たない
  • Private Subnetから外部へ通信する場合はNAT Gatewayなどを利用する
  • サブネットにはルートテーブルを関連付ける
  • Security Groupはサブネットではなくリソースへの通信を制御する
  • AWSではサブネットごとに5つのIPv4アドレスが予約されている

VPCが「AWS上の大きなネットワーク」だとすると、サブネットはその中を用途や配置場所に応じて分けた「ネットワークの区画」です。

VPCとサブネットを理解すると、AWSのネットワーク構成図がかなり読みやすくなります。

次の記事では「ルートテーブル」について解説します。
*「ルートテーブル」の記事はこちら
→「https://lovelabengineer.com/2026/10/07/awsのルートテーブルとは?通信経路を決める仕組/」

No responses yet

コメントを残す

メールアドレスが公開されることはありません。 ※ が付いている欄は必須項目です

Latest Comments

表示できるコメントはありません。