22
クラウドで、世界を、もっと、はたらきやすく Copyright © Serverworks Co.,Ltd. All Rights Reserved. http://www.serverworks.co.jp AWSにおけるロードバランサー 株式会社サーバーワークス 福岡オフィス 髙⽥ 知典 Kixs.vol003 ロードバランサーの夜

Kixs.vol003 LBの夜 AWSにおけるロードバランサー

Embed Size (px)

Citation preview

Page 1: Kixs.vol003 LBの夜 AWSにおけるロードバランサー

クラウドで、世界を、もっと、はたらきやすく Copyright©Serverworks Co.,Ltd.AllRightsReserved. http://www.serverworks.co.jp

AWSにおけるロードバランサー株式会社サーバーワークス

福岡オフィス

髙⽥ 知典

Kixs.vol003 ロードバランサーの夜

Page 2: Kixs.vol003 LBの夜 AWSにおけるロードバランサー

Page:2Copyright©Serverworks Co.,Ltd.AllRightsReserved.

AWS

Amazon.com によって提供されるクラウドコンピューティングプラットフォーム

• 豊富なサービス• 柔軟なリソース• 従量課⾦

http://itpro.nikkeibp.co.jp/atcl/news/17/012300193/

Page 3: Kixs.vol003 LBの夜 AWSにおけるロードバランサー

Page:3Copyright©Serverworks Co.,Ltd.AllRightsReserved.

AWSが提供するロードバランサーELBの構成と特徴Route53

AWS上で稼働するサードパーティロードバランサー

AWS とロードバランサー

Page 4: Kixs.vol003 LBの夜 AWSにおけるロードバランサー

Page:4Copyright©Serverworks Co.,Ltd.AllRightsReserved.

AWSが提供するロードバランサー

Page 5: Kixs.vol003 LBの夜 AWSにおけるロードバランサー

Page:5Copyright©Serverworks Co.,Ltd.AllRightsReserved.

AWSのロードバランサーElasticLoadBalancer(ELB)

ClassicLoadBalancer(CLB)

ApplicationLoadBalancer(ALB)

• L4(TCP/SSL) ロードバランシング• L7(HTTP/HTTPS) ロードバランシング• 課⾦:稼働時間+転送量(GB)

• L7(HTTP/HTTPS) ロードバランシング• コンテンツベースロードバランシング• AWS WAFとの連携• 課⾦:稼働時間+LCU

• LCUは以下の内、最も使⽤量が⾼いもの• 秒間新規接続数(最⼤25/1LCU)• 分間同時接続数(最⼤3000/1LCU)• 転送量(最⼤2.2Mbps)

Page 6: Kixs.vol003 LBの夜 AWSにおけるロードバランサー

Page:6Copyright©Serverworks Co.,Ltd.AllRightsReserved.

ELBの構成

ElasticLoadBalancing

(CLBorALB)

EC2EC2AvailabilityZone-A

EC2EC2AvailabilityZone-C

hoge.ap-northeast-1.elb.amazonaws.com

この名前をDNSサーバのCNAMEレコードとして登録する

(Route53の場合は、Alias機能で登録)

仮想サーバ

Page 7: Kixs.vol003 LBの夜 AWSにおけるロードバランサー

Page:7Copyright©Serverworks Co.,Ltd.AllRightsReserved.

拡張性

負荷に応じて、キャパシティを増減

従量課⾦

マネージドサービス

他サービス(ACM/Route53/AS/CFn)との連携

ELBの特徴

Page 8: Kixs.vol003 LBの夜 AWSにおけるロードバランサー

Page:8Copyright©Serverworks Co.,Ltd.AllRightsReserved.

ELBの設計ポイント

AvailabilityZone-A AvailabilityZone-C

ELB用 subnet(/27以上)

EC2用 subnet

ELB用 subnet(/27以上)

EC2用 subnet

EC2 EC2

①サブネットは/27以上を確保し、8個以上の空きが必要(仕様)。ELB専用としたほうがよい

③クロスゾーン負荷分散の有効化

②複数のAZに跨って、配置サブネットを選択する

Page 9: Kixs.vol003 LBの夜 AWSにおけるロードバランサー

Page:9Copyright©Serverworks Co.,Ltd.AllRightsReserved.

ELBの内部構造(※個⼈の妄想です)

AvailabilityZone-A AvailabilityZone-C

ELB用 subnet(/27以上)

EC2用 subnet

ELB用 subnet(/27以上)

EC2用 subnet

EC2 EC2

グローバルIP

プライベートIP

グローバルIP

プライベートIP

DNSでトラフィックが分散される

③クロスゾーン負荷分散の場合、

AZを跨って分散が行われるサーバに到達する送信元IPアドレスは、クライアントのIPアドレスではなく、ELB(内部ノードのプライベートIPアドレ

ス)になる

①指定サブネットにLB用のノードが配置される

②ノードは、IPを2つ持つマルチホーム構成

Page 10: Kixs.vol003 LBの夜 AWSにおけるロードバランサー

Page:10Copyright©Serverworks Co.,Ltd.AllRightsReserved.

ELBスケールアウト(※個⼈の妄想です)

AvailabilityZone-A AvailabilityZone-C

