VPC - Amazon Web Services

Amazon VPC (Virtual Private Cloud)
2015/04/15 (2015/07/23 Renewed)
AWS Black Belt Tech Webinar 2015
アマゾン データ サービス ジャパン株式会社
ソリューションアーキテクト 吉田英世
アジェンダ
• Amazon VPC 概要
• ネットワーク・セキュリティ
• Webシステム構成
• ハイブリッド構成
• VPC利用のポイント
• 価格
• Q&A
イントロダクション
AWS上でインターネットから
アクセス可能なアプリケー
ションを動作させたい。
インターネットからアク
セスできる領域を制限
したい。
AWS上で社内業務ア
プリケーションを動作
させたい。
社内とセキュアに
接続させたい。
オンプレミス環境でのネットワークのイメージ
AWS上でネットワークを構築する場合は、ユーザーが
物理的なハードウェアの導入・管理を行う必要はありません。
オンプレミス環境で構築したシステムの例
エンド
ユーザ
管理者
LB
踏み台
踏み台サーバ経由で
各サーバへのリモートログイン
インターネットからアクセス可能
なパブリック領域
インターネットから直接アクセスでき
ないプライベート領域
管理者
Web
Web
VPN
ルータ
データセンター
オフィスからのVPN接続
VPN
ルータ
オフィス
AWS上でもオンプレミス環境に類似した
自社専用の仮想ネットワークを構築可能
エンド
ユーザ
管理者
LB
踏み台
踏み台サーバを経由で
各サーバへのリモートログイン
インターネットからアクセス可能
なPublic Subnet
インターネットから直接アクセスでき
ないPrivate Subnet
管理者
Web
Web
VPN
ルータ
データセンター
オフィスからのVPN接続
VPN
ルータ
オフィス
アジェンダ
• Amazon VPC 概要
• ネットワーク・セキュリティ
• ハイブリッド構成
• VPC利用のポイント
• 価格
• Q&A
Amazon VPC
• AWS上にプライベートネットワーク空間を構築
– 社内からVPN接続して閉域網でAWS利用
– 仮想ネットワーキング
• オンプレミスとのハイブリッドが簡単に実現
– AWSが社内インフラの一部に見える
 社内システム、ソフトウェアの移行がより容易に
 例:業務システム、バッチ処理、ファイルサーバ
