EC2でマルチキャスト
- 2. 自己紹介
名前
• 安川 健太
• アマゾンデータサービスジャパン
ソリューションアーキテクト
好きなAWSのサービス
• CloudFormation
ソーシャル
• @thekentiest
• www.facebook.com/kenta.yasukawa
趣味
• 車いじり
• パケットキャプチャ
- 10. 動作確認したのでカーネルで動かす方法を模
索
tc mirred + pedit + csumでできます
Tcをその目的で使うためにコンフィグするシェルスクリプト
https://gist.github.com/kntyskw/5633755
パケットキャプチャベースに比べて高い性能、プロセス監視不要
若干わかりにくい構成に
Tc mirredがパケットループが起こる可能性のある構成を許さないので2つの
ENIを用意して、パケットのコピー元とコピー先が異なるような設定が必要
# ec2_multicast.sh
<interface to grab multicast packets from>
<interface to send modified packets to>
[target MAC address 1] [target MAC address 2] ...
# ec2_multicast.sh eth0 eth1 00:11:22:33:44:55 66:77:88:99:aa:bb
Example:
Usage:
- 14. LVS + Keepalivedで検証してみた
VPC Subnet
LVS +
keepalived
LVS +
keepalived
WebWebWeb
172.31.0.0/20
Elastic IP
Secondary:
172.31.24.1
Primary:
172.31.24.100
Primary:
172.31.24.101
VRRP
平常時 リクエストの流
れ
- 15. LVS + Keepalivedで検証してみた
VPC Subnet
LVS +
keepalived
LVS +
keepalived
WebWebWeb
172.31.0.0/20
Elastic IP
Secondary:
172.31.24.1
Primary:
172.31.24.100
Primary:
172.31.24.101
VRRP
フェイルオーバー時 リクエストの流
れ
- 19. 簡単な性能比較
LVS v.s. HAProxy
• 両者ともにm1.small
• BeesWithMachineGunsで4 KB程度のHTMLファイルの取得テス
ト
• Each of 8 bees will fire 2000 rounds, 10 at a time.
0
500
1000
1500
2000
2500
3000
3500
4000
4500
LVS HAProxy
Requestperseconds
Throughput
0
10
20
30
40
50
60
Average tp50 tp90
ResponseTimein[ms]
Response Time
LVS
HAProxy
- 21. Multi AZの場合の構成案
VPC Subnet
LVS +
keepalived
LVS +
keepalived
WebWebWeb
172.31.0.0/20
Elatic IP
Secondary:
172.31.24.1
Primary:
172.31.24.100
Primary:
172.31.24.1
01
VRRP
複数IPアドレスでサービス出来る場合
• DNS RRでリクエストを振り分け
• Route53のHealth Checkを組み合わせて健全性を維持
リクエストの流
れ
VPC Subnet
LVS +
keepalived
LVS +
keepalived
WebWebWeb
172.31.64.0/20
Secondary:
172.31.78.1
Primary:
172.31.78.
100
Primary:
172.31.78.101
VRRP
Availability Zone Availability Zone
Amazon Route
53
- 22. Multi AZの場合の構成案
VPC Subnet
LVS +
keepalived
LVS +
keepalived
WebWebWeb
172.31.0.0/20
Elatic IP
Secondary:
172.31.24.1
Primary:
172.31.24.100
Primary:
172.31.24.1
01
VRRP
単一のIPアドレスに限る必要がある場合
• VRRPのマスターノード間で別途VIPを使ったハートビートを行なっ
てEIPをフェイルオーバ
• 普段はスタンバイ側はVRRPマスタのみで、フェイルオーバ時にバッ
クエンドやVRRPバックアップを起動
リクエストの流
れ
Availability Zone Availability Zone
VPC Subnet
LVS +
keepalived
WebWebWeb
172.31.64.0/20
Primary:
172.31.78.101
VRRP
LVS +
keepalived
Secondary:
172.31.78.1
Primary:
172.31.78.
100
- 23. まとめ
VPCならL2まで自由が利く
• L2 NAT
• 擬似ブロードキャスト、などなど
擬似ブロードキャストを使えばVRRPも動く
• LVS + Keepalivedで検証
• 設定例や注意点など
LVSは用途が合えばよい選択肢
• Multi-AZ化も忘れずに
VPCを使ってより柔軟なシステム構築を!