🔥

[AWS]ネットワークの構成(IPアドレス,VPC,サブネット,CIDR)

2025/02/14に公開

IPアドレス

Internet Protocol Adress(インターネット プロトコル アドレス)の略。
プロトコル(規約)で定められた、ネットワーク上の機器に割り当てられた識別番号。

グローバルIPアドレス(パブリックIPアドレス)

  • インターネットに直接接続するためのIPアドレス。
  • 世界で一意(ユニーク)なアドレスで、同じIPアドレスは存在しない。
  • インターネット回線の出口(ルーターやプロバイダ)に1つ割り振られる。

プライベートIPアドレス(ローカルIPアドレス)

  • 社内・家庭内など、独立したネットワーク内で使用されるIPアドレス。
  • ルーターを通じてインターネットに出るとき、グローバルIPアドレスに変換(NAT)される。

VPC(Virtual Private Cloud)

AWSが提供する仮想ネットワーク(クラウド上の独自のネットワーク環境)。

  • EC2を動かすためのネットワーク環境を提供する
  • VPCの中にサブネットを作り、EC2インスタンスを配置する
  • 社内システムやWebサービスなどを、AWS上で安全に運用できる。
  • VPCを作成すると、プライベートIPアドレスの範囲をCIDRで指定する必要がある。

VPCを作るときに決めること

  • 1️⃣ CIDRでVPC内で使用するIPアドレスの範囲を決める
  • 2️⃣ サブネットを作成し、IPアドレスをさらに細かく分割する
  • 3️⃣ サーバーを配置し、ネットワークのルールを設定する(公開/非公開など)

📌VPCのイメージ

  • 自分専用のネットワーク空間
  • VPC内に複数のEC2を配置できる
  • 外部(インターネット)と通信するために設定が必要

📌VPCの用途

  • セキュリティを確保しつつEC2を動かす

  • パブリックサブネットとプライベートサブネットを使い分ける

  • セキュリティグループやネットワークACLを使ってアクセスを制御する

  • IPアドレスの枯渇を防ぐために、ローカルネットワーク内の機器ごとに割り当てられる。

EC2

  • AWSの仮想サーバー(クラウド上のコンピュータ)
  • インターネットや社内ネットワークを通じて利用できる
  • EC2の中にはOS(Linux/Windows)をインストールし、Webアプリやデータベースを動かせる

📌EC2のイメージ

  • 実際のパソコンや物理サーバーをAWSが仮想化して提供
  • オンデマンドで使えるクラウドのコンピュータ

📌EC2の用途

  • Webサーバー(サイトをホスティング)
  • アプリケーションサーバー(バックエンドAPIを動かす)
  • データベースサーバー(MySQLやPostgreSQLを動かす)

サーバー

  • ネットワーク経由で他のコンピュータにサービスを提供するコンピュータのこと
  • EC2はAWSのサーバーサービスなので、EC2 = クラウド上のサーバーと考えられる

📌サーバーの種類

サーバーの種類 役割
Webサーバー Webサイトを公開する(Nginx, Apache)
アプリケーションサーバー アプリのバックエンドを動かす
データベースサーバー データを保存・管理する(MySQL, PostgreSQL)
バッチサーバー 定期的にデータ処理をする

📌EC2は「サーバーを作れる」サービスなので、EC2インスタンス = サーバーと考えられる!

EC2インスタンスとVPCの違い

項目 EC2インスタンス VPC
意味 AWSの仮想サーバー AWSの仮想ネットワーク
役割 アプリやデータを処理するコンピュータ EC2を動かすためのネットワーク環境
配置 VPC内に作成される AWS内に作成され、EC2などのリソースを管理
必要性 EC2単体では通信できないため、VPCが必要 VPC単体では動作せず、EC2などのリソースを配置する

📌ポイント

  • EC2は「サーバー」、VPCは「そのサーバーを動かすネットワーク環境」
  • EC2を使うには、VPC内に配置する必要がある
  • VPCの中にサブネットを作り、EC2を配置することでネットワーク管理ができる

サブネット

  • VPC(仮想ネットワーク)内で、IPアドレスの範囲をさらに細かく分けたネットワーク。
  • サブネットを作ることで、VPC内のIPアドレスをさらに細かく分割し、ネットワークを整理できる。
  • サブネットは、AZ(データセンター)に作られ、耐障害性を向上させるために分散できる。