ELB用 subnet(/27以上)

EC2用 subnet

ELB用 subnet(/27以上)

EC2用 subnet

EC2 EC2

グローバルIP

プライベートIP

グローバルIP

プライベートIP

グローバルIP

プライベートIP

グローバルIP

プライベートIP

グローバルIP

プライベートIP

グローバルIP

プライベートIP

LB用のノードが増加する

Page 11: Kixs.vol003 LBの夜 AWSにおけるロードバランサー

Page:11Copyright©Serverworks Co.,Ltd.AllRightsReserved.

負荷に応じて⾃動でスケールする

ただし、スパイク時(TV放送等)には間に合わない可能性(HTTP 503エラー)

ELBの事前スケールアウト

事前に段階的に負荷をかけておく

AWSサポートへの暖気申請(Pre-Warming)

• Business/Enterprizeサポートが必要

ELBのスケールアウトについて

Page 12: Kixs.vol003 LBの夜 AWSにおけるロードバランサー

Page:12Copyright©Serverworks Co.,Ltd.AllRightsReserved.

SSLサポート

SSL終端可能、ACM(無料)を利⽤可能

スティッキーセッション

アプリケーション側の有効期限で制御(CLB)

ELB側で指定した有効期限で制御

AutoScalingとの連携

ELBとAutoScalingのヘルスチェック連動

ELBの機能

Page 13: Kixs.vol003 LBの夜 AWSにおけるロードバランサー

Page:13Copyright©Serverworks Co.,Ltd.AllRightsReserved.

AWSが提供する権威DNSサービス

全世界に分散された権威DNSサーバ

以下を組み合わせてGSLB機能を提供

ヘルスチェック(HTTP/HTTPS/TCP) +フェイルオーバ

トラフィックルーティング

Route53の概要

Page 14: Kixs.vol003 LBの夜 AWSにおけるロードバランサー

Page:14Copyright©Serverworks Co.,Ltd.AllRightsReserved.

シンプルルーティング

加重ルーティング

レイテンシールーティング

フェイルオーバールーティング

位置情報ルーティング

Route53のトラフィックルーティング

Page 15: Kixs.vol003 LBの夜 AWSにおけるロードバランサー

Page:15Copyright©Serverworks Co.,Ltd.AllRightsReserved.

AWS上で動作するサードパーティ

ロードバランサー

Page 16: Kixs.vol003 LBの夜 AWSにおけるロードバランサー

Page:16Copyright©Serverworks Co.,Ltd.AllRightsReserved.

UDP

HTTP/HTTPS以外のL7ベースの負荷分散

LB以外の機能の提供Firewall、WAF(AWS WAF以外)等

ELBでカバーできない負荷分散

Page 17: Kixs.vol003 LBの夜 AWSにおけるロードバランサー

Page:17Copyright©Serverworks Co.,Ltd.AllRightsReserved.

Brocade Virtual Traffic ManagerF5 BIG-IP Virtual EditionA10 Lightning ADC/ A10 Networks vThunderNetScaler VPXBarracuda Load Balancer ADC

サードパーティ製品の例

Page 18: Kixs.vol003 LBの夜 AWSにおけるロードバランサー

Page:18Copyright©Serverworks Co.,Ltd.AllRightsReserved.

⼀般的な構成

EC2

EC2

仮想アプライアンスとして、EC2を展開

EC2

送信元IPアドレスを、クライアントIPアドレスとして見せることも可

(ゲートウェイを仮想アプライアンスに向ける必要がある)

EIP(グローバルIP)

プライベートIP

Page 19: Kixs.vol003 LBの夜 AWSにおけるロードバランサー

Page:19Copyright©Serverworks Co.,Ltd.AllRightsReserved.

冗⻑化

EC2

EC2

Failover時に、AWSAPIを叩いて

EIPを付け替える

EC2

EC2

EIP(グローバルIP)

プライベートIP:1

Active Standby

プライベートIP:2

アクセスは、EIPに対して行う

送信元アドレスをクライアントIPアドレスにしている

場合は、Failover時に、AWSAPIを叩いてデフォルトルートを

切り替える

Page 20: Kixs.vol003 LBの夜 AWSにおけるロードバランサー

Page:20Copyright©Serverworks Co.,Ltd.AllRightsReserved.

EC2上で稼働するため、運⽤(監視、ログ等々)を考慮する必要がある冗⻑化構成の検討スケーリング⽅法を考慮する必要がある

EC2インスタンスタイプの変更ELB + Auto Scalingとの組み合わせ

サードパーティ製品の考慮点

Page 21: Kixs.vol003 LBの夜 AWSにおけるロードバランサー

Page:21Copyright©Serverworks Co.,Ltd.AllRightsReserved.

まとめ

Page 22: Kixs.vol003 LBの夜 AWSにおけるロードバランサー

Page:22Copyright©Serverworks Co.,Ltd.AllRightsReserved.

AWSは、ELB(CLB/ALB)を提供低い運⽤管理コストで⾼可⽤性とスケーラブルな負荷分散を実現可能

サードパーティLBも利⽤可能豊富な付加機能運⽤と⾼可⽤性、スケーラビリティの確保が必要

まとめ