狠狠撸

狠狠撸Share a Scribd company logo
? 2014 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified, or distributed in whole or in part without the express consent of 
Amazon.com, Inc. 
エンタープライズ向けAWSクラウドデザインパ 
ターンのご紹介(ネットワーク編) 
荒木靖宏, アマゾンデータサービスジャパン 
July 18, 2014
自己紹介 
?名前 
–荒木 靖宏 
?所属 
–アマゾンデータサービスジャパン株式会社 
プリンシパルソリューションアーキテクト 
?ID 
–Twitter: ar1 
?好きなAWSサービス 
–Amazon Virtual Private Cloud 
–AWS Direct Connect
よく聞く話 
? サービスが多くてよく分からない 
? 組み合わせ方が分からない 
? 使い方が正しいのか分からない
AWSクラウドデザインパターンとは... 
?AWSクラウドを使ったシステムアーキテクチャ設計を 行う際に発生する、典型的な問題とそれに対する解決 策?設計方法を、分かりやすく分類して、ノウハウとし て利用できるように整理したもの。
うまく組み合わせると?? 
?ピーク対応が楽 
?セキュアなシステム構築 
?安価に世界展開 
?障害にも強い
CDPカテゴリ 
-基本パターン Snapshot Stamp Scale Up Ondemand Disk -可用性を高める Multi-Server Multi-Datacenter Floating IP Deep Health Check -動的コンテンツを処理 Scale Out Clone Server NFS Sharding NFS Replica State Sharing URL Rewriting Rewrite Proxy Cache Proxy 
-静的コンテンツを処理 
Web Storage 
Direct Hosting 
Private Distribution 
Cache Distribution 
Rename Distribution 
-クラウドへのアップロード 
Write Proxy 
Storage Index 
Direct Object Upload 
-リレーショナル?データベース 
DB Replication 
Read Replica 
Inmemory DB Cache 
Sharding Write 
-バッチ処理 Queuing Chain Priority Queue Job Observer Scheduled Autoscaling -運用保守 Bootstrap Cloud DI Stack Deployment Server Swapping Monitoring Integration Web Storage Archive -ネットワーキング OnDemand NAT Backnet Functional Firewall Operational Firewall Multi Load Balancer WAF Proxy CloudHub
エンタープライズシステム構成例 
運用LAN 
社内LAN 
本番 
本番 
ステージング 
開発 
AZ:A AZ:B 
AD 
DNS 
VMware 
Storage 
Gateway 
Manage 
ment 
Console 
Operation 
Terminal 
アクセス 
チェック 
Hybrid 
監視 
Internet 
データセンター 
Private Segment Public Segment 
Private Segment Public Segment 
Private Segment Public Segment 
VM VM 
ボリュームコピー 
VM移行 
監視 
Router 
運用機能の一元化 
拠点間広域接続網 
データ 
Internet
エンタープライズシステム設計 
?対象アプリ決定 
?リージョン設計 
?VPC設計 
?インターネット VPN 
?専用線 
?ブロックデバイス 
?ファイル 
?VM 
?DB 
?ユーザ管理 
?機器変更管理 
?監視 
?ログ 
?ステージング環境 テスト 
?ユーザ誘導 
インフラ 
データ:移行とバックアップ 
運用 
本セッションの対象
Agenda 
?エンタープライズシステムへの準備 
–タグ、CloudFormation 
?VPCの基本構成要素とパターン 
?内部向けアプリケーションパターン 
?バックホームパターン
Route Table Elastic Network 
Interface 
Amazon VPC Router 
Internet 
Gateway 
Customer 
Gateway 
Virtual 
Private 
Gateway 
VPN 
Subnet Connection 
エンタープライズシステムへの 
準備
Tag:最初から、頻繁に 
?タグの利用は設計の初期から行う 
?使いそうな情報はなんでもタグ化 
–プロジェクトコード、コスト負担部署、実施チーム、環境、利 用目的などなど 
?リソースを作ってからでもにタグ付けできる 
?タグはリソースの利用権限制御に使える 
?AWS Billingもタグをサポートしている
AWS CloudFormation: Infrastructure as Code
CloudFormation 
JSON (Text) Template 
Stack
AWS CloudFormationで得るもの 
?バージョン管理されたデータセンタ設計 
?コマンド一発でインフラ展開 
?いつでも世界中のリージョンで再現可能 
?インフラとアプリケーションの明確な分離
Route Table Elastic Network 
Interface 
Amazon VPC Router 
Internet 
Gateway 
Customer 
Gateway 
Virtual 
Private 
Gateway 
VPN 
Subnet Connection 
VPCの基本構成要素とパターン
VPCを作る前にIP空間を考える 
?リージョンの将来拡張に備える 
?社内ネットワークの将来拡張に備える 
?VPCの制約を理解する 
–VPCサイズは /16 (約6万5千)から /28(16) 
–IPアドレス空間は初期作成時から変更できない
Public Subnet 
Private Subnet 
Public Subnet 
Availability Zone B 
Private Subnet 
VPC CIDR: 10.1.0.0 /16 
Availability Zone A
Public Subnet 
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 
Availability Zone A
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
Public Subnet 
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 
Route Table 
Destination 
Target 
10.1.0.0/16 
local 
Availability Zone A
惭补颈苍ルートテーブルは使わない
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 
Instance B 
VPC内の通信経路は 
編集も削除もできない
Network ACLs と 
セキュリティグループ 
NACLs 
? サブネットに1つだけ適用 
? ステートレス 
? Allow & Deny (blacklist) 
? ルール順に評価される 
Security Groups 
? ENIに5つまで適用 
? ステートフル 
? Allowのみ (whitelist) 
? ルール全体が評価される 
? 同一VPC内の全てのセキュリ 
ティグループを参照可能 
VPC Subnet 
Elastic Network 
Instance 
Security Group 
Network ACL
Network ACLsの利用パターン 
? 最低限のSecurityポリシー適用 
– 例:“全サブネットから外部へのSMTP禁止” 
? インスタンス毎に適用されているセ 
キュリティグループの漏れの補完 
? ネットワーク運用と、開発者の分離 
VPC Subnet 
Instance
VPC Network ACLsのベストプラクティス 
?慎重かつシンプルに 
?VPCから出て行く方向のポリシーに使う 
?Rule番号は成長を見越して間をあける 
?修正?削除できるユーザはIAMを使って制限 
何も考えずに押さないで! 
Default Network ACL:
VPC管理用のIAM 
致命的な影響を与えかねないVPCのAPIコール 
AttachInternetGateway AssociateRouteTable CreateRoute DeleteCustomerGateway DeleteInternetGateway DeleteNetworkAcl DeleteNetworkAclEntry DeleteRoute DeleteRouteTable DeleteDhcpOptions ReplaceNetworkAclAssociation DisassociateRouteTable
NACL管理者の設定例:MFAの適用 
{ 
"Version": "2012-10-17", 
"Statement": [ 
{ 
"Effect": "Allow", 
"Action": [ 
"ec2:DeleteNetworkAcl", 
"ec2:DeleteNetworkAclEntry" 
], 
"Resource": "arn:aws:ec2:us-west-2:123456789012:network-acl/*", 
"Condition": { 
"StringEquals": { 
"ec2:ResourceTag/Environment": "prod" 
}, 
"Null": { 
"aws:MultiFactorAuthAge": "false" 
} 
} 
} 
] 
}
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 
VPCからの出口の作成
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 
Route 
Table 
Route Table 
Destination Target 
10.1.0.0/16 local 
0.0.0.0/0 IGW
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 
Virtual 
Private 
Gateway 
Internet 
Gateway 
インターネットゲート 
ウェイとバーチャルゲー 
トウェイの利用 
VPN 
Connection 
Customer 
Data Center 
Customer 
Data Center 
Direct 
Connect 
Route Table 
Destination Target 
10.1.0.0/16 local 
Corp CIDR VGW
Elastic IPを使った パブリックIPアドレスの付与 
?AWSアカウントに対して付与される 
?インスタンスとの紐付けはいつでも可能 
?インスタンス間やENI間の移動も可能 
?パブリックIPアドレスとプライベートIPアドレスは 1対1にマッピングされる 
?1 Public IP to 1 Private IP static NAT mapping 
?インスタンスOSはEIPとマッピングされているかは わからない
動的パブリックIPアドレス付与 
?サブネット毎に有効化する 
?インスタンスが起動するときに自動付与 
?1つめの贰狈滨でのみ有効
Public Subnet 
Availability Zone A 
Private Subnet 
Public Subnet 
Availability Zone B 
Private Subnet 
Instance A 
Public: 54.200.129.18 
Private: 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 
Route 
Table 
Internet 
Amazon S3 DynamoDB 
AWS 
region 
VPCの外にあるAWS 
Public IPがあれば 
アクセス可能
VPCの外にあるAWSの例 
?常に使うAPIエンドポイント 
–例:Amazon S3、Amazon Dynamo DB 
?制御時のみ使うAPIエンドポイント 
–例:AutoScaling 
?ソフトウェアレポジトリへのアクセス 
–例:Amazon Linux repoはAWSのPublic IPからのみに限定
Public Subnet 
Availability Zone A 
Private Subnet 
Public Subnet 
Availability Zone B 
Private Subnet 
Instance A 
Public: 54.200.129.18 
Private: 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 
Route 
Table 
Internet 
Amazon S3 DynamoDB 
AWS 
region 
プライベートサブネッ 
トにあるインスタンス 
CがVPC外にアクセス 
するには?
Public Subnet 
Availability Zone A 
Private Subnet 
Public Subnet 
Availability Zone B 
Private Subnet 
NAT A 
Public: 54.200.129.18 
Private: 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 
Internet 
Amazon S3 DynamoDB 
AWS 
region 
パブリックサブネット 
内インスタンスにNAT 
機能をもたせる 
Route Table 
Destination Target 
10.1.0.0/16 local 
0.0.0.0/0 NAT 
instanc 
e
NATインスタンスは何をしているか 
$echo 1 > /proc/sys/net/ipv4/ip_forward 
$echo 0 > /proc/sys/net/ipv4/conf/eth0/send_redirects 
$/sbin/iptables -t nat -A POSTROUTING -o eth0 –s 10.1.0.0/16 -j MASQUERADE 
$/sbin/iptables-save 
$aws ec2 modify-instance-attributes –instance-id i-xxxxxxxx –source-dest-check “{”Value”:false}” 
IP forwardの有効化 
IPマスカレードの有効化 
EC2での出先?宛先チェックの無効化 
$aws autoscaling create-auto-scaling-group --auto-scaling-group-name ha-nat- asg --launch-configuration-name ha-nat-launch --min-size 1 --max-size 1 --vpc- zone-identifier subnet-xxxxxxxx 
サブネット内に1台維持するオートスケール 
+HAの機能
Availability Zone A 
Private Subnet 
Availability Zone B 
Private Subnet 
Internet 
Amazon S3 
DynamoDB 
AWS Region 
Public Subnet 
Public Subnet 
NAT 
?NATインスタンスに オートスケールを設 定 (min=1,max=1) し、AZ毎に1NAT 
?プライベートサブ ネットのルートテー ブルは同じAZのNAT にむける 
Autoscale HA NAT 
NAT
NAT下で広帯域が必要なとき 
?AZ毎にHA NATを配置する 
?スケールアップ! 
?ネットワーク関連メトリクスを見る 
?プロトコル別アプリケーションプロキシも有効 
m1.small 
Low 
m1.large Moderate 
m1.xlarge, c1.xlarge 
High 
t1.micro Very Low
Route Table Elastic Network 
Interface 
Amazon VPC Router 
Internet 
Gateway 
Customer 
Gateway 
Virtual 
Private 
Gateway 
VPN 
Subnet Connection 
内部向けアプリケーションパ 
ターン
Availability Zone A 
Private Subnet 
Private Subnet 
AWS region 
Virtual Private Gateway 
VPN Connection 
Corporate Data Center 
Intranet 
App 
Intranet 
App 
Availability Zone B 
Corporate Internal Customers 
Route Table 
Destination 
Target 
10.1.0.0/16 
local 
Corp CIDR 
VGW 
VPN接続とルートテーブル設定がポイント
VPC内でデータが完結しない例 
Amazon S3
Availability Zone A 
Private Subnet 
Private Subnet 
AWS region 
Virtual Private Gateway 
VPN Connection 
Corporate Data Center 
Intranet 
App 
Intranet 
App 
Availability Zone B 
基本となるデータフロー 
Amazon S3 
Internet 
Corporate Border Router 
Corporate VPN 
Internet 
嫌われる構成でもある
インターネットゲートウェイを通すためにプロキシ を設置する 
?アプリ(プライベートサブネットやオンプレミス)とIGWの 間にプロキシを配置 
?全てのHTTP(S)トラフィックはS3のように特定のURL宛のみ 許可 
?プライベートサブネットからはIGWに経路を設定しない 
?プロキシへはセキュリティグループで制御する
Availability Zone A 
Private Subnet (s) 
Private Subnet (s) 
AWS region 
VPN Connection 
Corporate Data Center 
Intranet 
App 
Intranet 
App 
Availability Zone B 
Corporate Internal Customers 
Internal 
ELB 
ELB Private Subnet 
ELB Private Subnet 
Proxy Public Subnet 
Proxy Public Subnet 
Amazon S3 
HTTP/S 
Multi AZ Auto scaling Group 
Proxyとアプリの間に Internal ELBを配置 した例
Route Table Elastic Network 
Interface 
Amazon VPC Router 
Internet 
Gateway 
Customer 
Gateway 
Virtual 
Private 
Gateway 
VPN 
Subnet Connection 
バックホームパターン
AWS region 
Public Facing 
Web App 
Internal 
Corporate 
App 
新規アプリ 
VPN Connection 
Corporate Data center 
example.com AD Controller 
example.com 
DNS 
VPC内に延長されたAD Domain
AWS region 
Public Facing 
Web App 
Internal 
Corporate 
App #1 
HA Pair VPN Endpoints 
Internal 
Corporate 
App #2 
Internal 
Corporate 
App #3 
Internal Corporate App #4 
Corporate Data center 
Customer Gateways (CGW): 
?VPNトンネルあたり1つ 
?CGWあたりPublic IP1つ 
?AWSは2つのトンネル接続 先を提供
AWS 
region 
Public Facing 
Web App 
Internal 
Corporate 
App #1 
VPN 
Endpoints 
Corporate Data center 
VPNハブ&スポーク 
Internal 
Corporate 
App #2 
Internal 
Corporate 
App #3 
Internal 
Corporate 
App #4 
Services 
VPC 
? Service VPCには他VPCで共 
通で使う機能を持たせる 
? VPN 
? アプリ用VPC内インスタ 
ンスをCGWとする 
? HAのためには2つ目のイ 
ンスタンスを追加する 
? VPC Peering 
? ピアリング先を経由した 
先とは通信できない
?各リージョンへの専用線接続口 
?複数のVPCまたは、複数のパブリック接続 インターフェースをのせられる 
?インターネットに比べて 
–安価なアウトバウンドトラフィック料金(インは同じく 無料です) 
–安定したパフォーマンス 
?複数のアカウントで共有可能 
?冗長接続を選択可能 
AWS Direct Connect (DX)
AWS region 
Public Facing 
Web App 
Internal Corporate App #1 
Customer Data Center 
Internal 
Corporate 
App #2 
Internal Corporate App #3 
Internal Corporate App #4 
AWS Direct Connect Location 
Private Virtual Interface (PVI)は VGWに紐付けられたVPCとDXを繋ぐ 
?VPC毎に1PVI 
?802.1q VLANによるセパレーショ ン 
50?500M, 1G, 10Gの専用線接続 
AWS Direct Connect(DX)によるシンプルな方法
VPC 1 
Private Virtual Interface 1 
VLAN Tag 
101 
BGP ASN 
10124 
BGP Announce 
10.1.0.0/16 
Interface IP 
169.254.251.5/30 
10.1.0.0/16 
VGW 1 
Multiple VPCs Over AWS Direct Connect 
Customer Switch + Router 
Customer Interface 0/1.101 
VLAN Tag 
101 
BGP ASN 
65001 
BGP Announce 
Customer Internal 
Interface IP 
169.254.251.6/30 
VLAN 101 
VLAN 102 
VLAN 103 
VLAN 104 
VPC 2 
10.2.0.0/16 
VGW 2 
VPC 3 
10.3.0.0/16 
VGW 3 
VPC 4 
10.4.0.0/16 
VGW 4 
Private Virtual Interface 2 
VLAN Tag 
102 
BGP ASN 
10124 
BGP Announce 
10.2.0.0/16 
Interface IP 
169.254.251.9/30 
1.102 
102 
65002 
169.254.251.10/ 30 
1.103 
103 
65003 
169.254.251.14/ Private Virtual Interface 3 
VLAN Tag 
103 
BGP ASN 
10124 
BGP Announce 
10.3.0.0/16 
Interface IP 
169.254.251.13/ 30 
Private Virtual Interface 4 
VLAN Tag 
104 
BGP ASN 
10124 
BGP Announce 
10.4.0.0/16 
Interface IP 
169.254.251.17/ 30 
1.104 
104 
65004 
169.254.251.18/ Route Table 
Destination 
Target 
10.1.0.0/16 
PVI 1 
10.2.0.0/16 
PVI 2 
10.3.0.0/16 
PVI 3 
10.4.0.0/16 
PVI 4 
Customer Internal Network
Customer Internal Network 
VPC 1 
Public Virtual Interface 1 
VLAN Tag 
501 
BGP ASN 
10124 
BGP Announce 
AWS Regional Public CIDRs 
Interface IP 
Public /30 Provided 
10.1.0.0/16 
VGW 1 
Public AWS + VPCs Over AWS Direct Connect 
Customer Switch + Router 
Customer Interface 0/1.501 
VLAN Tag 
501 
BGP ASN 
65501 (or Public) 
BGP Announce 
Customer Public 
Interface IP 
Public /30 Provided 
VLAN 101 
VLAN 102 
VLAN 103 
VLAN 501 
VPC 2 
10.2.0.0/16 
VGW 2 
VPC 3 
10.3.0.0/16 
VGW 3 
Public AWS 
Region 
Route Table 
Destination 
Target 
10.1.0.0/16 
PVI 1 
10.2.0.0/16 
PVI 2 
10.3.0.0/16 
PVI 3 
10.4.0.0/16 
PVI 4 
Public AWS 
PVI 5 
NAT / PAT Security Layer
Customer Routers 
Customer Internal Network 
AWS DX Routers 
AWS region 
AWS Direct Connect Location 
複数のDXおよびVPN接続にはBGPで対応 
?Active / Active 
?Active / Passive
Customer Routers 
Customer Backbone Network 
AWS Direct Connect Routers 
東京リージョン 
キャリアWANでの拡張
Route Table Elastic Network 
Interface 
Amazon VPC Router 
Internet 
Gateway 
Customer 
Gateway 
Virtual 
Private 
Gateway 
VPN 
Subnet Connection 
パターン:Directory and 
Name Services
?Active Directory on AWS (TA-04):吉松龍輝 
–本セッションでは Active Directory を Amazon Web Services (AWS) 上で運用する際の考慮事項についてお話します。自社 データ センターと AWS との相互運用、ドメインとサイトに関 する設計の考え方、名前解決の設定、バックアップにおける注 意事項など、Active Directory の運用時に必要となるノウハウ についてご紹介いたします。
まとめ 
?リソースを可視化し再現可能なシステ ム開発にはタグ、CloudFormation 
?ネットワークと開発担当の権限分離を IAMで行う 
?VPCはサブネット単位で制御する 
?VPN、専用線で拡張可能
エンタープライズシステムはすでに現実 
?AWSを使えばエンタープライズシステムの構築をあら ゆるユーザが 
–もっと簡単に 
–もっと安全に 
?AWSをつかったエンタープライズシステムならば 
–今あるシステムに加えて 
–現実的な時間 
–現実的なコスト

