🔥
[AWS]ネットワークの構成(IPアドレス,VPC,サブネット,CIDR)
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範囲を決めるときに使う。 | 
参考文献
Discussion