aws black belt techシリーズ amazon vpc
TRANSCRIPT
Amazon VPC (Virtual Private Cloud)
2015/04/15 (2016/07/14 Renewed)
AWS Black Belt Tech Webinar 2015
アマゾン データ サービス ジャパン株式会社
ソリューションアーキテクト 吉田英世
アジェンダ
• Amazon VPC 概要
• ネットワーク・セキュリティ
• Webシステム構成
• ハイブリッド構成
• VPC利用のポイント
• 価格
• 新機能
• Q&A
イントロダクション
AWS上でインターネットから
アクセス可能なアプリケーションを動作させたい。
AWS上で社内業務ア
プリケーションを動作させたい。
インターネットからアクセスできる領域を制限
したい。
社内とセキュアに接続させたい。
オンプレミス環境でのネットワークのイメージ
AWS上でネットワークを構築する場合は、ユーザーが物理的なハードウェアの導入・管理を行う必要はありません。
オンプレミス環境で構築したシステムの例
データセンター オフィス
管理者
管理者
踏み台
インターネットからアクセス可能なパブリック領域
インターネットから直接アクセスできないプライベート領域
エンドユーザ
LB
Web Web VPN
ルータVPN
ルータ
オフィスからのVPN接続
踏み台サーバ経由で各サーバへのリモートログイン
AWS上でもオンプレミス環境に類似した自社専用の仮想ネットワークを構築可能
データセンター オフィス
管理者
管理者
踏み台
インターネットからアクセス可能なPublic Subnet
インターネットから直接アクセスできないPrivate Subnet
エンドユーザ
LB
Web Web VPN
ルータVPN
ルータ
オフィスからのVPN接続
踏み台サーバを経由で各サーバへのリモートログイン
アジェンダ
• Amazon VPC 概要
• ネットワーク・セキュリティ
• ハイブリッド構成
• VPC利用のポイント
• 価格
• Q&A
Amazon VPC
• AWS上にプライベートネットワーク空間を構築– 社内からVPN接続して閉域網でAWS利用– 仮想ネットワーキング
• オンプレミスとのハイブリッドが簡単に実現– AWSが社内インフラの一部に見える 社内システム、ソフトウェアの移行がより容易に 例:業務システム、バッチ処理、ファイルサーバ
• より細やかにネットワーク関連の設定が可能• 全リージョンで利用可能
AWS上にプライベートのアドレス空間を作成し、お客様のインフラをAWS上に延長する
リージョン
EC2
VPCイントラプライベートサブネット
パブリックサブネット
Internet
VPC内に分離したサブネットを
自由に作成
VPN接続専用線
ゲートウェイ
VPN
DX
VPCを利用するメリット
• AWSアカウント登録をしたらすぐに利用可能
• 簡単に自社専用の仮想ネットワークを構築可能
• 物理的なデータセンターの利用契約やネットワーク機器の配備は不要
• インターネットからアクセスできない、社内ユーザのみアクセス可能な仮想ネットワークの構築が可能
• 仮想ネットワークの構築自体は無料
EC2-ClassicとVPC
EC2-Classic
すべてのインスタンスはインターネット接続を持ち、プライベートIPとパブリックIPが自動で割当てられる。
Default VPC
アカウント作成後にすでに設定されているVPC。VPC上のインスタンスはEC2-Classicと同じようにインターネット接続を持ち、プライベートIPとパブリックIPが自動で割当てられる。
削除するとユーザ側では復元できない。サポートへの問い合わせが必要。172.31.0.0/16(サブネットは/20)で固定。http://docs.aws.amazon.com/ja_jp/AmazonVPC/latest/UserGuide/default-vpc.html
VPC
ユーザ自身でネットワークの設定を行う。各種ネットワーク機能を利用可能。
・ENI・ルーティングテーブル・ネットワークACL・プライベートIPのみの利用
2013年4月12日以降に作成されたアカウントはVPCのみサポート、デフォルトVPCをすべてのリージョンで利用可能
VPCの構成要素
Elastic ネットワークインタフェース
CustomerGateway
バーチャルプライベートゲートウェイ
インターネットゲートウェイ
VPNコネクション
VPC
サブネットルートテーブル
Elastic IP
VPCPeering
仮想ルータ
VPC
Availability Zone A Availability Zone B
VPC CIDR: 10.1.0.0 /16
■仮想データセンターをAWS上に設定
■VPC内で利用するIPアドレスのブロック
を設定
- 通常であればプライベート
アドレス(RFC1918)を利用
- /28から/16のネットマスクを利用
■複数のアベイラビリティゾーンを利用
可能
作成後はVPCアドレスブロックは変更できないので注意!
サブネット
Subnet
Availability Zone A
Subnet
Availability Zone B
10.1.1.0/24 10.1.10.0/24
VPC CIDR: 10.1.0.0 /16
■VPCのIPアドレス範囲(CIDR)の中で設定
■アベイラビリティゾーン毎に設定
■アクセスコントロールリストにより
ネットワークレベルでのセキュリティ
を設定
■サブネット毎にルーティングを設定
■最小は/28(14IP)
■サブネット内の先頭の4つ、最後の1つの
IP以外をEC2インスタンス用に利用可能
インターネットゲートウェイ
Subnet
Availability Zone A
Subnet
Availability Zone B
10.1.1.0/24 10.1.10.0/24
Internet
Gateway
VPC CIDR: 10.1.0.0 /16
InternetAWS Public
API Endpoints
■IGW=Internet Gateway
■EC2インスタンスにインターネットへの
接続を提供
■VPCにアタッチすることで利用可能
■サブネットでルーティング指定
■単一障害点や帯域幅のボトルネック
は存在しない
バーチャルプライベートゲートウェイ
Subnet
Availability Zone A
Subnet
Availability Zone B
10.1.1.0/24 10.1.10.0/24
VPC CIDR: 10.1.0.0 /16
Virtual Private Gateway
Customer Gateway
VPN over the Internet
Corporate Data Center
■VGW=Virtual private Gateway
■オフィスやデータセンターなどの
オンプレミスとのVPN接続のための
エンドポイントとなる仮想ルータ
■Direct Connect(専用線)のエンド
ポイントとしても利用
■1つのVPCあたり1つのVGWのみ
アタッチ可能
■単一障害点や帯域幅のボトルネック
は存在しない
カスタマゲートウェイ
Subnet
Availability Zone A
Subnet
Availability Zone B
10.1.1.0/24 10.1.10.0/24
VPC CIDR: 10.1.0.0 /16
Virtual Private Gateway
Customer Gateway
Corporate Data Center
VPN over the Internet
■CGW=Customer Gateway
■オンプレミス側のVPN接続エンド
ポイントとなる物理または仮想の
デバイス
■通常はファイアウォールまたはルータ
を利用
http://docs.aws.amazon.com/ja_jp/AmazonVPC/latest/NetworkAdminGuide/Introduction.html
仮想ルータ
Public Subnet
Availability Zone A
Private Subnet
Public Subnet
Availability Zone B
Private Subnet
Instance A
10.1.1.11 /24
Instance C
10.1.3.33 /24
Instance B
10.1.2.22 /24
Instance D
10.1.4.44 /24
VPC CIDR: 10.1.0.0 /16
.1
.1 .1
.1
■デフォルトではVPC内のすべて
のサブネット間は疎通可能
(制御したい場合はNACL利用)
■サブネットのネットワーク
アドレス+1(.1)がすべての
サブネットのゲートウェイと
なる
VPNコネクション
Subnet
Availability Zone A
Subnet
Availability Zone B
10.1.1.0/24 10.1.10.0/24
VPC CIDR: 10.1.0.0 /16
Virtual Private Gateway
Customer Gateway
Corporate Data Center
VPN over the Internet
■VPCとオンプレミス間のVPN接続
■CGWとVGWの間でIPsecトンネル
が設定される
■1つのCGW(1つのパブリックIP)に対し
1つのVPNコネクションが設定される
■1つのVPCに対しては複数のVPN
コネクションが設定可能
ルートテーブル
Subnet
Availability Zone A
Subnet
Availability Zone B
10.1.1.0/24 10.1.10.0/24
Internet
Gateway
VPC CIDR: 10.1.0.0 /16
InternetAWS Public
API Endpoints
Route Table
Destination Target
10.1.0.0/16 local
0.0.0.0/0 igw
■どのネットワークに対する通信が
どこに対して転送されるべきかの
定義を記述
(例:インターネットへの通信はIGW)
■各サブネットに1つ設定
■1つのルーティングテーブルには複数の
サブネットが設定可能
■デフォルトではメインルートテーブルが
設定
Elastic IP
Availability Zone A Availability Zone B
Subnet: 10.1.1.0/24
Internet
Gateway
VPC CIDR: 10.1.0.0 /16
InternetAWS Public
API Endpoints
Route Table
Destination Target
10.1.0.0/16 local
0.0.0.0/0 igw
Subnet: 10.1.10.0/24
EIP EIP
■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 ネットワークインタフェース
Availability Zone A Availability Zone B
Subnet: 10.1.1.0/24
Internet
Gateway
VPC CIDR: 10.1.0.0 /16
InternetAWS Public
API Endpoints
Subnet: 10.1.10.0/24
ENI(eth0)
ENI(eth0)
Route Table
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ピア接続)
Availability Zone A
Subnet: 10.1.1.0/24
VPC CIDR: 10.1.0.0 /16
Availability Zone A
Subnet: 10.2.1.0/24
Route Table
Destination Target
10.2.0.0/16 local
0.0.0.0/0 pcx-xxxxxx
VPC CIDR: 10.1.0.0 /16 VPC CIDR: 10.2.0.0 /16
pcx-xxxxxx
■プライベートIPアドレスを利用して
2つのVPC間でトラフィックの
ルーティングが可能
■同一のAWSアカウントはもちろん、
異なるAWSアカウント間(クロス
アカウント)のVPC間をピア接続
することも可能
■単一障害点や帯域幅のボトルネック
は存在しない
■MTUに注意(VPC Peeringは1,500)
Route Table
Destination Target
10.1.0.0/16 local
0.0.0.0/0 pcx-xxxxxx
http://docs.aws.amazon.com/ja_jp/AmazonVPC/latest/UserGuide/vpc-peering.html
アジェンダ
• Amazon VPC 概要
• ネットワーク・セキュリティ
• Webシステム構成
• ハイブリッド構成
• VPC利用のポイント
• 価格
• Q&A
ネットワークアクセスコントロールリスト
Availability Zone A Availability Zone B
VPC Subnet with ACL VPC Subnet with ACL
■NACL=Network Access Control
List
■サブネット毎に設定するフィルタ
機能
■インバウンド、アウトバウンドを
サブネット毎に制御
■ステートレス
■デフォルトはすべて許可
http://docs.aws.amazon.com/ja_jp/AmazonVPC/latest/UserGuide/VPC_ACLs.html
セキュリティグループ
Availability Zone A Availability Zone B
Subnet: 10.1.1.0/24
VPC CIDR: 10.1.0.0 /16
Subnet: 10.1.10.0/24
■EC2インスタンスの仮想ファイア
ウォールとして機能
■1つのEC2インスタンスあたり5つの
セキュリティグループを設定可能
■ステートフル
■デフォルトですべての通信は禁止
■複数のEC2インスタンスを
グルーピング可能
http://docs.aws.amazon.com/ja_jp/AmazonVPC/latest/UserGuide/VPC_SecurityGroups.html
VPCセキュリティコントロール
Route Table
Route Table
Internet Gateway
Virtual Private Gateway
Virtual Router
VPC 10.1.0.0/16
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構成
Availability Zone A
Public Subnet:
10.1.1.0/24
VPC CIDR: 10.1.0.0 /16
PrivateSubnet:
10.1.1.0/24
Internet
Webサーバ
データベースサーバ
ロードバランサ + マルチAZを利用したWeb構成
Availability Zone A Availability Zone B
Public Subnet:
10.1.1.0/24
VPC CIDR: 10.1.0.0 /16
PrivateSubnet:
10.1.1.0/24
Public Subnet:
10.1.2.0/24
PrivateSubnet:
10.1.2.0/24
Internet
Webサーバ
データベースサーバ
アジェンダ
• 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/ISGMicrosoft 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/ISGPalo Alto Networks PAシリーズ (PANOS 4.1.2以降)Vyatta network OS 6.5以降ヤマハ RTX1200 ルーター https://aws.amazon.com/jp/vpc/faqs/#C9
カスタマゲートウェイのコンフィグレーション! --------------------------------------------------------------------------------! 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 200encryption aes 128authentication pre-sharegroup 2lifetime 28800hash 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
Availability ZoneAvailability Zone
VPC Subnet VPC Subnet
IPSEC
VPN
Virtual Private Gateway
Router
72.21.209.193Router
72.21.209.225
Tunnel 1 Tunnel 2
Customer Gateway
xxx.xxx.xxx.xxx
Customer Network
IPSEC
VPN
VPN構成例(カスタマゲートウェイ冗長化)
Virtual Private Cloud
Availability ZoneAvailability Zone
VPC Subnet VPC Subnet
Tunnel 1
Virtual Private Gateway
Router
72.21.209.193Router
72.21.209.225
Customer Gateway
xxx.xxx.xxx.xxx
Customer Network
Customer Gateway
xxx.xxx.xxx.yyy
Tunnel 2Tunnel 2Tunnel 1
Tunnel 2Tunnel 2
マルチVPNコネクション
Virtual Private Cloud
Availability ZoneAvailability Zone
VPC Subnet VPC Subnet
Customer Gateway
Customer Network
New York
VPN
Router Virtual Private Gateway
Customer Gateway
Customer Network
Chicago
VPN
Customer Gateway
Customer Network
Los Angeles
VPN
AWS Direct Connect
お客様
AWS CloudEC2, S3などのPublic サービス
Amazon VPC
相互接続ポイント専用線サービス
AWSとお客様設備(データセンター、オフィス、またはコロケーション)
の間に専用線を利用したプライベート接続を提供するサービス
AWS Direct ConnectによるVPC接続
Customer
Data Center
AWS Direct Connect
location
AWS Direct Connect のプライベート仮想インタフェースはVPC上のVGWに接続• 1プライベート仮想インタフェースあたり
1VPC• VLANで分割
Public-Facing
Web App
AWS
RegionProd QA Dev
Internal
Company AppsInternal
Company Apps
Internal
Company Apps
PVI1 PVI2 PVI3 PVI4 PVI5
AWS Public
API Endpoints
キャリア様の専用線でDirect Connectの相互接続ポイントとお客様拠点を接続
VPNとDirect Connectによる冗長構成
Virtual Private Cloud
Availability ZoneAvailability Zone
VPC Subnet VPC Subnet
Tunnel 1
Virtual Private Gateway
Router
72.21.209.193Router
72.21.209.225
Customer Gateway
xxx.xxx.xxx.xxx
Customer Network
Customer Gateway
xxx.xxx.xxx.yyy
Tunnel 2Tunnel 2Tunnel 1
Tunnel 2Tunnel 2
Customer Gateway
xxx.xxx.xxx.AAA
Customer Gateway
xxx.xxx.xxx.BBB
通常時はDirect Connectを
利用
BGPによるルーティングを推奨
アジェンダ
• Amazon VPC 概要
• ネットワーク・セキュリティ
• Webシステム構成
• ハイブリッド構成
• VPC利用のポイント
• 価格
• Q&A
VPC内のDHCP
ENI(eth0)
MACアドレスプライベートIP
の割当て
DHCP機能
VPC Subnet
■EC2インスタンスが利用するプライ
ベートIP、MACアドレスはVPC内の
DHCP機能(サブネットのネットワーク
アドレス+2)により割当てられる
■ホスト名を割り当てることはできない
■プライベートIPを固定にした場合
DHCP経由で該当のIPが割当て
られる
(EC2インスタンスのOS上のNIC
設定はDHCP設定とする)
DHCP Option Set
• VPCのDHCP機能の設定変更が可能
http://docs.aws.amazon.com/ja_jp/AmazonVPC/latest/UserGuide/VPC_DHCP_Options.html
パラメータ 内容
domain-name ドメイン名の指定
domain-name-serversDNS DNSサーバの指定
ntp-servers NTPサーバの指定
netbios-name-servers NetBIOSサーバの指定
netbios-node-type NetBIOSノードタイプ
Amazon DNS サーバー
■Amazon Provided DNS
■VPCのネットワーク範囲(CIDR)のアドレスに+2をプラスしたIP(10.0.0.0/16の場合は10.0.0.2)
■VPC内のEC2インスタンスからのみ参照可能(VPNなどで接続されているオンプレミスからは参照不可)
http://docs.aws.amazon.com/ja_jp/AmazonVPC/latest/UserGuide/VPC_DHCP_Options.html#AmazonDNS
Subnet
Availability Zone A
Subnet
Availability Zone B
10.1.1.0/24 10.1.10.0/24
VPC CIDR: 10.1.0.0 /16
Corporate Data Center
Amazon Provided DNS
10.1.0.2
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(動的)を割り当てる。
Availability Zone A
Internet
Gateway
Internet
Route Table
Destination Target
10.1.0.0/16 local
0.0.0.0/0 igw
Private Subnet:
10.1.10.0/24
10.1.10.100
54.xxx.xxx.xxx
パブリックIPを自動割当て
インターネット接続:Elastic IPの割当て
EC2インスタンスにElastic IP(固定パブリックIP)をを割り当てる。
Availability Zone A
Internet
Gateway
Internet
Route Table
Destination Target
10.1.0.0/16 local
0.0.0.0/0 igw
Private Subnet:
10.1.10.0/24
10.1.10.100
54.xxx.xxx.xxx
パブリックIPを固定で割当て
EIP
インターネット接続:NATインスタンス■インターネットと直接通信できない
プライベートネットワークに対し、
インターネットへの経路を確保する
■プライベートネットワークの
ルーティングテーブルでデフォルト
ルートをNATインスタンスに向ける
■AWS上にNAT用のEC2 AMIあり
■パッチダウンロードやAWSクラウド
上のサービス(S3など)へのアクセス
確保に利用
■高可用性を別途検討
Availability Zone A Availability Zone B
Public Subnet:
10.1.1.0/24
Internet
GatewayVPC CIDR: 10.1.0.0 /16
InternetAWS Public
API Endpoints
Route Table
Destination Target
10.1.0.0/16 local
0.0.0.0/0 igw
Private Subnet:
10.1.10.0/24
Route Table
Destination Target
10.1.0.0/16 local
0.0.0.0/0 NAT
インターネット接続:オンプレミス経由
専用線(Dicrect Connect)などでお客様のオンプレミス拠点を接続し、インターネットトラフィックをオンプレミス経由とする。
Availability Zone ARoute Table
Destination Target
10.1.0.0/16 local
0.0.0.0/0 vgw
Private Subnet:
10.1.10.0/24
専用線Direct Connect
お客様拠点
Internet
プライベートサブネットからAWSクラウドへのアクセス
プライベートサブネットから“VPC外”にエンドポイントがあるサービスにアクセスするためにインターネット接続が必要。
virtual private cloud
VPC subnet
RDS DB instance
RDS DB instance standby
(Multi-AZ)
EC2instances
Elastic LoadBalancing
ElastiCachenode
Amazon S3
AmazonDynamoDB
AmazonSimple Queue
Service
Internet gateway
VPC内の特定ルートの設定は不可
Availability Zone B
Public Subnet
Availability Zone A
Private Subnet
Public Subnet
Private Subnet
Instance A
10.1.1.11 /24
Instance C
10.1.3.33 /24
Instance B
10.1.2.22 /24
Instance D
10.1.4.44 /24
VPC CIDR: 10.1.0.0 /16
Route Table
Destination Target
10.1.0.0/16 local
10.1.1.0/24 InstanceB
注意すべきネットワーク構成
• VPN、AWS Direct Connect、VPC Peeringでの接続においては以下のように2ホップ以上先のネットワークとの通信はできない。
10.1.0.0/16
10.0.0.0/16
10.2.0.0/16
C
10.1.0.0/1610.2.0.0/16
C
ENIの便利な利用例
HA構成時のフェイルオーバー メール送信サーバ(SMTPリレー用)
ENI
VPC subnet
VPC subnetENI
ENI
ENIの付け替え
ENI
VPC subnet
ENI
ENI
ENI
異なるIPからメール送信
※ENIはAZをまたぐことはできないので要注意
VPCのリミット関連
• デフォルトの上限値が増加したものもあり– http://docs.aws.amazon.com/AmazonV
PC/latest/UserGuide/VPC_Appendix_Limits.html
• Webサイトから制限解除申請可能– http://aws.amazon.com/jp/contact-
us/vpc-request/
• 不明点はAWSサポートや担当営業までお問い合わせください。
ブロードキャストとマルチキャスト
172.31.16.124
172.31.28.164
172.31.47.71
Subnet 172.31.16.0/20 Subnet 172.31.32.0/20
App1,192.168.0.12/24
App1,192.168.0.11/24
App1,192.168.0.10/24
• ブロードキャストとマルチキャストはVPC内で通信できないため、GREまたはL2TPのトンネル等によりオーバーレイで実装する必要がある
VPCを分割するケース(例)
• アプリケーションによる分割
• 監査のスコープによる分割
• リスクレベルによる分割
• 本番/検証/開発
• 部署による分割
• 共通サービスの切り出し
共通サービスのVPC Peering利用
以下のような共通サービス用VPC-Aを中心にサービス用VPCをスター型に配置
・ログ収集
・モニタリング
・リモート管理
・スキャニング
AWS
region
Public-facing
web app
Internal
company
app #1
HA pair
VPN
endpointscompany data center
Internal
company
app #2
Internal
company
app #3
Internal
company
app #4
Services
VPC
Internal
company
Dev
Internal
company
QA
AD, DNS
Monitoring
Logging
ソフトウェアファイアウォールの利用
Availability Zone A Availability Zone B
Public Subnet:
10.1.1.0/24
Internet
GatewayVPC CIDR: 10.1.0.0 /16
Internet
Route Table
Destination Target
10.1.0.0/16 local
0.0.0.0/0 igw
Private Subnet:
10.1.10.0/24
Route Table
Destination Target
10.1.0.0/16 local
0.0.0.0/0 NAT/F
W
marketplaceからISVパートナーの製品を選択可能
リージョン間のVPC間接続例
Public Subnet:
10.1.0.0/24
Availability Zone A
Private Subnet:
10.1.10.0/24
東京リージョン
Public Subnet:
10.2.0.0/24
Availability Zone A
Private Subnet:
10.2.10.0/24
シンガポールリージョン
インターネットVPN
ソフトウェアVPNルータを
EC2で構築し、インターネット
VPNで接続
EC2-ClassicからVPCへの移行(ClassicLink)
■EC2-ClassicからVPCへのシームレスな
接続環境を提供■EC2-Classic上のインスタンスをVPC
上のセキュリティグループへ追加することが可能
■EC2-ClassicからVPCへの移行に利用
RDS DB
Instance
Amazon
Route 53
ELB
RDS DB
Instance
EC2-Classic VPC
VPC上のRDSを参照可能
データベース移行
DNSにより並行運用or切り替え
アジェンダ
• Amazon VPC 概要
• ネットワーク・セキュリティ
• Webシステム構成
• ハイブリッド構成
• VPC利用のポイント
• 価格
• Q&A
VPCの価格
• VPCの利用は無料
• VPNを利用する場合は1時間あたり$0.05/VPN接続(¥4,500/月、1$=120円)
• トラフィックはデータ転送量に応じてVPCからみたアウトバウンドに対して課金
VPC環境の通信費用(東京リージョン)
Availability Zone Availability Zone
Direct Connect
VPN Connection
S3,Glacier,
Dynamo,etc…
In: $0.00Out: $0.00
In: $0.01
Out: $0.01
In: $0.01
Out: $0.01In: $0.00
Out: $0.00
Private IP Public IP
In: $0.00
Out: $0.00
Internet
In: $0.00
Out: $0.042
In: $0.00
Out: $0.140~
In: $0.00
Out: $0.140~
ELB
Cloudfront
Other
Region
ELB
In: $0.00
Out: $0.09
アジェンダ• Amazon VPC 概要
• ネットワーク・セキュリティ
• Webシステム構成
• ハイブリッド構成
• VPC利用のポイント
• 価格
• 新機能
• Q&A
新機能 (VPCエンドポイント)
新機能:S3のVPCエンドポイント
Availability Zone A
pl-xxxxxxxx
Route Table
Destination Target
10.1.0.0/16 local
pl-xxxxxxxx vpce-xxxxxxxx
Private Subnet:
10.1.10.0/24
vpcendpoint
S3 Prefix ■VPCエンドポイントをVPCに作成し、
プライベートサブネットからAWS
クラウド上のS3バケットにアクセス
が可能
■VPCエンドポイントを作成し、ルート
テーブルの宛先にS3のプレフィックス、
ターゲットにVPCエンドポイントを
指定することでS3への通信がVPC
エンドポイントを経由
■VPCエンドポイントポリシーでアクセス
制御が可能
■追加費用なし(トラフィック課金もなし)
vpce-xxxxxxxx
新しいオブジェクト
宛先のAWSクラウド上のサービスを特定するためのID該当のサービスで利用されているパブリックIPの集まりルートテーブルの宛先やセキュリティグループのOutboundの宛先に指定プレフィックスリスト名は”com.amazonaws.<region>.s3”
サービスのプレフィックスリストID (pl-xxxxxxxxx)
VPCエンドポイントを作成したら生成されるオブジェクトルートテーブルのターゲットに設定
VPCエンドポイントID (vpce-xxxxxxxxx)
VPCエンドポイントへアクセスを許可するためのポリシー
エンドポイントポリシー
VPCエンドポイントのメリット
• S3アクセスのためのインターネットゲートウェイやNATインスタンスが不要– NATインスタンスの冗長化も考慮しなくて良い
– NATインスタンスの性能に影響を受けない
• 安全、高い信頼性
• 設定が簡単(2ステップのみ)
• 今後対象サービスの追加予定
注意事項
• ネットワークACLの宛先にプレフィックスリストIDを指定することはできない
• VPCが稼働中のリージョンと異なるリージョンを接続することはできない
• タグは未対応
• VPCエンドポイントは移動できない
• VPN、AWS Direct Connect、VPC Peering、ClassicLinkの接続先からVPCエンドポイントを利用することはできない
• S3のバケットポリシー/IAMポリシーでVPC内のプライベートIPを記述することはできない(エンドポイントの記述は可能)
移行について
Availability Zone A
pl-xxxxxxxx
Private Subnet:
10.1.10.0/24
vpcendpoint
S3 Prefix
vpce-xxxxxxxx
Public Subnet:
10.1.0.0/24
VPC endpointを優先
■既存のVPCにエンドポイントを追加する
だけでOK
■一つのルートテーブルにインターネット
向けとサービスプレフィックス向けの
経路がある場合、サービスプレフィックス
向けを優先(ロンゲストマッチ)
■VPCエンドポイント作成時、S3へ接続中
の通信は一時的に影響を受ける
■NATインスタンスと並用可能
Route Table
Destination Target
10.1.0.0/16 local
0.0.0.0/0 NATインスタンス
pl-xxxxxxxx vpce-xxxxxxxx
新機能 (VPC Flow Logs)
VPC Flow Logsとは
■ネットワークトラフィックをキャプチャし、CloudWatch LogsへPublishする機能
■ネットワークインタフェースを送信元/送信先とするトラフィックが対象
■セキュリティグループとネットワークACLのルールでaccepted/rejectされたトラフィックログを取得
■キャプチャウインドウと言われる時間枠(約10分間)で収集、プロセッシング、保存
■RDS, Redshift、ElasticCache、WorkSpacesのネットワークインタフェーストラフィックも取得可能
■追加料金はなし(CloudWatch Logsの標準料金は課金)
VPC Flow Logsのユースケース
■ネットワークのトラブルシュート疎通ができないのはネットワーク設定の影響?
■ネットワークトラフィックの監査いつ、どの通信元からどのようなアクセスがあったか?
■ネットワークトラフィック監視不正な通信を検知してアラート
■ネットワークトラフィック統計情報プロトコル別、通信元IP別・・・
構成イメージ
セキュリティグループ
ネットワークACL
Log Group
CloudWatch Logs
ネットワークインタフェース(ENI)
Log Stream
VPC Flow Logs
VPC
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
172.168.1.12 172.168.1.11
49761 3389 6 20 4249
1418530010 1418530070 REJECT OK
実際のレコード
Version account-id interface-id
srcaddr dsraddr
protocol packet bytes
start end action log-status
srcport dstport
その他のレコード
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メトリックフィルターとアラート作成
http://docs.aws.amazon.com/ja_jp/AmazonVPC/latest/UserGuide/flow-logs.html#flow-logs-cw-alarm-example
[version, account, eni, source, destination, srcip, destip="22", protocol="6", packets, bytes, windowstart, windowend,
action="REJECT", flowlogstatus]
22/tcp(SSH)でREJECTされた通信をフィルタ
CloudWatch LogsのMetric Filterで監視
トラフィックログ収集
アラート通知
CloudWatch Logs Metric Filter作成
VPC CloudWatch アラート
利用例:Elasticsearch + kibanaによる可視化
VPC CloudWatchLogs
AWS SDKなど
Elasticsearch kibana
APIでイベントを取り出す
整形してElasticsearchへ
PUT
よくある質問
Q. セキュリティグループとネットワークACLのどちらで取得されたログか判別できますか?
A. できません。
Q. パケットの中身を見ることはできますか?A. ペイロードの中身を見ることはできません。
Q. どれくらいの期間保存しておくことが可能ですか?A. CloudWatch Logsにより永久保存が可能です。
新機能 (NAT Gateway)
NAT Gatewayとは?
• 高パフォーマンス (最大10Gbpsバースト)
• 高可用性(ビルトインで冗長化)
• AWSによるマネージドNATサービス
• EIPの割当て可能
• Flow Logsによるトラフィックログ取得可能
• TCP,UDP,ICMP通信をサポート
• ネットワークACLによるアクセスコントロール
• CloudTrailのサポート
NAT Gateway導入のメリット
• マネージドのため運用コストが低い
• 高いパフォーマンス
• 既存NATインスタンスからの移行も簡単
• 既存EIPも流用可能
従来のNATインスタンスのベストプラクティス
Public Subnet 1
VPC
Availability Zone 1
NATInstance
Private Subnet 1
Public Subnet 2
Availability Zone 2
NATInstance
Private Subnet 2
http://aws.clouddesignpattern.org/index.php/CDP:High_Availability_NAT%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3
・NATインスタンスのモニタリングの仕組みを用意・ルートテーブルの書き換えのスクリプト・NATインスタンスのスケールアウトも考慮
0/0 – NAT-B
0/0 – NAT-A
Monitormonitor
NAT Gatewayのベストプラクティス
Public Subnet 1
VPC
Availability Zone 1
NATGateway
Private Subnet 1
Public Subnet 2
Availability Zone 2
NATGateway
Private Subnet 2
0/0 – NAT-B0/0 – NAT-A
・NAT Gatewayを各AZのパブリックサブネットに作成
・各AZのプライベートサブネットにそれぞれルートテーブルを作成し、同じAZ内のNAT Gatewayにデフォルトルートを設定
AZレベルの障害に対応
価格
NAT Gatewayの利用時間
Gigaバイト毎のデータ処理
データ転送量+ +
Region: US East(N.Virginia)
US West(Oregon)
US West (N.California)
EU(Ireland)
Asia Pasific(Singapore)
Asia Pasific(Sydney)
Asia Pacific (Tokyo)
Asia Pacific (Seoul)
Asia Pacific (Mumbai)
Price per NAT gateway ($/hour):
0.045 0.045 0.048 0.048 0.059 0.059 0.062 0.059 0.056
Price per GB data processed ($):
0.045 0.045 0.048 0.048 0.059 0.059 0.062 0.059 0.056
NAT Gateway vs NATインスタンス
項目 NAT Gateway NATインスタンス
可用性 各AZのNAT Gatewayは冗長化されている
スクリプトを利用してNATインスタンス単位でフェールオーバー
帯域 10Gbps(バースト)まで インスタンスタイプによる
メンテナンス AWSのマネージド ユーザにてメンテナンス
コスト 利用時間、NATを経由したデータ量(プロセス)に課金
利用時間
http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-nat-comparison.html
NAT Gatewayの作成は2ステップのみ
まとめ
• VPCを利用することで、さまざまな要件に合わせた
ネットワークを簡単に作成することが可能
• 複数のAZを利用することで高い可用性を維持することが可能
• VPNやDirect Connect(専用線)とオンプレミスを利用したハイブリッド構成でそれぞれの長所を活かしたシステムを構築することが可能
• 新機能を活用し、負担の少ないネットワーク運用が可能
参考資料
■Amazon VPChttp://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 Marketplacehttps://aws.amazon.com/marketplace
アジェンダ
• Amazon VPC 概要
• ネットワーク・セキュリティ
• Webシステム構成
• ハイブリッド構成
• VPC利用のポイント
• 価格
• Q&A
Q&A
次回Webinarのお申し込み
http://aws.amazon.com/jp/event_schedule/
AWS Summit Tokyo 2015
参加登録受付中!
http://bit.ly/1CHJg1j
Webinar資料の配置場所
• AWS クラウドサービス活用資料集– http://aws.amazon.com/jp/aws-jp-introduction/
公式Twitter/FacebookAWSの最新情報をお届けします
@awscloud_jp
検索
最新技術情報、イベント情報、お役立ち情報、お得なキャンペーン情報などを日々更新しています!
もしくはhttp://on.fb.me/1vR8yWm
AWS初心者向けWebinar
• AWSをこれからご使用になる向けのソリューションカットのオンラインセミナー
• 今後の配信予定
– 4/23(木) 利用者が実施するAWS上でのセキュリティ対策
※18時~19時15分の時間帯です!
• 申し込みサイト– http://aws.amazon.com/jp/about-aws/events/
次回のAWS Black Belt Tech Webinar は、
4月22日 18:00~
Amazon S3
ご参加ありがとうございました。