AWS ネットワークサービスの基本
VPCをネットワーク図で理解してみる
Shuji Kikuchi
#akibaaws
2⾃⼰紹介
菊池 修治
- クラスメソッド AWS事業部
- Senior Solutions Architect
- AWS認定 7冠
- SIer → 製造業 → クラスメソッド
- 好きなネットワークベンダ
- Cisco
#akibaaws
3⾃⼰紹介
Developers.IO
ブログ(⼀⼈)強化⽉間中:現在20本
https://dev.classmethod.jp/author/kikuchi-shuji/ #akibaaws
4アジェンダ
1. Amazon VPC
2. VPCコンポーネント
3. VPCを理解する
4. まとめ
#akibaaws
5
1. Amazon VPC
#akibaaws
6ここに出てます
https://dev.classmethod.jp/cloud/aws/blackbelt-2018-vpc/
#akibaaws
7Amazon	VPC
• VPC:Virtual Private Cloud
• AWS内に構成するプライベートな仮想ネットワーク
• ネットワークコンポーネントを抽象化
• NFV(Network Functions Virtualization)
• APIで制御可能
#akibaaws
8Amazon	VPC
• VPC:Virtual Private Cloud
• AWS内に構成するプライベートな仮想ネットワーク
• ネットワークコンポーネントを抽象化
• NFV(Network Functions Virtualization)
• APIで制御可能
SDN:Software	Defined	Network
#akibaaws
9
2. VPCコンポーネント
#akibaaws
10VPCコンポーネント
• NACL(ネットワークACL)
• セキュリティグループ
• CGW(カスタマーゲートウェイ)
• VGW(仮想プライベートゲートウェイ)
• VPN接続
• DirectConnect
• 内部ルータ
• Amazon DNS
• VPC
• サブネット
• ルートテーブル
• IGW(インターネットゲートウェイ)
• DHCPオプションセット
• Elastic IP
• VPCエンドポイント
• NAT Gateway
• VPC Peering
#akibaaws
11各コンポーネントを使って構成
Subnet
Subnet
Subnet
Subnet
IGW
NAT	Gateway
NAT	Gateway
VPC
Endpoint
VPC	Peering
VGW
Amazon	DNS
Direct	Connect
VPN
CGW
Route	Table
Route	Table
Route	Table
Route	Table
Elastic	IP
Elastic	IP
Router
#akibaaws
12
3. VPCを理解する
#akibaaws
13VPC構成
Subnet
Subnet
Subnet
Subnet
IGW
NAT	Gateway
NAT	Gateway
VPC
Endpoint
VPC	Peering
VGW
Amazon	DNS
Direct	Connect
VPN
CGW
Route	Table
Route	Table
Route	Table
Route	Table
Elastic	IP
Elastic	IP
Router
#akibaaws
14VPC構成
#akibaaws
15
ネットワーク構成、イメージできますか?
#akibaaws
16よく⾒たやつ
https://www.interop.jp/2015/shownet/highlight.html
https://www.edrawsoft.com/template-lab-network.php
#akibaaws
17
VPCの構成を理解したい
従来のネットワーク図っぽく解釈してみる
#akibaaws
18
注意
以降、分かりやすさを重視して
独⾃の解釈で記述しています。
そのため⼀部、厳密さに⽋ける
部分もあることをご了承ください。
#akibaaws
19VPC構成⼿順
• VPC作成
• IGW作成・アタッチ
• サブネット作成
• NAT Gateway作成
• ルートテーブル設定
• 各種ゲートウェイ作成・アタッチ
この流れに沿って考えてみる
#akibaaws
20VPC作成
Amazon	DNS
Default	Route	Table
Router
10.0.0.0/16
#akibaaws
21VPC作成
• Amazon DNS
• VPC内で利⽤可能なDNSサーバ
• VPC CIDRの3番⽬のアドレスを使⽤(10.0.0.0/16の場合は10.0.0.2)
• Router
• VPC内のルーティングを⾏う
• VPC内のサーバのデフォルトゲートウェイはすべてこれ
• Default Route Table
• デフォルトとなるルートテーブル
• VPC内は⾃動でルートをもつ(削除不可)
#akibaaws
22VPC作成(イメージ)
10.0.0.0/16
DNS
10.0.0.2
Router
#akibaaws
23IGW作成・アタッチ
10.0.0.0/16
IGW
#akibaaws
24IGW作成・アタッチ(イメージ)
10.0.0.0/16
IGW
DNS
10.0.0.2
Router
#akibaaws
25サブネット作成
10.0.0.0/16
IGW
10.0.0.0/24 10.0.1.0/24
#akibaaws
26サブネット作成(イメージ)
10.0.0.0/16
DNS
10.0.0.2
10.0.0.0/24 10.0.1.0/24
IGW Router
.1.1
#akibaaws
27NAT	Gateway作成
10.0.0.0/16
IGW
10.0.0.0/24 10.0.1.0/24
NAT	Gateway
Elastic	IP
#akibaaws
28NAT	Gateway作成(イメージ) 26
10.0.0.0/16
10.0.0.0/24 10.0.1.0/24
IGW Router
.1.1
DNS
.2
NAT
Gateway
.4
#akibaaws
29NAT	Gateway作成(イメージ) 29
10.0.0.0/16
DNS
.2
10.0.0.0/24 10.0.1.0/24
IGW Router
.1.1
NAT
Gateway
.4
NATテーブル
10.0.0.4	- EIP
#akibaaws
30ルートテーブル設定
10.0.0.0/16
IGW
10.0.0.0/24 10.0.1.0/24
NAT	Gateway
Elastic	IP
Route	Table Route	Table
#akibaaws
31ルートテーブル設定(イメージ)
10.0.0.0/16
10.0.0.0/24 10.0.1.0/24
IGW Router
.1.1
NATテーブル
10.0.0.4	- EIP
DNS
.2
NAT
Gateway
.4
Route	Table
0.0.0.0/0	->	IGW
10.0.0.0/16	->	RT
Route	Table
10.0.0.0/16	->	RT
#akibaaws
0.0.0.0/0	->	NAT
32ルートテーブル設定(イメージ)
10.0.0.0/16
10.0.0.0/24 10.0.1.0/24
IGW Router
.1.1
NATテーブル
10.0.0.4	- EIP
DNS
.2
NAT
Gateway
.4
Route	Table
0.0.0.0/0	->	IGW
10.0.0.0/16	->	RT
Route	Table
#akibaaws
10.0.0.0/16	->	RT
0.0.0.0/0	->	NAT
33各種ゲートウェイ設定・アタッチ
10.0.0.0/16
IGW
10.0.0.0/24 10.0.1.0/24
NAT	Gateway
Elastic	IP
Route	Table Route	Table
VPC	Peering
(PCX)
#akibaaws
34各種ゲートウェイ設定・アタッチ(イメージ)
10.0.0.0/16
10.0.0.0/24 10.0.1.0/24
IGW Router
.1.1
NATテーブル
10.0.0.4	- EIP
DNS
.2
NAT
Gateway
.4
Route	Table
0.0.0.0/0	->	IGW
10.0.0.0/16	->	RT
Route	Table
10.0.0.0/16	->	RT
VPC	Peering
(PCX)
172.16.0.0/16
#akibaaws
10.0.0.0/16	->	RT
0.0.0.0/0	->	NAT
35各種ゲートウェイ設定・アタッチ(イメージ)
10.0.0.0/16
10.0.0.0/24 10.0.1.0/24
IGW Router
.1.1
NATテーブル
10.0.0.4	- EIP
DNS
.2
NAT
Gateway
.4
Route	Table
0.0.0.0/0	->	IGW
10.0.0.0/16	->	RT
Route	Table
10.0.0.0/16	->	RT
VPC	Peering
(PCX)
172.16.0.0/16
172.16.0.0/0	->	PCX
172.16.0.0/0	->	PCX
#akibaaws
0.0.0.0/0	->	NAT
36各種ゲートウェイ設定・アタッチ(イメージ)
10.0.0.0/16
10.0.0.0/24 10.0.1.0/24
IGW Router
.1.1
NATテーブル
10.0.0.4	- EIP
DNS
.2
NAT
Gateway
.4
Route	Table
0.0.0.0/0	->	IGW
10.0.0.0/16	->	RT
Route	Table
10.0.0.0/16	->	RT
VPC	Peering
(PCX)
172.16.0.0/16
172.16.0.0/0	->	PCX
172.16.0.0/0	->	PCX
#akibaaws
0.0.0.0/0	->	NAT
37サーバ配置
10.0.0.0/16
IGW
10.0.0.0/24 10.0.1.0/24
NAT	Gateway
Elastic	IP
Route	Table Route	Table
VPC	Peering
web DB
#akibaaws
38サーバ配置(イメージ)
10.0.0.0/16
10.0.0.0/24 10.0.1.0/24
IGW Router
.1.1
NATテーブル
10.0.0.4	- EIP
DNS
.2
NAT
Gateway
.4
Route	Table
0.0.0.0/0	->	IGW
10.0.0.0/16	->	RT
Route	Table
10.0.0.0/16	->	RT
VPC	Peering
(PCX)
172.16.0.0/16
172.16.0.0/0	->	PCX
172.16.0.0/0	->	PCX
Web
.5
DB
.10
#akibaaws
0.0.0.0/0	->	NAT
39サーバ配置(イメージ)
10.0.0.0/16
10.0.0.0/24 10.0.1.0/24
IGW Router
.1.1
NATテーブル
DNS
.2
NAT
Gateway
.4
Route	Table
0.0.0.0/0	->	IGW
10.0.0.0/16	->	RT
Route	Table
10.0.0.0/16	->	RT
VPC	Peering
(PCX)
172.16.0.0/16
172.16.0.0/0	->	PCX
172.16.0.0/0	->	PCX
Web
.5
DB
.10
10.0.0.4	- EIP
10.0.0.5	- EIP
#akibaaws
0.0.0.0/0	->	NAT
40サーバ配置(イメージ)
10.0.0.0/16
10.0.0.0/24 10.0.1.0/24
IGW Router
.1.1
NATテーブル
DNS
.2
NAT
Gateway
.4
Route	Table
0.0.0.0/0	->	IGW
10.0.0.0/16	->	RT
Route	Table
10.0.0.0/16	->	RT
VPC	Peering
(PCX)
172.16.0.0/16
172.16.0.0/0	->	PCX
172.16.0.0/0	->	PCX
Web
.5
DB
.10
10.0.0.4	- EIP
10.0.0.5	- EIP
#akibaaws
0.0.0.0/0	->	NAT
41NACL/セキュリティグループ
10.0.0.0/16
IGW
10.0.0.0/24 10.0.1.0/24
NAT	Gateway
Elastic	IP
Route	Table Route	Table
VPC	Peering
web DB
NACL NACL
SGSG
#akibaaws
42NACL/セキュリティグループ(イメージ)
10.0.0.0/16
10.0.0.0/24 10.0.1.0/24
IGW Router
.1
NATテーブル
DNS
.2
NAT
Gateway
.4
VPC	Peering
(PCX)
172.16.0.0/16
Web
.5
DB
.10
10.0.0.4	- EIP
10.0.0.5	- EIP
.1
SGSG
NACL NACL
#akibaaws
43
まとめ
#akibaaws
44まとめ
• VPCは仮想化されたネットワーク環境
• 各種コンポーネントにより従来のネットワークできることは⼗分に
カバーしている
• 機器に縛られず利⽤可能でAPIを使った⾃動化もできる
• 1つの図で全てを表現することは難しい
• VPCに限らず、通信(パケット)の流れがイメージできていること
が⼤切
#akibaaws
#akibaaws

[AKIBA.AWS] VPCをネットワーク図で理解してみる