第5回 jaws-ug 札幌 vpc新機能でecサイト
TRANSCRIPT
Copyright © 2010 AGREX INC. 1
VPC新機能でECサイトの構築
Copyright © 2010 AGREX INC. 2
自己紹介こやま ひろし
古山 浩司(株)アグレックス 札幌事業所 開発部
好きなサービス : RDS、ENI
Copyright © 2010 AGREX INC. 3
仕事の紹介
EC決済事業部 (東京)
ECサイト構築・運用 (札幌) ・2011年スタート ・15サイトオープン済
やれ!
・・・でも環境は普通のIDC
Copyright © 2010 AGREX INC. 4
本日のテーマ
1. なぜAWSに載せるのか?
2. なぜVPCなのか?
3. VPC環境構築の流れ
4. まとめ
Copyright © 2010 AGREX INC. 5
1. なぜAWSに載せるのか?
Copyright © 2010 AGREX INC. 6
事件あるサイトが、1ヶ月で2回ダウン。原因はIDCのハード障害。 (・・・しかもHA機能せず数時間停止)
お客様
大激怒! IDC変更!
今度やらかしたら・・・
Copyright © 2010 AGREX INC. 7
Region
AZ - b
AZ - a
AmazonRoute53
決済ソリューション
EC2SecurityGroup EC2
DBSecurityGroup
EC2Amazon
SES
RDS Multi-AZ
ELB
お客様
EC2
AWSなら・・・
Copyright © 2010 AGREX INC. 8
「お任せください!
で全て解決してみせます。」
Copyright © 2010 AGREX INC. 9
2. なぜVPCなのか?
Copyright © 2010 AGREX INC. 10
ひとつ問題が・・・
In t e rnet
決済サービスECサイト
決済サービスの通信認証には、MACアドレスも使われている様子。
ところがEC2は再起動するとMACアドレスが変わってしまう。
認証情報・eth0 HWaddr・?・?
つまり・・・EC2使えないってこと??
Copyright © 2010 AGREX INC. 11
致命的・・・
Copyright © 2010 AGREX INC. 12
VPCにおいては・・・不変!!
困ったときはフォーラムhttps://forums.aws.amazon.com/
Copyright © 2010 AGREX INC. 13
3. VPC環境構築の流れ
ECサイトに必要なもの ・ネットワーク (VPC, Subnet) ・ファイアウォール (Security Group) ・固定MACアドレス (ENI) ・Webサーバ (EC2) ・データベース (RDS) ・ロードバランサ (ELB)
Copyright © 2010 AGREX INC. 14
VPCを作る「Public Subnet Only」を選ぶ (簡単そうだから)
Copyright © 2010 AGREX INC. 15
Region
Internet Gateway
AZ - a
Subnet - a
AZ - bSubnet - b
10.0.0.0/16
10.0.0.0/2410.0.1.0/24
Availability Zone毎にSubnet1個用意する。(SubnetはAZをまたげないので)
Copyright © 2010 AGREX INC. 16
DB Subnet Group 作成
どのサブネットにRDSを置くかを指定。(Muiti-AZなら2つ)
2012年1月登場!VPC内でRDSを使うための設定
Copyright © 2010 AGREX INC. 17
VPC Security Group 作成
In / Out 双方向の制御が可能(EC2 Security Groupでは、Inのみ)
作成方法自体は通常のSecurity Groupと大差ない。
Copyright © 2010 AGREX INC. 18
DB Security Group 作成
指定したVPC Security Groupからのみ、RDSへのアクセスを許可する
2012年1月登場!
Copyright © 2010 AGREX INC. 19
Region
Internet Gateway
AZ - a
Subnet - a
AZ - b
Subnet - b
ELBSecurity Group
EC2SecurityGroup
DBSecurityGroup
3つのSecurity Group (ELB, EC2, DB)
Copyright © 2010 AGREX INC. 20
Network Interface (ENI)
◆ 仮想のネットワークインターフェース。 (EC2インスタンス作成時には、デフォルトENIが付く)
◆ 別インスタンスに付け替え可能。 (デフォルトENIは取外し不可)
◆ MACアドレス、Private IPは破棄されるまで不変。
At t ac h
Det ac h
At t ac h
ENI
2011年12月登場!
Copyright © 2010 AGREX INC. 21
ENIを作成
Elastic IP もつけておく
・サブネット・PrivateIP・セキュリティグループを指定する。
EC2タブから
Copyright © 2010 AGREX INC. 22
c:\> ec2-run-instances --region ap-northeast-1 ami-0644f007 --availability-zone ap-northeast-1a --key ecd-tokyo --instance-type m1.small --network-interface eni-37d3185e:0
EC2インスタンス作成◆ 通常はManagement Console からでよい。 (ただしeth0 は必ず、再利用不可なデフォルトENIになる)
◆ eth0 に任意のENIを付けたい場合は、ec2-api-tools を利用。
<eni id>:<dev index> で指定
Copyright © 2010 AGREX INC. 23
Region
Internet Gateway
EC2SecurityGroup EC2EC2 ENIENI
AZ - aSubnet - a
AZ - bSubnet - b
ELBSecurityGroup
EC2SecurityGroup
DBSecurityGroup
EC2EC2 ENIENI
Copyright © 2010 AGREX INC. 24
RDS インスタンス 作成
・VPC ID・DBサブネットグループを指定
2012年1月登場!
Copyright © 2010 AGREX INC. 25
Region
Internet Gateway
EC2SecurityGroup EC2EC2 ENIENI
AZ - aSubnet - a
AZ - bSubnet - b
ELBSecurityGroup
EC2SecurityGroup
DBSecurityGroup
EC2EC2 ENIENI
RDS Multi-AZ
Copyright © 2010 AGREX INC. 26
ELB 作成バランサー配下に置きたいSubnetを指定する
任意のSecurity Groupを指定できる
Copyright © 2010 AGREX INC. 27
EC2EC2 ENIENI
Region
AZ - b
Subnet - a
ELBSecurityGroup
AZ - a
Internet Gateway
AmazonRoute53
決済ソリューション
EC2SecurityGroup EC2
DBSecurityGroup
EC2 ENI
Subnet - b
AmazonSES
RDS Multi-AZ
ELB
ENI
お客様
完成!
Copyright © 2010 AGREX INC. 28
◆ Security Group ・In/Out 両方向 ・Groupの変更可能 (稼働中でもOK) ・ELBにも設定可能 (より上流で遮断できる)
◆ RDS : 2012年1月~ VPC内で利用可能に!
◆ ENI : 2011年12月~ ・2枚挿しを実現、付け替えも可能 ・破棄しない限り、MACアドレス、privateIPは不変
◆ VPCコスト : $0.05/時間 (1ヶ月$37.5)
今後、新たに構築するなら・・・VPCがおすすめ!
4. まとめ
Copyright © 2010 AGREX INC. 29
ご清聴ありがとうございました!