• より細やかにネットワーク関連の設定が可能
• 全リージョンで利用可能
AWS上にプライベートのアドレス空間を作成し、
お客様のインフラをAWS上に延長する
VPN接続
専用線
イントラ
リージョン
EC2
VPC内に分離し
たサブネットを
自由に作成
ゲート
ウェイ
VPC
プライベート
サブネット
VPN
DX
パブリック
サブネット
Internet
VPCを利用するメリット
• AWSアカウント登録をしたらすぐに利用可能
• 簡単に自社専用の仮想ネットワークを構築可能
• 物理的なデータセンターの利用契約やネットワーク機器
の配備は不要
• インターネットからアクセスできない、社内ユーザのみ
アクセス可能な仮想ネットワークの構築が可能
• 仮想ネットワークの構築自体は無料
EC2-ClassicとVPC
EC2-Classic
すべてのインスタンスは
インターネット接続を
持ち、プライベートIPと
パブリックIPが自動で
割当てられる。
2013年4月12日以降に作成
されたアカウントはVPCの
みサポート、デフォルト
VPCをすべてのリージョン
で利用可能
Default VPC
VPC
アカウント作成後にすで
に設定されているVPC。
VPC上のインスタンスは
EC2-Classicと同じように
インターネット接続を持
ち、プライベートIPとパ
ブリックIPが自動で割当
てられる。
ユーザ自身でネットワークの
設定を行う。
各種ネットワーク機能を利用
可能。
削除するとユーザ側では
復元できない。サポート
への問い合わせが必要。
172.31.0.0/16(サブ
ネットは/20)で固定。
http://docs.aws.amazon.com/j
a_jp/AmazonVPC/latest/UserG
uide/default-vpc.html
・ENI
・ルーティングテーブル
・ネットワークACL
・プライベートIPのみの利用
VPCの構成要素
VPC
インターネット
ゲートウェイ
Customer
Gateway
Elastic
IP
仮想ルータ
サブネット
バーチャル
プライベート
ゲートウェイ
VPN
コネクション
ルート
テーブル
Elastic
ネットワーク
インタフェース
VPC
Peering
VPC
Availability Zone A
Availability Zone B
VPC CIDR: 10.1.0.0 /16
■仮想データセンターをAWS上に設定
■VPC内で利用するIPアドレスのブロック
を設定
- 通常であればプライベート
アドレス(RFC1918)を利用
- /28から/16のネットマスクを利用
■複数のアベイラビリティゾーンを利用
可能
作成後はVPCアドレスブロックは変更できないので注意!
サブネット
10.1.1.0/24
Subnet
Availability Zone A
10.1.10.0/24
Subnet
Availability Zone B
VPC CIDR: 10.1.0.0 /16
■VPCのIPアドレス範囲(CIDR)の中で設定
■アベイラビリティゾーン毎に設定
■アクセスコントロールリストにより
ネットワークレベルでのセキュリティ
を設定
■サブネット毎にルーティングを設定
■最小は/28(14IP)
■サブネット内の先頭の4つ、最後の1つの
IP以外をEC2インスタンス用に利用可能
インターネットゲートウェイ
Internet
AWS Public
API Endpoints
Internet
Gateway
10.1.1.0/24
Subnet
Availability Zone A
10.1.10.0/24
Subnet
Availability Zone B
VPC CIDR: 10.1.0.0 /16
■IGW=Internet Gateway
■EC2インスタンスにインターネットへの
接続を提供
■VPCにアタッチすることで利用可能
■サブネットでルーティング指定
■単一障害点や帯域幅のボトルネック
は存在しない
バーチャルプライベートゲートウェイ
Corporate Data Center
Customer Gateway
VPN over the
Internet
Virtual Private Gateway
10.1.1.0/24
Subnet
Availability Zone A
10.1.10.0/24
Subnet
Availability Zone B
VPC CIDR: 10.1.0.0 /16
■VGW=Virtual private Gateway
■オフィスやデータセンターなどの
オンプレミスとのVPN接続のための
エンドポイントとなる仮想ルータ
■Direct Connect(専用線)のエンド
ポイントとしても利用
■1つのVPCあたり1つのVGWのみ
アタッチ可能
■単一障害点や帯域幅のボトルネック
は存在しない
カスタマゲートウェイ
Corporate Data Center
Customer Gateway
VPN over the
Internet
Virtual Private Gateway
10.1.1.0/24
Subnet
Availability Zone A
■CGW=Customer Gateway
■オンプレミス側のVPN接続エンド
ポイントとなる物理または仮想の
デバイス
■通常はファイアウォールまたはルータ
を利用
10.1.10.0/24
Subnet
Availability Zone B
VPC CIDR: 10.1.0.0 /16
http://docs.aws.amazon.com/ja_jp/AmazonVPC/latest/NetworkAdminGuide/Introduction.html
仮想ルータ
VPC CIDR: 10.1.0.0 /16
Instance A
10.1.1.11 /24
Public Subnet
Instance C
10.1.3.33 /24
Instance B
10.1.2.22 /24
.1
.1
Private Subnet
Availability Zone A
.1
.1
Public Subnet
Instance D
10.1.4.44 /24
Private Subnet
Availability Zone B
■デフォルトではVPC内のすべて
のサブネット間は疎通可能
(制御したい場合はNACL利用)
■サブネットのネットワーク
アドレス+1(.1)がすべての
サブネットのゲートウェイと
なる
VPNコネクション
Corporate Data Center
Customer Gateway
VPN over the
Internet
Virtual Private Gateway
10.1.1.0/24
Subnet
Availability Zone A
10.1.10.0/24
Subnet
Availability Zone B
VPC CIDR: 10.1.0.0 /16
■VPCとオンプレミス間のVPN接続
■CGWとVGWの間でIPsecトンネル
が設定される
■1つのCGW(1つのパブリックIP)に対し
1つのVPNコネクションが設定される
■1つのVPCに対しては複数のVPN
コネクションが設定可能
ルートテーブル
Internet
AWS Public
API Endpoints
Internet
Gateway
10.1.10.0/24
10.1.1.0/24
Subnet
Subnet
Availability Zone A
Route Table
Availability Zone B
VPC CIDR: 10.1.0.0 /16
Destination
Target
10.1.0.0/16
local
0.0.0.0/0
igw
■どのネットワークに対する通信が
どこに対して転送されるべきかの
定義を記述
(例:インターネットへの通信はIGW)
■各サブネットに1つ設定
■1つのルーティングテーブルには複数の
サブネットが設定可能
■デフォルトではメインルートテーブルが
設定
Elastic IP
Internet
AWS Public
API Endpoints
Internet
Gateway
EIP
EIP
Subnet: 10.1.1.0/24
Subnet: 10.1.10.0/24
Availability Zone A
Route Table
Availability Zone B
VPC CIDR: 10.1.0.0 /16
Destination
Target
10.1.0.0/16
local
0.0.0.0/0
igw
■EIP=Elastic IP
■アカウントに紐付けられる固定の
パブリックIP
■EC2インスタンスに割り当て可能
■EC2インスタンスに関連づけられた
1つめのEIPには課金されない
■課金されるケース
- 追加でEIPを利用する場合
- 起動中のEC2インスタンスに割当て
られていない場合
- アタッチされていないENIに割当て
られている場合
- 1ヶ月間でリマップ(割当て、取り外し)
が100回を超えた場合
http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html
Elastic ネットワークインタフェース
Internet
AWS Public
API Endpoints
Internet
Gateway
ENI
(eth0)
ENI
(eth0)
Subnet: 10.1.1.0/24
Subnet: 10.1.10.0/24
Availability Zone A
Route Table
Availability Zone B
VPC CIDR: 10.1.0.0 /16
Destination
Target
10.1.0.0/16
local
0.0.0.0/0
igw
■ENI=Elastic Network Interface
■EC2インスンタンス毎に仮想ネット
ワークインタフェースを複数持つ
ことが可能
■以下をENIに紐づけて維持可能
プライベートIP
Elastic IP
MACアドレス
セキュリティグループ
■インスタンスによって割当て数が
異なる
http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/using-eni.html
VPC Peering (VPCピア接続)
VPC CIDR: 10.1.0.0 /16
VPC CIDR: 10.2.0.0 /16
pcx-xxxxxx
Subnet: 10.1.1.0/24
Availability Zone A
Subnet: 10.2.1.0/24
Availability Zone A
Route Table
Route Table
Destination /16 Target
VPC CIDR: 10.1.0.0
Destination
Target
10.1.0.0/16
local
10.2.0.0/16
local
0.0.0.0/0
pcx-xxxxxx
0.0.0.0/0
pcx-xxxxxx
■プライベートIPアドレスを利用して
2つのVPC間でトラフィックの
ルーティングが可能
■同一のAWSアカウントはもちろん、
異なるAWSアカウント間(クロス
アカウント)のVPC間をピア接続
することも可能
■単一障害点や帯域幅のボトルネック
は存在しない
■MTUに注意(VPC Peeringは1,500)
http://docs.aws.amazon.com/ja_jp/AmazonVPC/latest/UserGuide/vpc-peering.html
アジェンダ
• Amazon VPC 概要
• ネットワーク・セキュリティ
• Webシステム構成
• ハイブリッド構成
• VPC利用のポイント
• 価格
• Q&A
ネットワークアクセスコントロールリスト
VPC Subnet with ACL
Availability Zone A
VPC Subnet with ACL
Availability Zone B
■NACL=Network Access Control
List
■サブネット毎に設定するフィルタ
機能
■インバウンド、アウトバウンドを
サブネット毎に制御
■ステートレス
■デフォルトはすべて許可
http://docs.aws.amazon.com/ja_jp/AmazonVPC/latest/UserGuide/VPC_ACLs.html
セキュリティグループ
Subnet: 10.1.1.0/24
Availability Zone A
Subnet: 10.1.10.0/24
Availability Zone B
VPC CIDR: 10.1.0.0 /16
■EC2インスタンスの仮想ファイア
ウォールとして機能
■1つのEC2インスタンスあたり5つの
セキュリティグループを設定可能
■ステートフル
■デフォルトですべての通信は禁止
■複数のEC2インスタンスを
グルーピング可能
http://docs.aws.amazon.com/ja_jp/AmazonVPC/latest/UserGuide/VPC_SecurityGroups.html
VPCセキュリティコントロール
VPC 10.1.0.0/16
Virtual Router
Route
Table
Internet
Gateway
Route
Table
Virtual Private
Gateway
Network ACL vs セキュリティグループ
Network ACL
セキュリティグループ
サブネットレベルで効果
サーバレベルで効果
Allow/DenyをIN・OUTで指定可能
(ブラックリスト型)
AllowのみをIN・OUTで指定可能
(ホワイトリスト型)
ステートレスなので、戻りのトラフィックも明示
的に許可設定する
ステートフルなので、戻りのトラフィックを考慮
しなくてよい
番号の順序通りに適用
全てのルールを適用
サブネット内のすべてのインスタンスがACLの管
理下に入る
インスタンス管理者がセキュリティグループを適
用すればその管理下になる
アジェンダ
• Amazon VPC 概要
• ネットワーク・セキュリティ
• Webシステム構成
• ハイブリッド構成
• VPC利用のポイント
• 価格
• Q&A
Webシステムの構成のポイント
• Webサーバなどインターネットと直接通信が必要なリ
ソースはパブリックのサブネットへ配置
– オンプレミスでDMZに置かれていたリソース
– セキュリティグループを利用して必要な通信を許可
• データベースなどインターネットと直接通信が不要なリ
ソースはプライベートのサブネットへ配置
– オンプレミスでセキュアネットワークに置かれていたリソース
– セキュリティグループを利用してパブリックサブネット上のリソースからの通
信のみを許可
– パッチの適用などでインターネット通信が必要な場合はNATインスタンスを配
置(後述)
アーキテクチャセンター:http://aws.amazon.com/jp/architecture/
シンプルなWeb構成
Internet
Webサーバ
Public Subnet:
10.1.1.0/24
データベースサーバ
PrivateSubnet:
10.1.1.0/24
Availability Zone A
VPC CIDR: 10.1.0.0 /16
ロードバランサ + マルチAZを利用したWeb構成
Internet
Webサーバ
Public Subnet:
10.1.1.0/24
Public Subnet:
10.1.2.0/24
PrivateSubnet:
10.1.1.0/24
PrivateSubnet:
10.1.2.0/24
データベースサーバ
Availability Zone A
Availability Zone B
VPC CIDR: 10.1.0.0 /16
アジェンダ
• Amazon VPC 概要
• ネットワーク・セキュリティ
• Webシステム構成
• ハイブリッド構成
• VPC利用のポイント
• 価格
• Q&A
VPCとオンプレミスのネットワーク接続方法
• 2通りの接続方法
– インターネットVPN接続(IPsec)
– AWS Direct Connectを使った専用線接続
• EC2インスタンス上にVPNソフトウェアを動作
させることでVPN接続も可能
VPN (Virtual Private Network)
• IPsec によるVPNを利用
– トンネルモード
– 暗号化:AES128bit
• ルーティングプロトコルが選択可能
– BGP(Border Gateway Protocol) ※推奨
– スタティックルート
• オンプレミス側はカスタマゲートウェイが必要
– インターネットと直接通信可能なパブリックIPが利用できること
– 暗号化処理前にフラグメント可能であること
– IPsec Dead peer Detectionが利用できること(オプション)
VPN対応機器リスト
■静的ルーティングを使用する場合
Cisco ASA 500シリーズ バーション8.2移行
Cico ISR (IOS 12.4以降)
SonicOS5.8以降を実行するDell SonicWALL次世代ファイアウォール(TZ,NSA,SuperMassiveシリーズ)
Juniper Jシリーズサービスルーター (JunOS 9.5以降)
Juniper SRXシリーズサービスゲートウェイ (JunOS 9.5以降)
ScreenOS 6.1もしくは6.2(またはそれ以降)のJuniper SSG/ISG
Microsoft Windows Server 2008 R2 以降
ヤマハ RTX1200 ルーター
■動的ルーティングを使用する場合
Astaro Security Gateway/Security Gateway Essential Firewall Edition バージョン8.3以降
Cisco ISR (IOS 12.4以降)
SonicOS5.9以降を実行するDell SonicWALL次世代ファイアウォール(TZ,NSA,SuperMassiveシリーズ)
Fortinet Fortigate 40+シリーズ (FortiOS 4.0以降)
Juniper Jシリーズサービスルーター (JunOS 9.5以降)
Juniper SRXシリーズサービスゲートウェイ (JunOS 9.5以降)
ScreenOS 6.1もしくは6.2(またはそれ以降)のJuniper SSG/ISG
Palo Alto Networks PAシリーズ (PANOS 4.1.2以降)
Vyatta network OS 6.5以降
https://aws.amazon.com/jp/vpc/faqs/#C9
ヤマハ RTX1200 ルーター
カスタマゲートウェイのコンフィグレーション
! -------------------------------------------------------------------------------! IPSec Tunnel #1
! -------------------------------------------------------------------------------! #1: Internet Key Exchange (IKE) Configuration
!
! A policy is established for the supported ISAKMP encryption,
! authentication, Diffie-Hellman, lifetime, and key parameters.
!
! Note that there are a global list of ISAKMP policies, each identified by
! sequence number. This policy is defined as #200, which may conflict with
! an existing policy using the same number. If so, we recommend changing
! the sequence number to avoid conflicts.
!
crypto isakmp policy 200
encryption aes 128
authentication pre-share
group 2
lifetime 28800
hash sha
exit
! The ISAKMP keyring stores the Pre Shared Key used to authenticate the
! tunnel endpoints.
!
http://docs.aws.amazon.com/ja_jp/AmazonVPC/latest/NetworkAdminGuide/Introduction.html
VPN構成例(シングル接続)
Virtual Private Cloud
VPC Subnet
Availability Zone
Router
72.21.209.193
VPC Subnet
Availability Zone
Virtual Private Gateway
Router
72.21.209.225
Tunnel 2
Tunnel 1
IPSEC
VPN
IPSEC
VPN
Customer Gateway
xxx.xxx.xxx.xxx
Customer Network
VPN構成例(カスタマゲートウェイ冗長化)
Virtual Private Cloud
VPC Subnet
VPC Subnet
Availability Zone
Availability Zone
Router
72.21.209.193
Router
72.21.209.225
Virtual Private Gateway
Tunnel 1
Tunnel 2
Tunnel 2
Tunnel 2
Tunnel 1
Tunnel 2
Customer Gateway
xxx.xxx.xxx.yyy
Customer Gateway
xxx.xxx.xxx.xxx
Customer Network
マルチVPNコネクション
Customer Gateway
Customer Network
Los Angeles
VPN
Customer Gateway
VPC Subnet
VPC Subnet
VPN
Availability Zone
Availability Zone
VPN
Customer Network
Chicago
Customer Gateway
Virtual Private Gateway
Router
Virtual Private Cloud
Customer Network
New York
AWS Direct Connect
AWSとお客様設備(データセンター、オフィス、またはコロケーション)
の間に専用線を利用したプライベート接続を提供するサービス
AWS Cloud
EC2, S3などの
Public サービス
専用線
サービス
お客様
相互接続ポイント
Amazon VPC
AWS Direct ConnectによるVPC接続
AWS
Region
QA
Prod
Dev
AWS Public
API Endpoints
Public-Facing
Web App
Internal
Company Apps
PVI1
PVI2
Internal
Company Apps
PVI3
PVI4
Internal
Company Apps
PVI5
AWS Direct Connect のプライベート
仮想インタフェースはVPC上のVGWに接続
• 1プライベート仮想インタフェースあたり
1VPC
• VLANで分割
キャリア様の専用線でDirect Connectの
相互接続ポイントとお客様拠点を接続
AWS Direct Connect
location
Customer
Data Center
VPNとDirect Connectによる冗長構成
BGPによるルーティングを推奨
Virtual Private Cloud
VPC Subnet
VPC Subnet
Availability Zone
Router
72.21.209.193
通常時は
Direct Connectを
利用
Availability Zone
Router
72.21.209.225
Virtual Private Gateway
Tunnel 1
Tunnel 2
Tunnel 2
Tunnel 2
Tunnel 1
Tunnel 2
Customer Gateway
xxx.xxx.xxx.yyy
Customer Gateway
xxx.xxx.xxx.xxx
Customer Network
Customer Gateway Customer Gateway
xxx.xxx.xxx.BBB
xxx.xxx.xxx.AAA
アジェンダ
• Amazon VPC 概要
• ネットワーク・セキュリティ
• Webシステム構成
• ハイブリッド構成
• VPC利用のポイント
• 価格
• Q&A
VPC内のDHCP
DHCP機能
ENI
(eth0)
VPC Subnet
MACアドレス
プライベートIP
の割当て
■EC2インスタンスが利用するプライ
ベートIP、MACアドレスはVPC内の
DHCP機能(サブネットのネットワーク
アドレス+2)により割当てられる
■ホスト名を割り当てることはできない
■プライベートIPを固定にした場合
DHCP経由で該当のIPが割当て
られる
(EC2インスタンスのOS上のNIC
設定はDHCP設定とする)
DHCP Option Set
• VPCのDHCP機能の設定変更が可能
パラメータ
内容
domain-name
ドメイン名の指定
domain-name-serversDNS
DNSサーバの指定
ntp-servers
NTPサーバの指定
netbios-name-servers
NetBIOSサーバの指定
netbios-node-type
NetBIOSノードタイプ
http://docs.aws.amazon.com/ja_jp/AmazonVPC/latest/UserGuide/VPC_DHCP_Options.html
Amazon DNS サーバー
Corporate Data Center
■Amazon Provided DNS
Amazon Provided DNS
10.1.0.2
10.1.10.0/24
10.1.1.0/24
Subnet
Subnet
Availability Zone A
■VPCのネットワーク範囲(CIDR)の
アドレスに+2をプラスしたIP
(10.0.0.0/16の場合は10.0.0.2)
■VPC内のEC2インスタンスからのみ参照
可能
(VPNなどで接続されているオンプレ
ミスからは参照不可)
Availability Zone B
VPC CIDR: 10.1.0.0 /16
http://docs.aws.amazon.com/ja_jp/AmazonVPC/latest/UserGuide/VPC_DHCP_Options.html#AmazonDNS
DNS設定
• VPC内のDNS関連の設定
■Enable DNS resolution.
基本はyesとする
NoにするとVPCのDNS機能が無効となる
■Enable DNS hostname
TrueにするとDNS名が割り当てられる
“Enable DNS resolution”をtrueにしないと有効にならない
インターネット接続:パブリックIPの割当て
サブネットで”Auto-Assign Public IP”を有効にし、EC2インスタンスに
パブリックIP(動的)を割り当てる。
Internet
Internet
Gateway
54.xxx.xxx.xxx
パブリックIP
を自動割当て
10.1.10.100
Route Table
Private Subnet:
10.1.10.0/24
Availability Zone A
Destination
Target
10.1.0.0/16
local
0.0.0.0/0
igw
インターネット接続:Elastic IPの割当て
EC2インスタンスにElastic IP(固定パブリックIP)をを割り当てる。
Internet
Internet
Gateway
54.xxx.xxx.xxx
パブリックIPを
固定で割当て
EIP
10.1.10.100
Route Table
Private Subnet:
10.1.10.0/24
Availability Zone A
Destination
Target
10.1.0.0/16
local
0.0.0.0/0
igw
インターネット接続:NATインスタンス
■インターネットと直接通信できない
プライベートネットワークに対し、
Internet
AWS Public
インターネットへの経路を確保する
API Endpoints
Internet
■プライベートネットワークの
Gateway
VPC CIDR: 10.1.0.0 /16
ルーティングテーブルでデフォルト
ルートをNATインスタンスに向ける
■AWS上にNAT用のEC2 AMIあり
■パッチダウンロードやAWSクラウド
Public Subnet:
Private Subnet:
上のサービス(S3など)へのアクセス
10.1.1.0/24
10.1.10.0/24
Availability Zone A
Availability Zone B
確保に利用
Route Table
Route Table
■高可用性を別途検討
Destination
Target
Destination
Target
10.1.0.0/16
local
10.1.0.0/16
local
0.0.0.0/0
igw
0.0.0.0/0
NAT
インターネット接続:オンプレミス経由
専用線(Dicrect Connect)などでお客様のオンプレミス拠点を接続し、
インターネットトラフィックをオンプレミス経由とする。
専用線
Direct Connect
Internet
Private Subnet:
10.1.10.0/24
Availability Zone A
Route Table
Destination
Target
10.1.0.0/16
local
0.0.0.0/0
vgw
お客様拠点
プライベートサブネットからAWSクラウドへのアクセス
プライベートサブネットから“VPC外”にエンドポイントがあるサービスに
アクセスするためにインターネット接続が必要。
VPC subnet
Elastic Load
Balancing
Amazon S3
EC2
instances
Amazon
DynamoDB
Internet
gateway
ElastiCache
node
RDS DB
instance
virtual private cloud
RDS DB
instance standby
(Multi-AZ)
Amazon
Simple Queue
Service
VPC内の特定ルートの設定は不可
VPC CIDR: 10.1.0.0 /16
Instance A
10.1.1.11 /24
Instance B
10.1.2.22 /24
Public Subnet
Public Subnet
Instance C
10.1.3.33 /24
Private Subnet
Route Table
Instance D
10.1.4.44 /24
Private Subnet
Availability Zone A
Destination
Target
10.1.0.0/16
local
10.1.1.0/24
InstanceB
Availability Zone B
注意すべきネットワーク構成
• VPN、AWS Direct Connect、VPC Peeringでの接続においては以
下のように2ホップ以上先のネットワークとの通信はできない。
10.0.0.0/16
C
10.1.0.0/16
10.2.0.0/16
C
10.1.0.0/16
10.2.0.0/16
ENIの便利な利用例
HA構成時のフェイルオーバー
ENI
メール送信サーバ(SMTPリレー用)
ENI
ENI
ENI
VPC subnet
ENI
ENI
ENIの付け替え
VPC subnet
※ENIはAZをまたぐことはできないので要注意
ENI
VPC subnet
異なるIPから
メール送信
VPCのリミット関連
• デフォルトの上限値が増加したも
のもあり
–
http://docs.aws.amazon.com/AmazonV
PC/latest/UserGuide/VPC_Appendix_Lim
its.html
• Webサイトから制限解除申請可能
–
http://aws.amazon.com/jp/contactus/vpc-request/
• 不明点はAWSサポートや担当営業
までお問い合わせください。
ブロードキャストとマルチキャスト
• ブロードキャストとマルチキャストはVPC内で通信できないため、
GREまたはL2TPのトンネル等によりオーバーレイで実装する必要
がある
App1,192.168.0.12/24
172.31.47.71
App1,192.168.0.10/24
172.31.16.124
App1,192.168.0.11/24
172.31.28.164
Subnet 172.31.16.0/20
Subnet 172.31.32.0/20
VPCを分割するケース(例)
•
•
•
•
•
•
アプリケーションによる分割
監査のスコープによる分割
リスクレベルによる分割
本番/検証/開発
部署による分割
共通サービスの切り出し
共通サービスのVPC Peering利用
AWS
region
Public-facing
web app
Internal
company
app #2
Internal
company
app #1
Internal
company
app #3
Services
VPC
Internal
company
app #4
AD, DNS
Internal
company
Dev
company data center
Monitoring
Logging
HA pair
VPN
endpoints
Internal
company
QA
以下のような共通サービス用
VPC-Aを中心にサービス用VPC
をスター型に配置
・ログ収集
・モニタリング
・リモート管理
・スキャニング
ソフトウェアファイアウォールの利用
marketplaceから
ISVパートナーの
製品を選択可能
Internet
Internet
Gateway
VPC CIDR: 10.1.0.0 /16
Public Subnet:
10.1.1.0/24
Availability Zone A
Route Table
Private Subnet:
10.1.10.0/24
Availability Zone B
Route Table
Destination
Target
Destination
Target
10.1.0.0/16
local
10.1.0.0/16
local
0.0.0.0/0
igw
0.0.0.0/0
NAT/F
W
リージョン間のVPC間接続例
東京リージョン
ソフトウェア
VPNルータを
EC2で構築し、
インターネット
VPNで接続
シンガポールリージョン
インターネットVPN
Public Subnet:
10.1.0.0/24
Public Subnet:
10.2.0.0/24
Private Subnet:
10.1.10.0/24
Private Subnet:
10.2.10.0/24
Availability Zone A
Availability Zone A
EC2-ClassicからVPCへの移行(ClassicLink)
Amazon
Route 53
DNSにより
並行運用or切り替え
ELB
VPC上の
RDSを参照可能
RDS DB
Instance
RDS DB
Instance
EC2-Classic
データベース
移行
VPC
■EC2-ClassicからVPCへのシームレスな
接続環境を提供
■EC2-Classic上のインスタンスをVPC
上のセキュリティグループへ追加
することが可能
■EC2-ClassicからVPCへの移行に利用
アジェンダ
• Amazon VPC 概要
• ネットワーク・セキュリティ
• Webシステム構成
• ハイブリッド構成
• VPC利用のポイント
• 価格
• Q&A
VPCの価格
• VPCの利用は無料
• VPNを利用する場合は1時間あたり$0.05/VPN接続
(¥4,500/月、1$=120円)
• トラフィックはデータ転送量に応じてVPCからみたアウト
バウンドに対して課金
VPC環境の通信費用(東京リージョン)
Internet
S3,
Glacier,
Dynamo,
etc…
ELB
In: $0.00
Out: $0.00
In: $0.00
Out: $0.140~
ELB
In: $0.00
Out: $0.09
Private IP
Public IP
In: $0.00
Out: $0.00
In: $0.01
Out: $0.01
In: $0.00
Out: $0.042
Direct Connect
Other
Region
Cloudfront
In: $0.00
Out: $0.00
In: $0.01
Out: $0.01Availability Zone
VPN Connection
Availability Zone
In: $0.00
Out: $0.140~
新機能 (VPCエンドポイント)
新機能:S3のVPCエンドポイント
S3 Prefix
pl-xxxxxxxx
vpc
endpoint
vpce-xxxxxxxx
Private Subnet:
10.1.10.0/24
Route Table
Destination
Target
10.1.0.0/16
local
pl-xxxxxxxx
vpce-xxxxxxxx
Availability Zone A
■VPCエンドポイントをVPCに作成し、
プライベートサブネットからAWS
クラウド上のS3バケットにアクセス
が可能
■VPCエンドポイントを作成し、ルート
テーブルの宛先にS3のプレフィックス、
ターゲットにVPCエンドポイントを
指定することでS3への通信がVPC
エンドポイントを経由
■VPCエンドポイントポリシーでアクセス
制御が可能
■追加費用なし(トラフィック課金もなし)
新しいオブジェクト
サービスのプレフィックスリストID (pl-xxxxxxxxx)
宛先のAWSクラウド上のサービスを特定するためのID
該当のサービスで利用されているパブリックIPの集まり
ルートテーブルの宛先やセキュリティグループのOutboundの宛先に指定
プレフィックスリスト名は”com.amazonaws.<region>.s3”
VPCエンドポイントID (vpce-xxxxxxxxx)
VPCエンドポイントを作成したら生成されるオブジェクト
ルートテーブルのターゲットに設定
エンドポイントポリシー
VPCエンドポイントへアクセスを許可するためのポリシー
VPCエンドポイントのメリット
• S3アクセスのためのインターネットゲートウェイ
やNATインスタンスが不要
– NATインスタンスの冗長化も考慮しなくて良い
– NATインスタンスの性能に影響を受けない
• 安全、高い信頼性
• 設定が簡単(2ステップのみ)
• 今後対象サービスの追加予定
注意事項
• ネットワークACLの宛先にプレフィックスリストIDを指定すること
はできない
• VPCが稼働中のリージョンと異なるリージョンを接続することはで
きない
• タグは未対応
• VPCエンドポイントは移動できない
• VPN、AWS Direct Connect、VPC Peering、ClassicLinkの接続先
からVPCエンドポイントを利用することはできない
• S3のバケットポリシー/IAMポリシーでVPC内のプライベートIPを
記述することはできない(エンドポイントの記述は可能)
移行について
■既存のVPCにエンドポイントを追加する
だけでOK
■一つのルートテーブルにインターネット
向けとサービスプレフィックス向けの
経路がある場合、サービスプレフィックス
向けを優先(ロンゲストマッチ)
■VPCエンドポイント作成時、S3へ接続中
の通信は一時的に影響を受ける
■NATインスタンスと並用可能
Public Subnet:
10.1.0.0/24
S3 Prefix
vpc
endpoint
Route Table
pl-xxxxxxxx
vpce-xxxxxxxx
Destination
Target
10.1.0.0/16
local
0.0.0.0/0
NATインスタンス
pl-xxxxxxxx
vpce-xxxxxxxx
Private Subnet:
10.1.10.0/24
Availability Zone A
VPC endpointを
優先
新機能 (VPC Flow Logs)
VPC Flow Logsとは
■ネットワークトラフィックをキャプチャし、CloudWatch LogsへPublishする機能
■ネットワークインタフェースを送信元/送信先とするトラフィックが対象
■セキュリティグループとネットワークACLのルールでaccepted/reject
されたトラフィックログを取得
■キャプチャウインドウと言われる時間枠(約10分間)で収集、プロセッシング、保存
■RDS, Redshift、ElasticCache、WorkSpacesのネットワークインタフェース
トラフィックも取得可能
■追加料金はなし(CloudWatch Logsの標準料金は課金)
VPC Flow Logsのユースケース
■ネットワークのトラブルシュート
疎通ができないのはネットワーク設定の影響?
■ネットワークトラフィックの監査
いつ、どの通信元からどのようなアクセスがあったか?
■ネットワークトラフィック監視
不正な通信を検知してアラート
■ネットワークトラフィック統計情報
プロトコル別、通信元IP別・・・
構成イメージ
CloudWatch Logs
Log Stream
Log Group
VPC
VPC Flow Logs
セキュリティ
グループ
ネットワークインタフェース
(ENI)
ネットワーク
ACL
Flow Log レコードの項目
フィールド
説明
version
VPC flow logsのバージョン
account-id
flow logを取得したAWSアカウント
interface-id
ログストリームが適用されているネットワークインタフェースのID
srcaddr
送信元アドレス(※)
dsraddr
送信先アドレス(※)
srcport
送信元ポート
dsrport
送信先ポート
protocol
IANAで定義されたプロトコル番号
packets
キャプチャウインドウの中で取得したパケット数
bytes
キャプチャウインドウの中で取得したバイト数
start
キャプチャウインドウ開始時のUNIX時間
end
キャプチャウインドウ終了時のUNIX時間
action
トラフィックのアクション(ACCEPT/REJECT)
log-status
ログステータス(OK/NODATA/SKIPDATA)
Flow Log レコード:
http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/flow-logs.html#flow-log-records
実際のレコード
2 123456789010 eni-abc123de
Version
interface-id
account-id
172.168.1.12 172.168.1.11
dsraddr
srcaddr
49761 3389 6
srcport
dstport
protocol
20 4249
packet
bytes
1418530010 1418530070 REJECT OK
start
end
action
log-status
その他のレコード
該当のキャプチャウインドウにデータが存在しなかった場合
2 123456789010 eni-1a2b3c4d - - - - - - - 1431280876 1431280934 - NODATA
内部のキャパシティ不足やエラーによりキャプチャをスキップした場合
2 123456789010 eni-4b118871 - - - - - - - 1431280876 1431280934 - SKIPDATA
VPC Flow Logsで取得しないトラフィック
■EC2インスタンスからAmazon DNSサーバへのトラフィック
■WindowsインスタンスからAmazon Windowsライセンス
アクティベーションへのトラフィック
■インスタンスメタデータ(169.254.169.254)とのトラフィック
■DHCPトラフィック
VPC Flow Logsの注意事項
■EC2-Classic環境では利用できない
(ClassicLinkを利用しているEC2インスタンスも含む)
■Flow Log作成後はIAM Roleなどの設定変更はできない
(再作成となる)
■ネットワークインタフェース上のIPアドレスはプライベートIP表示
■リアルタイムではない(キャプチャからLog Streamへの反映は数分)
VPC Flow Logsの作成
VPC
サブネット
ネットワークインタフェース
VPC Flow Logsの作成
※:CloudWatch LogsのLog Groupは事前に準備しておく
VPC Flow Logの一覧
CloudWatch上のLog GroupとLog Stream
レコードの確認
利用例:CloudWatchメトリックフィルターとアラート作成
22/tcp(SSH)でREJECTされた通信をフィルタ
[version, account, eni, source, destination, srcip, destip="22",
protocol="6", packets, bytes, windowstart, windowend,
action="REJECT", flowlogstatus]
CloudWatch Logs Metric Filter作成
CloudWatch Logsの
Metric Filterで監視
トラフィック
ログ収集
VPC
アラート
通知
CloudWatch
アラート
http://docs.aws.amazon.com/ja_jp/AmazonVPC/latest/UserGuide/flow-logs.html#flow-logs-cw-alarm-example
利用例:Elasticsearch + kibanaによる可視化
APIでイベントを
取り出す
VPC
CloudWatch
Logs
整形して
Elasticsearchへ
PUT
AWS SDK
など
Elasticsearch
kibana
よくある質問
Q. セキュリティグループとネットワークACLのどちらで取得された
ログか判別できますか?
A. できません。
Q. パケットの中身を見ることはできますか?
A. ペイロードの中身を見ることはできません。
Q. どれくらいの期間保存しておくことが可能ですか?
A. CloudWatch Logsにより永久保存が可能です。
まとめ
• VPCを利用することで、さまざまな要件に合わせた
ネットワークを簡単に作成することが可能
• 複数のAZを利用することで高い可用性を維持すること
が可能
• VPNやDirect Connect(専用線)とオンプレミスを利用し
たハイブリッド構成でそれぞれの長所を活かしたシステ
ムを構築することが可能
参考資料
■Amazon VPC
http://aws.amazon.com/jp/directconnect/
■Amazon VPCドキュメント
http://aws.amazon.com/jp/documentation/vpc /
■初心者向けWebinar AWS上でのネットワーク構築
http://www.slideshare.net/AmazonWebServicesJapan/webinar-aws-43351630
■Amazon VPC VPN接続設定 参考資料
http://adsj-contents.s3.amazonaws.com/misc/VPNConnectionInstruction-20141225.pdf
■AWS Marketplace
https://aws.amazon.com/marketplace
アジェンダ
• Amazon VPC 概要
• ネットワーク・セキュリティ
• Webシステム構成
• ハイブリッド構成
• VPC利用のポイント
• 価格
• Q&A
Q&A
次回Webinarのお申し込み
http://aws.amazon.com/jp/event_schedule/
Webinar資料の配置場所
• AWS クラウドサービス活用資料集
– http://aws.amazon.com/jp/aws-jp-introduction/
公式Twitter/Facebook
AWSの最新情報をお届けします
検索
@awscloud_jp
もしくは
http://on.fb.me/1vR8yWm
最新技術情報、イベント情報、お役立ち情報、お得なキャンペーン情報などを
日々更新しています!
ご参加ありがとうございました。