Amazon VPC (Virtual Private Cloud) 2015/04/15 (2016/01/18 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 プライベートサブネット パブリックサブネット ゲートウェイ Internet VPN DX
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 仮想ルータ VPC Peering サブネット バーチャルプライベートゲートウェイ VPN コネクション ルートテーブル Elastic ネットワークインタフェース
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 10.1.10.0/24 Subnet Subnet Availability Zone A Availability Zone B VPC CIDR: 10.1.0.0 /16 VPCのIPアドレス範囲 (CIDR) の中で設定 アベイラビリティゾーン毎に設定 アクセスコントロールリストによりネットワークレベルでのセキュリティを設定 サブネット毎にルーティングを設定 最小は /28(14IP) サブネット内の先頭の4つ 最後の1つの IP 以外をEC2インスタンス用に利用可能
インターネットゲートウェイ AWS Public API Endpoints Internet 10.1.1.0/24 10.1.10.0/24 Subnet Availability Zone A Internet Gateway Subnet Availability Zone B VPC CIDR: 10.1.0.0 /16 IGW=Internet Gateway EC2インスタンスにインターネットへの接続を提供 VPCにアタッチすることで利用可能 サブネットでルーティング指定 単一障害点や帯域幅のボトルネックは存在しない
バーチャルプライベートゲートウェイ Corporate Data Center 10.1.1.0/24 10.1.10.0/24 Subnet VPN over the Internet Availability Zone A Customer Gateway Virtual Private Gateway Subnet Availability Zone B VGW=Virtual private Gateway オフィスやデータセンターなどのオンプレミスとのVPN 接続のためのエンドポイントとなる仮想ルータ Direct Connect( 専用線 ) のエンドポイントとしても利用 1つのVPCあたり1つのVGWのみアタッチ可能 単一障害点や帯域幅のボトルネックは存在しない VPC CIDR: 10.1.0.0 /16
カスタマゲートウェイ Corporate Data Center VPN over the Internet Customer Gateway Virtual Private Gateway CGW=Customer Gateway オンプレミス側のVPN 接続エンドポイントとなる物理または仮想のデバイス 通常はファイアウォールまたはルータを利用 10.1.1.0/24 10.1.10.0/24 Subnet Availability Zone A 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 デフォルトでは VPC 内のすべて のサブネット間は疎通可能 Instance A 10.1.1.11 /24 Instance B 10.1.2.22 /24 ( 制御したい場合はNACL 利用 ) サブネットのネットワーク Public Subnet.1.1 Public Subnet アドレス +1(.1) がすべてのサブネットのゲートウェイと Instance C 10.1.3.33 /24.1.1 Instance D 10.1.4.44 /24 なる Private Subnet Private Subnet Availability Zone A Availability Zone B
VPN コネクション Corporate Data Center VPN over the Internet Customer Gateway Virtual Private Gateway 10.1.1.0/24 10.1.10.0/24 VPCとオンプレミス間のVPN 接続 CGWとVGWの間でIPsecトンネルが設定される 1つのCGW(1つのパブリックIP) に対し 1つのVPNコネクションが設定される 1つのVPCに対しては複数のVPN コネクションが設定可能 Subnet Availability Zone A Subnet Availability Zone B VPC CIDR: 10.1.0.0 /16
ルートテーブル AWS Public API Endpoints 10.1.1.0/24 10.1.10.0/24 Subnet Availability Zone A Route Table Destination Internet Target Internet Gateway Subnet Availability Zone B VPC CIDR: 10.1.0.0 /16 どのネットワークに対する通信がどこに対して転送されるべきかの定義を記述 ( 例 : インターネットへの通信はIGW) 各サブネットに1つ設定 1つのルーティングテーブルには複数のサブネットが設定可能 デフォルトではメインルートテーブルが設定 10.1.0.0/16 local 0.0.0.0/0 igw
Elastic IP AWS Public API Endpoints EIP Subnet: 10.1.1.0/24 Availability Zone A Route Table Destination Internet Target 10.1.0.0/16 local 0.0.0.0/0 igw Internet Gateway EIP Subnet: 10.1.10.0/24 Availability Zone B VPC CIDR: 10.1.0.0 /16 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 Subnet: 10.2.1.0/24 Availability Zone A Availability Zone A Route Table Route Table Destination Target 10.1.0.0/16 local 0.0.0.0/0 pcx-xxxxxx VPC CIDR: 10.1.0.0 Destination /16 Target 10.2.0.0/16 local 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 Route Table Internet Gateway Virtual Router Route Table Virtual Private Gateway
Network ACL vs セキュリティグループ Network ACL サブネットレベルで効果 Allow/Deny を IN OUT で指定可能 ( ブラックリスト型 ) ステートレスなので 戻りのトラフィックも明示的に許可設定する 番号の順序通りに適用 サブネット内のすべてのインスタンスが ACL の管理下に入る セキュリティグループ サーバレベルで効果 Allow のみを IN OUT で指定可能 ( ホワイトリスト型 ) ステートフルなので 戻りのトラフィックを考慮しなくてよい 全てのルールを適用 インスタンス管理者がセキュリティグループを適用すればその管理下になる
アジェンダ Amazon VPC 概要 ネットワーク セキュリティ Webシステム構成 ハイブリッド構成 VPC 利用のポイント 価格 Q&A
Web システムの構成のポイント Web サーバなどインターネットと直接通信が必要なリソースはパブリックのサブネットへ配置 オンプレミスで DMZ に置かれていたリソース セキュリティグループを利用して必要な通信を許可 データベースなどインターネットと直接通信が不要なリソースはプライベートのサブネットへ配置 オンプレミスでセキュアネットワークに置かれていたリソース セキュリティグループを利用してパブリックサブネット上のリソースからの通信のみを許可 パッチの適用などでインターネット通信が必要な場合は NAT インスタンスを配置 ( 後述 ) アーキテクチャセンター :http://aws.amazon.com/jp/architecture/
シンプルな Web 構成 Internet Public Subnet: 10.1.1.0/24 Web サーバ PrivateSubnet: 10.1.1.0/24 Availability Zone A データベースサーバ VPC CIDR: 10.1.0.0 /16
ロードバランサ + マルチ AZ を利用した Web 構成 Internet Public Subnet: 10.1.1.0/24 Public Subnet: 10.1.2.0/24 Web サーバ PrivateSubnet: 10.1.1.0/24 Availability Zone A PrivateSubnet: 10.1.2.0/24 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 以降ヤマハ RTX1200 ルーター https://aws.amazon.com/jp/vpc/faqs/#c9
カスタマゲートウェイのコンフィグレーション http://docs.aws.amazon.com/ja_jp/amazonvpc/latest/networkadminguide/introduction.html! --------------------------------------------------------------------------------! 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.!
VPN 構成例 ( シングル接続 ) Virtual Private Cloud Availability Zone VPC Subnet Availability Zone VPC Subnet Router 72.21.209.193 Virtual Private Gateway Router 72.21.209.225 Tunnel 1 Tunnel 2 IPSEC VPN IPSEC VPN Customer Gateway xxx.xxx.xxx.xxx Customer Network
VPN 構成例 ( カスタマゲートウェイ冗長化 ) Virtual Private Cloud Availability Zone VPC Subnet Availability Zone VPC Subnet Router 72.21.209.193 Tunnel 1 Virtual Private Gateway Router 72.21.209.225 Tunnel 2 Tunnel 2 Tunnel 2 Tunnel 2 Tunnel 1 Customer Gateway xxx.xxx.xxx.xxx Customer Network Customer Gateway xxx.xxx.xxx.yyy
マルチ VPN コネクション Customer Gateway VPN Customer Network Los Angeles Customer Gateway Availability Zone VPC Subnet Availability Zone VPC Subnet VPN Customer Network Chicago VPN Customer Gateway Router Virtual Private Cloud Virtual Private Gateway 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 による冗長構成 Virtual Private Cloud BGP によるルーティングを推奨 Availability Zone VPC Subnet Availability Zone VPC Subnet 通常時は Direct Connect を利用 Router 72.21.209.193 Tunnel 1 Virtual Private Gateway Router 72.21.209.225 Tunnel 2 Tunnel 2 Tunnel 2 Tunnel 2 Tunnel 1 Customer Gateway xxx.xxx.xxx.xxx Customer Network Customer Gateway xxx.xxx.xxx.yyy Customer Gateway xxx.xxx.xxx.aaa Customer Gateway xxx.xxx.xxx.bbb
アジェンダ Amazon VPC 概要 ネットワーク セキュリティ Webシステム構成 ハイブリッド構成 VPC 利用のポイント 価格 Q&A
VPC 内の DHCP ENI (eth0) VPC Subnet DHCP 機能 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 ntp-servers netbios-name-servers netbios-node-type 内容ドメイン名の指定 DNSサーバの指定 NTPサーバの指定 NetBIOSサーバの指定 NetBIOSノードタイプ http://docs.aws.amazon.com/ja_jp/amazonvpc/latest/userguide/vpc_dhcp_options.html
Amazon DNS サーバー Corporate Data Center Amazon Provided DNS Subnet Availability Zone A Amazon Provided DNS 10.1.0.2 10.1.1.0/24 10.1.10.0/24 Subnet Availability Zone B VPC のネットワーク範囲 (CIDR) のアドレスに +2 をプラスした IP (10.0.0.0/16 の場合は 10.0.0.2) VPC 内の EC2 インスタンスからのみ参照可能 (VPN などで接続されているオンプレミスからは参照不可 ) 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 Public Subnet Instance B 10.1.2.22 /24 Public Subnet Private Subnet Route Table Destination Instance C 10.1.3.33 /24 Availability Zone A Target 10.1.0.0/16 local 10.1.1.0/24 InstanceB Instance D 10.1.4.44 /24 Private Subnet 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 構成時のフェイルオーバーメール送信サーバ (SMTP リレー用 ) ENI ENI ENI VPC subnet ENI ENI 異なる IP からメール送信 ENI ENI の付け替え VPC subnet VPC subnet ENI ENI は AZ をまたぐことはできないので要注意
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 #1 Internal company Dev Internal company app #2 Services VPC AD, DNS Monitoring Logging Internal company app #3 Internal company app #4 Internal company QA 以下のような共通サービス用 VPC-A を中心にサービス用 VPC をスター型に配置 ログ収集 モニタリング リモート管理 スキャニング company data center HA pair VPN endpoints
ソフトウェアファイアウォールの利用 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 で接続 東京リージョン Public Subnet: 10.1.0.0/24 インターネット VPN シンガポールリージョン Public Subnet: 10.2.0.0/24 Private Subnet: 10.1.10.0/24 Availability Zone A Private Subnet: 10.2.10.0/24 Availability Zone A
EC2-Classic から VPC への移行 (ClassicLink) ELB Amazon Route 53 VPC 上の RDS を参照可能 DNS により並行運用 or 切り替え EC2-Classic から VPC へのシームレスな 接続環境を提供 EC2-Classic 上のインスタンスを VPC 上のセキュリティグループへ追加することが可能 EC2-Classic から VPC への移行に利用 RDS DB Instance RDS DB Instance EC2-Classic データベース移行 VPC
アジェンダ Amazon VPC 概要 ネットワーク セキュリティ Webシステム構成 ハイブリッド構成 VPC 利用のポイント 価格 Q&A
VPC の価格 VPC の利用は無料 VPN を利用する場合は 1 時間あたり $0.05/VPN 接続 ( 4,500/ 月 1$=120 円 ) トラフィックはデータ転送量に応じて VPC からみたアウトバウンドに対して課金
VPC 環境の通信費用 ( 東京リージョン ) Internet ELB S3, Glacier, Dynamo, etc In: $0.00 Out: $0.00 In: $0.00 Out: $0.140~ In: $0.00 Out: $0.09 ELB Private IP In: $0.00 Out: $0.00 Public IP In: $0.01 Out: $0.01 In: $0.00 Out: $0.042 Direct Connect Other Region Cloudfront In: $0.00 Out: $0.00 Availability Zone In: $0.01 Out: $0.01 Availability Zone VPN Connection In: $0.00 Out: $0.140~
アジェンダ Amazon VPC 概要 ネットワーク セキュリティ Web システム構成 ハイブリッド構成 VPC 利用のポイント 価格 新機能 Q&A
新機能 (VPC エンドポイント )
新機能 :S3 の VPC エンドポイント Route Table Destination Target 10.1.0.0/16 local S3 Prefix pl-xxxxxxxx vpc endpoint Private Subnet: 10.1.10.0/24 Availability Zone A vpce-xxxxxxxx VPCエンドポイントをVPCに作成し プライベートサブネットからAWS クラウド上のS3バケットにアクセスが可能 VPCエンドポイントを作成し ルートテーブルの宛先にS3のプレフィックス ターゲットにVPCエンドポイントを指定することでS3への通信がVPC エンドポイントを経由 VPCエンドポイントポリシーでアクセス制御が可能 追加費用なし ( トラフィック課金もなし ) pl-xxxxxxxx vpce-xxxxxxxx
新しいオブジェクト サービスのプレフィックスリスト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 セキュリティグループ ネットワーク ACL ネットワークインタフェース (ENI)
Flow Log レコードの項目 フィールド 説明 version VPC flow logsのバージョン account-id flow logを取得したawsアカウント interface-id ログストリームが適用されているネットワークインタフェースのID srcaddr 送信元アドレス ( ) dsraddr 送信先アドレス ( ) srcport 送信元ポート dsrport 送信先ポート protocol IANAで定義されたプロトコル番号 packets キャプチャウインドウの中で取得したパケット数 bytes start end action log-status キャプチャウインドウの中で取得したバイト数キャプチャウインドウ開始時のUNIX 時間キャプチャウインドウ終了時のUNIX 時間トラフィックのアクション (ACCEPT/REJECT) ログステータス (OK/NODATA/SKIPDATA) Flow Log レコード : http://docs.aws.amazon.com/amazonvpc/latest/userguide/flow-logs.html#flow-log-records
実際のレコード 2 123456789010 eni-abc123de Version account-id interface-id 172.168.1.12 172.168.1.11 srcaddr dsraddr 49761 3389 6 20 4249 srcport dstport protocol 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 でイベントを取り出す 整形して Elasticsearch へ PUT VPC CloudWatch Logs AWS SDK など Elasticsearch kibana
よくある質問 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 インスタンスのベストプラクティス monitor Monitor NAT Instance Public Subnet 1 0/0 NAT-A NAT Instance Public Subnet 2 NAT インスタンスのモニタリングの仕組みを用意 ルートテーブルの書き換えのスクリプト NAT インスタンスのスケールアウトも考慮 Private Subnet 1 0/0 NAT-B Private Subnet 2 Availability Zone 1 VPC Availability Zone 2 http://aws.clouddesignpattern.org/index.php/cdp:high_availability_nat%e3%83%91%e3%82%bf%e3%83%bc%e3%83%b3
NAT Gateway のベストプラクティス NAT Gateway Public Subnet 1 0/0 NAT-A NAT Gateway Public Subnet 2 0/0 NAT-B NAT Gateway を各 AZ のパブリックサブネットに作成 各 AZ のプライベートサブネットにそれぞれルートテーブルを作成し 同じ AZ 内の NAT Gateway にデフォルトルートを設定 Private Subnet 1 Private Subnet 2 AZ レベルの障害に対応 Availability Zone 1 VPC Availability Zone 2
価格 NAT Gateway の利用時間 Gigaバイト毎のデータ処理 + + データ転送量 Region: IAD PDX SFO DUB SIN SYD NRT FRA Price per NAT gateway ($/hour): 0.045 0.045 0.048 0.048 0.059 0.059 0.062 0.052 Price per GB data processed ($): 0.045 0.045 0.048 0.048 0.059 0.059 0.062 0.052
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 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/ AWS Summit Tokyo 2015 参加登録受付中! http://bit.ly/1chjg1j
Webinar資料の配置場所 AWS クラウドサービス活用資料集 http://aws.amazon.com/jp/aws-jp-introduction/
公式 Twitter/Facebook AWS の最新情報をお届けします @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
ご参加ありがとうございました