Amazon Virtual Private Cloud (VPC) アマゾンデータサービスジャパン株式会社
AWS の様々なサービス お客様のアプリケーション ライブラリ & SDKs Java, PHP,.NET, Python, Ruby IDE プラグイン Eclipse Visual Studio Web 管理画面 Management Console 認証 AWS IAM モニタリング Amazon CloudWatch デプロイと自動化 AWS Elastic Beanstalk AWS CloudFromation Development & Administration メッセージ Amazon SNS Amazon SQS メール配信 Amazon SES ワークフロー管理 Amazon SWF コンテンツ配信 Amazon CloudFront 分散処理 Elastic MapReduce キャッシング Amazon Elasticache Application Service コンピュータ処理 Amazon EC2 Auto Scale ストレージ Amazon S3 Amazon EBS AWS StorageGateway データベース Amazon RDS Amazon DynamoDB Amazon SimpleDB ネットワーク & ルーティング Amazon VPC / Amazon Elastic Load Balancer / Amazon Route 53 /AWS Direct Connect Infrastructure Service Region 2 AZ AWS グローバルインフラ Geographical Regions, Availability Zones, Points of Presence
Agenda VPCとは? VPCの構成要素 Hands-on Amazon Direct Connectとは VPC + VPN/Direct Connectを使った構成例 Q&A
VPC とは?
Amazon VPC AWSクラウド上にプライベートクラウドを構築 1 社内からVPN 接続して閉域網でAWS 利用 2 仮想ネットワーキングオンプレミスとのハイブリッドが簡単に実現 AWSが社内インフラの一部に見える 社内システム ソフトウェアの移行がより容易に 例 : 業務システム バッチ処理 ファイルサーバ より細やかにネットワークがコントロール可能全リージョンで利用可能 5
なぜ VPC が必要か? ネットワークセキュリティを高める きめ細かなアクセス制御が可能 Security Group, NACL, Route Table, etc VPN, DX を使って完全に外部と閉じた環境を実現 自由なネットワーク設計が可能 既存のネットワークルールを適用可能 ローカル IP を固定で使用可能
お客様のインフラをAWS上に延長する リージョン VPN 接続 EC2内に分離し たサブネットを 自由に作成 EC2 Internet イントラ VPC プライベート サブネット NAT パブリック サブネット VPN DX ゲート ウェイ
VPC のテンプレートを準備 IPアドレス割り当て 複数サブネット インターネットGW カスタマー GW 以下は構成例 ( 柔軟な構成が可能 ) パブリックサブネット パブリック + プライベート +VPN パブリック + プライベートサブネット プライベート +VPN 8
VPC with a Single Public Subnet EIP(Elastic IP) アドレスをパブリックインタフェースにアサイン 適用メリット 高いセキュリティの中で Web アプリを稼働させる プライベート IP を用いて インスタンスをまとめられる 9
VPC with Public and Private Subnets パブリックサブネットのインスタンスには EIP をアサインできる プライベートサブネットのインスタンスはインターネットから直接アクセスできない 適用メリット Web サーバーをパブリックサブネットを稼働し プライベートサブネット内のデータベースの読み書きを行う 10
VPC with Public and Private Subnets and a VPN Connection パブリックサブネットのインスタンスには EIP をアサインできる プライベートサブネットのインスタンスに VPN 経由でアクセス可能 適用メリット VPC をインターネットに接続しつつ データセンターをクラウド上に拡張 11
VPC a Private Subnet and a VPN Connection VPC 登場時はこの形態のみだった 全てのトラフィックは社内データセンターのファイヤウォール経由で行われる 適用メリット データセンターをクラウドに拡張しても中央集権的管理を維持する 12
VPC の構成要素
VPC で操作できる構成要素 VPCで操作できる構成要素 Security Group(and DB Security Group) Network Access Control (NACL) Route TableとInternet Gateway (IGW) NAT EC2 Dedicated Instance Elastic Network Interface
VPC での Security Group と NACL Instance レベルで In/Out のアクセス制御 Subnet レベルで In/Out のアクセス制御
EC2 のセキュリティグループ設定 インターネットからのトラフィック (Inbound) をブロックするだけでなく EC2 からのトラフィック (Outbound) を制限する事も可能です Port 80 (HTTP) EC2 Instance Security Group Port 22 (SSH)
EC2 のセキュリティグループ設定 セキュリティグループの Source に対して セキュリティグループのIDを指定することが可能です Port range Source 80 0.0.0.0/0 Apache EC2 Port range Source 3306 sg-aaaaaa Security Group-A (ID: sg-aaaaaa) Apache EC2 MySQL EC2 Security Group-B (ID: sg-bbbbbb) Port range Source 80 0.0.0.0/0 Security Group-C (ID: sg-cccccc)
Route Table について 各 Subnet は Route Table を持っている 設定を変更することでデータの流れを制御可能 Public Subnet の Route Table IGW(Internet Gateway) へのルーティングがあるので 外部とのアクセスが可能 Private Subnet の Route Table
Route Table について Internet Internet Gateway IGW に Routing されていないので外部と通信できない Web Server Public Subnet Web Server Private Subnet VPC 10.0.0.0/16 Destination Target 10.0.0.0/16 Local 0.0.0.0/0 igw-xxxxx Destination Target 10.0.0.0/16 Local
ELB on VPC ELB on VPC の機能 パブリッククラウドの ELB と機能面は同等 ELB のトラフィックをサブネットをまたいで分散 ELB セキュリティグループで より細かくコントロール可能 ELB on VPC の制約 IPv6 サポートは現状なし /27 CIDR ブロック以上の IP アドレスが必要
RDS for MySQL on VPC MySQL RDSはVPCで使えるようにマルチAZ 対応 リードレプリカ対応 VPC 上での注意点 DB Subnet Groupを事前に作成する RDSを利用するVPC 及びサブネットを指定 RDSをVPC 内で起動 DB Subnet Groupを指定 DBセキュリティグループも指定する 21
VPC 設定時の注意点 VPC 内で構成する EC2 Instance, ELB, Elastic IP, Security Group などを作成する際 VPC を明示的に指定する必要がある EC2 の t1.micro は使うことができない プライベート IP を指定して起動できる 指定しないと自動で割り振られる Elastic IP の挙動が異なる VPC では EC2 を再起動しても割当てられたままとなる 既に Elastic IP が割当てられている EC2 に対して 別の Elastic IP を割り当てても Error になる
Hands-on
EC2 Dedicated Instance VPC 内で専用インスタンス シングルテナント保証 クラウドのメリット確保 従量課金 柔軟にスケールアップ 瞬時に調達 規制に対応しなければいけないお客様のご要望に応えるサービス 通常のEC2 物理サーバー 顧客 A 顧客 B Dedicated Instance 物理サーバー 顧客 A 顧客 B 顧客 C 顧客 C
NAT について AWS から NAT 用の EC2 AMI を提供している Private Subnet から外部インターネットにアクセスする際の手段 ソフトウェアリポジトリにアクセス 外部パッチサイトにアクセス S3, Route53, DynamoDB, SES, SQS などの VPC 外の AWS サービスにアクセス NAT Instance を使うことで セキュリティを確保したまま外部へのアクセスが可能
NAT について Internet Internet Gateway IGW に Routing されていないので直接外部と通信できない Web Server Public Subnet NAT Web Server Private Subnet VPC 10.0.0.0/16 Destination Target 10.0.0.0/16 Local 0.0.0.0/0 igw-xxxxx Destination Target 10.0.0.0/16 Local 0.0.0.0/0 NAT
Public subnet + Private subnet + VPN GW Corporate = 172.16.0.0/16 Internet Gateway VPN Gateway Security Group Public Subnet NAT instance Security Group Private Subnet Destination Target 10.0.0.0/16 local 0.0.0.0/0 Internt Gateway Virtual Private Cloud = 10.0.0.0/16 Destination Target 10.0.0.0/16 local 172.16.0.0/16 VPN Gateway 0.0.0.0/0 NAT Instance
ハードウェア VPN IPsec VPN BGP (Border gateway protocol) AES 128 bit の暗号化トンネル サポート対象 Cisco Integrated Services routers running Cisco IOS 12.4 (or later) software Juniper J-Series routers running JunOS 9.5 (or later) software Juniper SRX Series Service Gateway running JunOS 9.5 (or Later)software Juniper SSG/ISG running ScreenOS 6.1, or 6.2 (or later) software Yamaha RTX1200 routers (Rev. 10.01.16+) 参考 URL <http://aws.amazon.com/jp/vpc/faqs/#c8>
Amazon Direct Connect とは
AWS Direct Connect とは AWS Direct Connect:AWS とデータセンター オフィス コロケーション環境間にプライベート接続を確立するサービス 特徴 ネットワークのコスト削減 帯域幅のスループット向上 インターネットベースの接続よりも一貫性がある AWS Cloud EC2, S3 などの Public サービス 専用線 エクイニクス相互接続ポイント AWS Direct Connect AWS Direct Connect お客様 Amazon VPC
AWS Direct Connect 詳細内容 AWS Direct Connect は 1Gbps および 10Gbps の接続を提供 専用線サービスは お客様が下記の 2 つの選択肢から選択 お客様がエクイニクス相互接続ポイントにお客様が専用線を直接つなぐ 複数の通信事業者の専用線接続サービスを利用 NTT コミュニケーションズ KVH ソフトバンクテレコム 野村総合研究所 前提条件 Public な AWS サービス (EC2, S3, RDS, etc.) と接続する場合 Public な AS 番号が必要 Amazon VPC と接続する場合 Private な AS 番号を使用 リージョン毎に契約が必要 多くの容量が必要な場合 複数の接続のプロビジョニングが可能
Equinix へラックを設置する方法 WAN の終端装置 VLAN 対応スイッチをラック内に設置 TY2 では構内配線 エンド キャリア WAN 終端装置 AWS お客様ラック R 802.1q 1G/10G AWS ラック R Equinix TY2
課金体系 (1/2) 月額利用料は下記の計算で課金されます ( 月額利用料 = AWS Direct Connect 料金 + 通信事業者の専用線サービス料金 ) AWS Direct Connect 料金 ( 回線利用料 + データ転送料 ) 回線利用料 ( 本数分 ) ロケーション 1 Gbps ポート 10 Gbps ポート CoreSite One Wilshire, Los Angeles, CA $0.30/ 時間 $2.25/ 時間 Equinix DC1 DC6, Ashburn, VA $0.30/ 時間 $2.25/ 時間 Equinix SV1 & SV5, San Jose, CA $0.30/ 時間 $2.25/ 時間 Equinix SG2 シンガポール $0.30/ 時間 $2.25/ 時間 Equinix TY2 東京 $0.30/ 時間 $2.25/ 時間 TelecityGroup Docklands ロンドン $0.30/ 時間 $2.25/ 時間
課金体系 (2/2) AWS Direct Connect 料金 ( 回線利用料 + データ転送料 ) データ転送料 ( 割引されたデータ転送料金を適用 ) ロケーションデータ転送受信 ( イン ) データ転送送信 ( アウト ) CoreSite, One Wilshire と米国西部 ( 北カリフォルニア ) リージョン間 バージニア州アッシュバーンの Equinix( エクイニクス ) と米国東部 ( バージニア北部 ) リージョン間 Equinix SV1 and SV5 と米国西部 ( 北カリフォルニア ) リージョン間 Equinix, SG2 とアジアパシフィック ( シンガポール ) リージョン間 Equinix, TY2 とアジアパシフィック ( 東京 ) リージョン間 TelecityGroup, ロンドン Docklands' と欧州 ( アイルランド ) リージョン間 無料無料無料無料無料無料 $0.030/GB $0.020/GB $0.020/GB $0.045/GB $0.045/GB $0.030/GB 通信事業者の専用線サービス料金 各通信事業者様にお問い合わせください
VPC+VPN/Direct Connect の構成例
AWS構成例 仮想グループクラウド 貴社プライベートクラウド 本社 各種団体等 グループ クラウド網 生産関連会社A 生産関連会社B 36 生産関連会社C グループクラウド網と専用線 サービス接続 イントラネットの一部として AWSの利用が可能 仮想グループクラウド ハイブリッドクラウドサービス の一つ選択肢としてAWSを提 供
AWS 利用例 ( バックアップ ) 既存データセンター 統合バックアップ 隔地保管 複数世代管理 Xx システム Direct Connect( 専用線 ) Virtual Private Network (VPN) 直接バックアップ Amazon Simple Storage Service (S3) S3: データ耐久性 99.999999999% AWS Storage Gateway: 透過的に S3 にバックアップを行う 利用例 テープ隔地保管の代替として バックアップシステムを直接 S3 へ
Amazon Storage Gateway DirectConnect VPN http://aws.amazon.com/storagegateway
AWS 利用例 ( 開発 / 維持管理環境 ) 既存データセンター 本番環境 開発環境 Direct Connect( 専用線 ) Virtual Private Network (VPN) Amazon Elastic Compute Cloud (EC2) 本番環境はこれまで同様既存 DC にて構築 開発 維持管理環境は AWS 構築 専用線接続 または VPN 接続 旧来の環境とシームレスに接続可能利用例 本番開発環境差異 : ハードウェアに依存しないシステム開発 行内 L/W
AWS 利用例 ( 連動性 ) 既存データセンター OVO 監視 Xx システム Direct Connect( 専用線 ) Virtual Private Network (VPN) データ連動 Amazon Elastic Compute Cloud (EC2) UID AD 認証 既存システムとの連動利用例監視 認証データ連動 受け渡し
AWS 利用例 ( データ処理のみ Cloud を利用 ) 既存データセンター CPU 処理 スケールアップ / アウト 休止自在 Direct Connect( 専用線 ) Virtual Private Network (VPN) Oracle Database Servers Amazon Elastic Compute Cloud (EC2) データベースは既存データセンター内で構築 CPU パワー不足時 または CPU 処理のみ AWS EC2, HPC, EMR を利用 ( 使用時のみ課金 ) 利用例データベースは外に出したくない業務バッチジョブ HPC 季節連動性の業務
オンプレミスとのハイブリッド環境 DATAPIPE 社のサービス例 Oracle DB をオンプレミスのデータセンタに設置 変化するリソースは AWS 上
AWS 利用例 (DR 環境 ) 既存データセンター 本番環境 DR 環境 Direct Connect( 専用線 ) Virtual Private Network (VPN) Amazon Elastic Compute Cloud (EC2) 本番環境は既存 DC にて構築 DR 環境は AWS 内で構築 利用例これから DR 環境を整備するシステムコスト面で DR を整備出来なかったシステム (F/S 等 ) 通常は休止または必要最小規模で稼働
Q & A
最後に ( 非常に大事です!) 全てのサービスを終了しましょう!! 後から AWS にご連絡があっても 対処できませんので ご了承くださいませ
Appendix
Elastic Network Interfaces とは VPC 上で実現する仮想ネットワークインタフェースを複数持てる機能 インスタンスによって割り当てられる数が異なる 以下を ENI に紐づけて維持可能 Private IP Elastic IP MAC アドレス セキュリティグループ
Elastic Network Interfaces インスタンスタイプによる設定数の制限 Elastic Network Private IP Type Name Interfaces (ENIs) Addresses per ENI Micro N/A N/A t1.micro Small 2 4 m1.small Medium 2 6 m1.medium Large 3 10 m1.large Extra Large 4 15 m1.xlarge High-CPU Medium 2 6 c1.medium High-CPU Extra Large 4 15 c1.xlarge High-Memory Extra Large 4 15 m2.xlarge High-Memory Double Extra Large 4 30 m2.2xlarge High-Memory Quadruple Extra Large 8 30 m2.4xlarge Cluster Compute Quadruple Extra Large N/A N/A cc1.4xlarge Cluster Compute Eight Extra Large 8 30 cc2.8xlarge Cluster GPU Quadruple Extra Large N/A N/A cg1.4xlarge
Elastic Network Interfaces ユースケース サービス用と管理用の ENI の分離 複数 ENI を前提としたソフトウェアの利用 MAC アドレスでライセンスが固定されたソフトウェア利用 1 台サーバ上での複数 SSL 証明書の利用 複数の仮想ホスト設定
NACL(Network Access Control) 個々のSubnetごとにアクセス制御が可能 Inbound, Outboundに対して下記の設定が可能 Inbound Port range( ポート番号 ) Source( アクセス元 IPアドレス ) Allow/Deny Outbound Port range( ポート番号 ) Destination( アクセス先 IPアドレス ) Allow/Deny
NAT インスタンスの作成 1. AWS では NAT 用のインスタンスを用意していますので ami-vpc-nat で検索します 例 : AMI NAME ami-vpc-nat-1.0.0-beta.x86_64-ebs 2. 上記 AMI を使って Public Subnet に NAT インスタンスを起動します 3. NAT インスタンスの Change Source / Dest Check を Disable にします 4. NAT インスタンスに Elastic IP を付けます 5. Public Subnet の Route Table に NAT インスタンスの ID を追加 6. 必要に応じて NAT インスタンスの Security Group を設定
NAT インスタンスの作成 / 起動 (1) Internet Internet Gateway Web Server Public Subnet NAT Web Server Private Subnet VPC 10.0.0.0/16 12 NAT インスタンスを AMI から起動 3NAT インスタンスの Change Source / Dest Check を Disable に設定
NAT インスタンスの作成 / 起動 (1) - 3 NAT インスタンスを右クリックして Change Source / Dest Check を選択し Yes, Disable を選択します
NAT インスタンスの作成 / 起動 (2) 4Elastic IP の追加 Internet Internet Gateway 5Route Table に NAT インスタンスを追加 Web Server Public Subnet Elastic IP NAT Web Server Private Subnet VPC 10.0.0.0/16 Destination Target 10.0.0.0/16 Local 0.0.0.0/0 igw-xxxxx Destination Target 10.0.0.0/16 Local 0.0.0.0/0 NAT(Instance ID)
NAT インスタンスの作成 / 起動 (3) 6 必要に応じて NAT インスタンスの Security Group を設定 Internet Internet Gateway Web Server Public Subnet Elastic IP NAT Web Server Private Subnet VPC 10.0.0.0/16 Destination Target 10.0.0.0/16 Local 0.0.0.0/0 igw-xxxxx Destination Target 10.0.0.0/16 Local 0.0.0.0/0 NAT(Instance ID)
NAT インスタンスの作成 / 起動 (4) NAT 経由でのアクセスを確認ください Internet Internet Gateway IGW に Routing されていないので直接外部と通信できない Web Server Public Subnet NAT Web Server Private Subnet VPC 10.0.0.0/16 Destination Target 10.0.0.0/16 Local 0.0.0.0/0 igw-xxxxx Destination Target 10.0.0.0/16 Local 0.0.0.0/0 NAT(Instance ID)