AWS1-2-1 VPC

🧱 1. VPC(Virtual Private Cloud)とは?

💡 一言でいうと:

クラウド上に作る、自分専用の仮想ネットワーク空間(≒工場の敷地)

AWSのサービスVPC(Virtual Private Cloud)はAWSでwebサーバやDBサーバを使う際、それらを配置するための仮想空間を構築できるサービスです。AWSを利用すると基本的に使うサービスになります。

🎯 目的:

  • インターネットにそのままさらされないように ネットワークを分離
  • セキュリティや設計自由度を持たせた「自分だけのLAN(ローカルネットワーク)」を作る。

🏢 例えると:

AWSという大都市の中に、企業Aが土地(VPC)を購入して、自社の社屋や工場を建てるイメージ。

AWS全体(クラウド)あなた専用のネット空間(VPC)
公共のクラウド空間自社専用のネットワーク

📦 2. サブネット(Subnet)とは?

💡 一言でいうと:

VPCの中を「部屋ごとに区切る」仕切り(≒工場内の部署エリア)

🎯 目的:

  • 用途別にネットワークを分けて管理しやすくする。
  • セキュリティ・アクセス制御・可用性設計に役立つ。

🗺️ 例えると:

1つの会社の工場の中に、「開発部屋」「営業部屋」「倉庫」など部屋(サブネット)を作って分ける。

VPC(建物)サブネット(部屋)
自社ネットワーク全体公開用/非公開用のグループ分け

🔍 実際の構成イメージ(AWSの場合)

VPC: 10.0.0.0/16(自社ネット全体)
├── サブネットA(10.0.1.0/24):パブリックサブネット(Webサーバー)
├── サブネットB(10.0.2.0/24):プライベートサブネット(DBサーバー)
  • パブリックサブネット:インターネットゲートウェイ経由で外部と通信可能
  • プライベートサブネット:外部からはアクセスできず、内部処理専用

🛡️ 関連する要素との関係

要素役割
VPC土地(ネットワーク全体)
サブネット区画(ゾーン)
セキュリティグループ各インスタンスに付く「防犯装置」(ファイアウォール)
ルートテーブル「どこに向けて通信するか」の地図(通信経路の設定)
インターネットゲートウェイ外とつなぐための出入口

🧑‍🏫その他説明


✍ まとめ

項目VPCサブネット
単位ネットワーク全体サブネットワークの一部
用途仮想的なネット空間を構築VPC内での役割分担と設計
関係性1つのVPCに複数サブネットを作れる役割(公開/非公開)に分けて使う

VPC設計時のポイント

・CIDRは/16程度の大きめのものを割り当てる
・IPアドレス範囲の重複に気をつける
・RFC1918準拠のプライベートIPアドレス範囲から指定する

サブネット設計時のポイント

・/24程度の大きめなものを割り当てる
・役割別でサブネットを作成する
・CIDRブロックのうち、5つのIPアドレスは利用できない
・2つ以上のアベイラビリティゾーン(今後はAZと表記)を利用する

CIDRブロックのうち、5つのIPアドレスは利用できない
=> 構成装置のIP指定できない。

各サブネット CIDR ブロックの最初の 4 つの IP アドレスと最後の IP アドレスはAWSにより予約されているため利用できません。

例)CIDR ブロック 10.0.0.0/24 を持つサブネットの場合以下のIPアドレスが予約されます。

IPアドレス用途
10.0.0.0ネットワークアドレス(識別用)
10.0.0.1VPC ルーターのデフォルトゲートウェイ
10.0.0.2AWS が将来使用するために予約(未使用)
10.0.0.3AWS が将来使用するために予約(未使用)
10.0.0.255ブロードキャストアドレス(IPv4標準)

👉 つまり、最初の4つ (0-3) と最後の1つ(255)は予約されており、ユーザーの EC2 インスタンスなどには割り当てできません。

サンプル

VPC(全体)

VPCは最上段のプライベートネットワークになる。例えば、こんな感じに設計する。

環境ごとに個別のネットワークにすべきなので、3環境用意するなら3つVPCを作ろう。こうすると、2オクテット目が環境ごとに0、1、2となって分かりやすい。

サブネット

VPCの中に作るのがサブネットで、機能毎にサブネットを作るのが理想的。
事業拡大に伴って提供する機能/サービスも増えていくので、サブネット自体の数が増えていく前提で設計する必要がある。

VPCは /16 の範囲で作成したので、まずはこのプライベートネットワークで使える残りの16ビットの使い方を決める。例えばこうだ。

CIDRの/以降の値でどこまでがネットワーク部でどこからかホスト部かが分かれます。
VPCとして10.0.0.0/16 をCIDRブロックと指定して確保たら、サブネットはこの確保したVPCの中に作成するので、10.0.xxx.xxxの範囲内でなければいけません。

サンプル

10.0.0.0/16 =>
   10.0.10.0/24 10.0.20.0/24 とか

10.1.0.0/16 =>
   10.1.100.0/24 10.1.200.0/24 とか

10.2.0.0/16 =>
   10.2.30.0/24 10.2.60.0/24 とか

でも、下記のようにおまかせが一番(^^)

この部分で、

のアドレス

172.20.0.0
172.18.0.0
172.30.0.0
とか指定する。

インターネットゲートウェイとは

ルートテーブルとは

 VPCにサブネットを作成し、リソースを作成する場所が用意できました。そして、インターネットゲートウェイとNATゲートウェイも作成し、リソースがインターネットと通信をするための出入り囗も作ることができました。
 しかしこのままの状態では、サブネット同士、あるいはサブネットと各ゲートウェイの間には、通信をするための経路(ネットワークllの道のようなもの)がまだできていません。そのため、あるサブネットの中にあるリソースが、サブネット外のリソースにアクセスできません(図4.31)。

 サブネット間の通信経路を設定するために、AWSにはルートテーブルという機能があります。ルートテーブルには、「このサーバーに接続するときにはここを経由する」といったルールをテーブルの形式で設定できます(図4.32)。

送信先:どこに接続するかという情報。送信先は、IPアドレスを指定します。IP アドレスは特定のものを指定することもできますし、CIDR形式を使って範囲で 指定することもできます。
・ターゲット:どこを経由するかという情報。ルートテーブルに指定できるター
 ケットはいくつかあります。よく使われるものを図4.8に示します。

ルートテーブル設定事例

DBは2リージョン、2サブネット使用するので、サブネット追加します。

現在のリージョンを確認しておきます。(サブネットひとつの詳細を見てみるなど)
 下記だとeu-west-1a 

プライベートサブネットのアドレスも確認しておきます。

上記だと 「10.77.128.0/20」 なので、追加するDB用サブネットは
10.77.64.0/20 など。

pfu00-subnet-public1  10.55.0.0/20   ap-northeast-1a

pfu00-subnet-private1 10.55.128.0/20 ap-northeast-1a

128|0 = 10000000  00000000
sub     11110000  00000000
        ~~~~
        ↑ ここのビットを変更して、
        「違うネットワーク」にする。

 64|0 = 01000000  00000000			ap-northeast-1b とか
sub     11110000  00000000

カテゴリー: AWS