🔥
[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