More Related Content

Aws summits2014 エンタープライズ向けawscdpネットワーク編

  • 1. ? 2014 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified, or distributed in whole or in part without the express consent of Amazon.com, Inc. エンタープライズ向けAWSクラウドデザインパ ターンのご紹介(ネットワーク編) 荒木靖宏, アマゾンデータサービスジャパン July 18, 2014
  • 2. 自己紹介 ?名前 –荒木 靖宏 ?所属 –アマゾンデータサービスジャパン株式会社 プリンシパルソリューションアーキテクト ?ID –Twitter: ar1 ?好きなAWSサービス –Amazon Virtual Private Cloud –AWS Direct Connect
  • 3. よく聞く話 ? サービスが多くてよく分からない ? 組み合わせ方が分からない ? 使い方が正しいのか分からない
  • 6. CDPカテゴリ -基本パターン Snapshot Stamp Scale Up Ondemand Disk -可用性を高める Multi-Server Multi-Datacenter Floating IP Deep Health Check -動的コンテンツを処理 Scale Out Clone Server NFS Sharding NFS Replica State Sharing URL Rewriting Rewrite Proxy Cache Proxy -静的コンテンツを処理 Web Storage Direct Hosting Private Distribution Cache Distribution Rename Distribution -クラウドへのアップロード Write Proxy Storage Index Direct Object Upload -リレーショナル?データベース DB Replication Read Replica Inmemory DB Cache Sharding Write -バッチ処理 Queuing Chain Priority Queue Job Observer Scheduled Autoscaling -運用保守 Bootstrap Cloud DI Stack Deployment Server Swapping Monitoring Integration Web Storage Archive -ネットワーキング OnDemand NAT Backnet Functional Firewall Operational Firewall Multi Load Balancer WAF Proxy CloudHub
  • 7. エンタープライズシステム構成例 運用LAN 社内LAN 本番 本番 ステージング 開発 AZ:A AZ:B AD DNS VMware Storage Gateway Manage ment Console Operation Terminal アクセス チェック Hybrid 監視 Internet データセンター Private Segment Public Segment Private Segment Public Segment Private Segment Public Segment VM VM ボリュームコピー VM移行 監視 Router 運用機能の一元化 拠点間広域接続網 データ Internet
  • 8. エンタープライズシステム設計 ?対象アプリ決定 ?リージョン設計 ?VPC設計 ?インターネット VPN ?専用線 ?ブロックデバイス ?ファイル ?VM ?DB ?ユーザ管理 ?機器変更管理 ?監視 ?ログ ?ステージング環境 テスト ?ユーザ誘導 インフラ データ:移行とバックアップ 運用 本セッションの対象
  • 9. Agenda ?エンタープライズシステムへの準備 –タグ、CloudFormation ?VPCの基本構成要素とパターン ?内部向けアプリケーションパターン ?バックホームパターン
  • 10. Route Table Elastic Network Interface Amazon VPC Router Internet Gateway Customer Gateway Virtual Private Gateway VPN Subnet Connection エンタープライズシステムへの 準備
  • 11. Tag:最初から、頻繁に ?タグの利用は設計の初期から行う ?使いそうな情報はなんでもタグ化 –プロジェクトコード、コスト負担部署、実施チーム、環境、利 用目的などなど ?リソースを作ってからでもにタグ付けできる ?タグはリソースの利用権限制御に使える ?AWS Billingもタグをサポートしている
  • 13. CloudFormation JSON (Text) Template Stack
  • 14. AWS CloudFormationで得るもの ?バージョン管理されたデータセンタ設計 ?コマンド一発でインフラ展開 ?いつでも世界中のリージョンで再現可能 ?インフラとアプリケーションの明確な分離
  • 15. Route Table Elastic Network Interface Amazon VPC Router Internet Gateway Customer Gateway Virtual Private Gateway VPN Subnet Connection VPCの基本構成要素とパターン
  • 16. VPCを作る前にIP空間を考える ?リージョンの将来拡張に備える ?社内ネットワークの将来拡張に備える ?VPCの制約を理解する –VPCサイズは /16 (約6万5千)から /28(16) –IPアドレス空間は初期作成時から変更できない
  • 17. Public Subnet Private Subnet Public Subnet Availability Zone B Private Subnet VPC CIDR: 10.1.0.0 /16 Availability Zone A
  • 18. Public Subnet 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 Availability Zone A
  • 19. 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
  • 20. Public Subnet 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 Route Table Destination Target 10.1.0.0/16 local Availability Zone A
  • 22. 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 Instance B VPC内の通信経路は 編集も削除もできない
  • 23. Network ACLs と セキュリティグループ NACLs ? サブネットに1つだけ適用 ? ステートレス ? Allow & Deny (blacklist) ? ルール順に評価される Security Groups ? ENIに5つまで適用 ? ステートフル ? Allowのみ (whitelist) ? ルール全体が評価される ? 同一VPC内の全てのセキュリ ティグループを参照可能 VPC Subnet Elastic Network Instance Security Group Network ACL
  • 24. Network ACLsの利用パターン ? 最低限のSecurityポリシー適用 – 例:“全サブネットから外部へのSMTP禁止” ? インスタンス毎に適用されているセ キュリティグループの漏れの補完 ? ネットワーク運用と、開発者の分離 VPC Subnet Instance
  • 25. VPC Network ACLsのベストプラクティス ?慎重かつシンプルに ?VPCから出て行く方向のポリシーに使う ?Rule番号は成長を見越して間をあける ?修正?削除できるユーザはIAMを使って制限 何も考えずに押さないで! Default Network ACL:
  • 26. VPC管理用のIAM 致命的な影響を与えかねないVPCのAPIコール AttachInternetGateway AssociateRouteTable CreateRoute DeleteCustomerGateway DeleteInternetGateway DeleteNetworkAcl DeleteNetworkAclEntry DeleteRoute DeleteRouteTable DeleteDhcpOptions ReplaceNetworkAclAssociation DisassociateRouteTable
  • 27. NACL管理者の設定例:MFAの適用 { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:DeleteNetworkAcl", "ec2:DeleteNetworkAclEntry" ], "Resource": "arn:aws:ec2:us-west-2:123456789012:network-acl/*", "Condition": { "StringEquals": { "ec2:ResourceTag/Environment": "prod" }, "Null": { "aws:MultiFactorAuthAge": "false" } } } ] }
  • 28. 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 VPCからの出口の作成
  • 29. 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 Route Table Route Table Destination Target 10.1.0.0/16 local 0.0.0.0/0 IGW
  • 30. 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 Virtual Private Gateway Internet Gateway インターネットゲート ウェイとバーチャルゲー トウェイの利用 VPN Connection Customer Data Center Customer Data Center Direct Connect Route Table Destination Target 10.1.0.0/16 local Corp CIDR VGW
  • 31. Elastic IPを使った パブリックIPアドレスの付与 ?AWSアカウントに対して付与される ?インスタンスとの紐付けはいつでも可能 ?インスタンス間やENI間の移動も可能 ?パブリックIPアドレスとプライベートIPアドレスは 1対1にマッピングされる ?1 Public IP to 1 Private IP static NAT mapping ?インスタンスOSはEIPとマッピングされているかは わからない
  • 33. Public Subnet Availability Zone A Private Subnet Public Subnet Availability Zone B Private Subnet Instance A Public: 54.200.129.18 Private: 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 Route Table Internet Amazon S3 DynamoDB AWS region VPCの外にあるAWS Public IPがあれば アクセス可能
  • 34. VPCの外にあるAWSの例 ?常に使うAPIエンドポイント –例:Amazon S3、Amazon Dynamo DB ?制御時のみ使うAPIエンドポイント –例:AutoScaling ?ソフトウェアレポジトリへのアクセス –例:Amazon Linux repoはAWSのPublic IPからのみに限定
  • 35. Public Subnet Availability Zone A Private Subnet Public Subnet Availability Zone B Private Subnet Instance A Public: 54.200.129.18 Private: 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 Route Table Internet Amazon S3 DynamoDB AWS region プライベートサブネッ トにあるインスタンス CがVPC外にアクセス するには?
  • 36. Public Subnet Availability Zone A Private Subnet Public Subnet Availability Zone B Private Subnet NAT A Public: 54.200.129.18 Private: 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 Internet Amazon S3 DynamoDB AWS region パブリックサブネット 内インスタンスにNAT 機能をもたせる Route Table Destination Target 10.1.0.0/16 local 0.0.0.0/0 NAT instanc e
  • 37. NATインスタンスは何をしているか $echo 1 > /proc/sys/net/ipv4/ip_forward $echo 0 > /proc/sys/net/ipv4/conf/eth0/send_redirects $/sbin/iptables -t nat -A POSTROUTING -o eth0 –s 10.1.0.0/16 -j MASQUERADE $/sbin/iptables-save $aws ec2 modify-instance-attributes –instance-id i-xxxxxxxx –source-dest-check “{”Value”:false}” IP forwardの有効化 IPマスカレードの有効化 EC2での出先?宛先チェックの無効化 $aws autoscaling create-auto-scaling-group --auto-scaling-group-name ha-nat- asg --launch-configuration-name ha-nat-launch --min-size 1 --max-size 1 --vpc- zone-identifier subnet-xxxxxxxx サブネット内に1台維持するオートスケール +HAの機能
  • 38. Availability Zone A Private Subnet Availability Zone B Private Subnet Internet Amazon S3 DynamoDB AWS Region Public Subnet Public Subnet NAT ?NATインスタンスに オートスケールを設 定 (min=1,max=1) し、AZ毎に1NAT ?プライベートサブ ネットのルートテー ブルは同じAZのNAT にむける Autoscale HA NAT NAT
  • 39. NAT下で広帯域が必要なとき ?AZ毎にHA NATを配置する ?スケールアップ! ?ネットワーク関連メトリクスを見る ?プロトコル別アプリケーションプロキシも有効 m1.small Low m1.large Moderate m1.xlarge, c1.xlarge High t1.micro Very Low
  • 40. Route Table Elastic Network Interface Amazon VPC Router Internet Gateway Customer Gateway Virtual Private Gateway VPN Subnet Connection 内部向けアプリケーションパ ターン
  • 41. Availability Zone A Private Subnet Private Subnet AWS region Virtual Private Gateway VPN Connection Corporate Data Center Intranet App Intranet App Availability Zone B Corporate Internal Customers Route Table Destination Target 10.1.0.0/16 local Corp CIDR VGW VPN接続とルートテーブル設定がポイント
  • 43. Availability Zone A Private Subnet Private Subnet AWS region Virtual Private Gateway VPN Connection Corporate Data Center Intranet App Intranet App Availability Zone B 基本となるデータフロー Amazon S3 Internet Corporate Border Router Corporate VPN Internet 嫌われる構成でもある
  • 44. インターネットゲートウェイを通すためにプロキシ を設置する ?アプリ(プライベートサブネットやオンプレミス)とIGWの 間にプロキシを配置 ?全てのHTTP(S)トラフィックはS3のように特定のURL宛のみ 許可 ?プライベートサブネットからはIGWに経路を設定しない ?プロキシへはセキュリティグループで制御する
  • 45. Availability Zone A Private Subnet (s) Private Subnet (s) AWS region VPN Connection Corporate Data Center Intranet App Intranet App Availability Zone B Corporate Internal Customers Internal ELB ELB Private Subnet ELB Private Subnet Proxy Public Subnet Proxy Public Subnet Amazon S3 HTTP/S Multi AZ Auto scaling Group Proxyとアプリの間に Internal ELBを配置 した例
  • 46. Route Table Elastic Network Interface Amazon VPC Router Internet Gateway Customer Gateway Virtual Private Gateway VPN Subnet Connection バックホームパターン
  • 47. AWS region Public Facing Web App Internal Corporate App 新規アプリ VPN Connection Corporate Data center example.com AD Controller example.com DNS VPC内に延長されたAD Domain
  • 48. AWS region Public Facing Web App Internal Corporate App #1 HA Pair VPN Endpoints Internal Corporate App #2 Internal Corporate App #3 Internal Corporate App #4 Corporate Data center Customer Gateways (CGW): ?VPNトンネルあたり1つ ?CGWあたりPublic IP1つ ?AWSは2つのトンネル接続 先を提供
  • 49. AWS region Public Facing Web App Internal Corporate App #1 VPN Endpoints Corporate Data center VPNハブ&スポーク Internal Corporate App #2 Internal Corporate App #3 Internal Corporate App #4 Services VPC ? Service VPCには他VPCで共 通で使う機能を持たせる ? VPN ? アプリ用VPC内インスタ ンスをCGWとする ? HAのためには2つ目のイ ンスタンスを追加する ? VPC Peering ? ピアリング先を経由した 先とは通信できない
  • 50. ?各リージョンへの専用線接続口 ?複数のVPCまたは、複数のパブリック接続 インターフェースをのせられる ?インターネットに比べて –安価なアウトバウンドトラフィック料金(インは同じく 無料です) –安定したパフォーマンス ?複数のアカウントで共有可能 ?冗長接続を選択可能 AWS Direct Connect (DX)
  • 51. AWS region Public Facing Web App Internal Corporate App #1 Customer Data Center Internal Corporate App #2 Internal Corporate App #3 Internal Corporate App #4 AWS Direct Connect Location Private Virtual Interface (PVI)は VGWに紐付けられたVPCとDXを繋ぐ ?VPC毎に1PVI ?802.1q VLANによるセパレーショ ン 50?500M, 1G, 10Gの専用線接続 AWS Direct Connect(DX)によるシンプルな方法
  • 52. VPC 1 Private Virtual Interface 1 VLAN Tag 101 BGP ASN 10124 BGP Announce 10.1.0.0/16 Interface IP 169.254.251.5/30 10.1.0.0/16 VGW 1 Multiple VPCs Over AWS Direct Connect Customer Switch + Router Customer Interface 0/1.101 VLAN Tag 101 BGP ASN 65001 BGP Announce Customer Internal Interface IP 169.254.251.6/30 VLAN 101 VLAN 102 VLAN 103 VLAN 104 VPC 2 10.2.0.0/16 VGW 2 VPC 3 10.3.0.0/16 VGW 3 VPC 4 10.4.0.0/16 VGW 4 Private Virtual Interface 2 VLAN Tag 102 BGP ASN 10124 BGP Announce 10.2.0.0/16 Interface IP 169.254.251.9/30 1.102 102 65002 169.254.251.10/ 30 1.103 103 65003 169.254.251.14/ Private Virtual Interface 3 VLAN Tag 103 BGP ASN 10124 BGP Announce 10.3.0.0/16 Interface IP 169.254.251.13/ 30 Private Virtual Interface 4 VLAN Tag 104 BGP ASN 10124 BGP Announce 10.4.0.0/16 Interface IP 169.254.251.17/ 30 1.104 104 65004 169.254.251.18/ Route Table Destination Target 10.1.0.0/16 PVI 1 10.2.0.0/16 PVI 2 10.3.0.0/16 PVI 3 10.4.0.0/16 PVI 4 Customer Internal Network
  • 53. Customer Internal Network VPC 1 Public Virtual Interface 1 VLAN Tag 501 BGP ASN 10124 BGP Announce AWS Regional Public CIDRs Interface IP Public /30 Provided 10.1.0.0/16 VGW 1 Public AWS + VPCs Over AWS Direct Connect Customer Switch + Router Customer Interface 0/1.501 VLAN Tag 501 BGP ASN 65501 (or Public) BGP Announce Customer Public Interface IP Public /30 Provided VLAN 101 VLAN 102 VLAN 103 VLAN 501 VPC 2 10.2.0.0/16 VGW 2 VPC 3 10.3.0.0/16 VGW 3 Public AWS Region Route Table Destination Target 10.1.0.0/16 PVI 1 10.2.0.0/16 PVI 2 10.3.0.0/16 PVI 3 10.4.0.0/16 PVI 4 Public AWS PVI 5 NAT / PAT Security Layer
  • 54. Customer Routers Customer Internal Network AWS DX Routers AWS region AWS Direct Connect Location 複数のDXおよびVPN接続にはBGPで対応 ?Active / Active ?Active / Passive
  • 55. Customer Routers Customer Backbone Network AWS Direct Connect Routers 東京リージョン キャリアWANでの拡張
  • 56. Route Table Elastic Network Interface Amazon VPC Router Internet Gateway Customer Gateway Virtual Private Gateway VPN Subnet Connection パターン:Directory and Name Services
  • 57. ?Active Directory on AWS (TA-04):吉松龍輝 –本セッションでは Active Directory を Amazon Web Services (AWS) 上で運用する際の考慮事項についてお話します。自社 データ センターと AWS との相互運用、ドメインとサイトに関 する設計の考え方、名前解決の設定、バックアップにおける注 意事項など、Active Directory の運用時に必要となるノウハウ についてご紹介いたします。
  • 58. まとめ ?リソースを可視化し再現可能なシステ ム開発にはタグ、CloudFormation ?ネットワークと開発担当の権限分離を IAMで行う ?VPCはサブネット単位で制御する ?VPN、専用線で拡張可能
  • 59. エンタープライズシステムはすでに現実 ?AWSを使えばエンタープライズシステムの構築をあら ゆるユーザが –もっと簡単に –もっと安全に ?AWSをつかったエンタープライズシステムならば –今あるシステムに加えて –現実的な時間 –現実的なコスト