アベイラビリティゾーン(AZ)

  • AWSのデータセンターがある物理的な場所。
  • 1つのリージョンに複数のAZがあり、異なるAZにサブネットを作成することで、耐障害性を向上できる。

CIDR(サイダー/Classless Inter-Domain Routing)

ネットワークのIPアドレスの範囲を管理する仕組み。
従来のIPアドレスの「クラス(A・B・C)」に依存せず、柔軟にIPアドレスを割り当てる方法。

CIDRの役割

  • VPCはAWS上の仮想ネットワークで、CIDRでIPアドレスの範囲を決める。
  • CIDRを使うと、IPアドレスの管理が柔軟になり、ネットワークのサイズに応じた割り当てが可能。

CIDR表記の例

初期のインターネットでは、IPアドレスは「クラス」と呼ばれるグループに分けられていた。

クラス 接続可能コンピュータ数 サブネットマスク
A 約1677万台 255.0.0.0 大企業や政府機関等、巨大なネットワーク
B 約6万5千台 255.255.0.0 大学や中企業など、中規模ネットワーク
C 254台 255.255.255.0 家庭や小規模オフィスなど、小規模ネットワーク

このやり方だと、各クラスの接続可能数がとびとびのため
微妙な数字…例えば1000台だと、クラスBじゃないと使えない⇒つまり約6万4千個ものIPアドレスが無駄になるという現象が起きていた。
そこで、CIDRを使い、ネットワークの規模に合わせて、より柔軟にIPアドレスを割り当てることができるようになった!

CIDR表記 IPアドレス数 サブネットマスク
/8 約1,600万個 255.0.0.0
/12 約100万個 255.240.0.0
/16 約65,000個 255.255.0.0
/20 約4,000個 255.255.240.0
/24 約250個 255.255.255.0

CIDRを使うことで、「必要なIPアドレスの数に応じて、柔軟に範囲を決められる」

こちらを参照。


IPアドレスのネットワーク部とホスト部

要素 説明
ネットワーク部 IPアドレスの「どのネットワークに属するか」を示す部分
ホスト部 そのネットワーク内での「個々のデバイス」を識別する部分

  • IPアドレス: 198.51.100.2
    • 198.51.100 → ネットワーク部
    • 2 → ホスト部
  • サブネットマスク: 255.255.255.0
    • これを2進数に変換すると「11111111.11111111.11111111.00000000」
    • 「1」の部分がネットワーク部、「0」の部分がホスト部
  • CIDR表記: 198.51.100.2/24
    • /24 は、「ネットワーク部が24ビット(1が24個)」 を意味する
    • サブネットマスクの「255.255.255.0」と同じ意味

📌 CIDR表記だと、ネットワークの範囲は 198.51.100.0 ~ 198.51.100.255 となり、256個(254個のホスト + ネットワークアドレス + ブロードキャストアドレス)のIPを使える!

今回学習した用語

用語 意味
VPC AWSが提供する仮想ネットワーク。
サブネット VPCをさらに細かく分けたネットワーク。
AZ(アベイラビリティゾーン) AWSのデータセンターがある場所。1つのリージョンに複数のAZがある。
コンポーネント 「部品」の意味。AWSで提供される各種リソースのこと。
CIDR IPアドレスの範囲を指定し、ネットワークを効率的に管理する方法。VPCのIP範囲を決めるときに使う。

参考文献

https://www.gate02.ne.jp/media/it/column_98/#プライベートIPアドレスとは
https://blog.trustlogin.com/articles/2021/20210716
https://zenn.dev/airiswim/articles/0567ef5eedd103

https://docs.aws.amazon.com/ja_jp/vpc/latest/userguide/what-is-amazon-vpc.html
https://qiita.com/kimuni-i/items/f9957efccb9ed4bf1495

https://elcamy.com/blog/cidr
https://zenn.dev/kingdom0927/articles/b6ba7b4d9f51bd
https://zenn.dev/airiswim/articles/59b974704e57c4

https://www.secuavail.com/kb/practical-post/ip-address-subnet-mask/

Discussion