ELBの概要と勘所
2016/11/14
ユースケースから学ぶAWS勉強会
クラスメソッド 渡辺修司
渡辺修司のこと
• クラスメソッド
AWSコンサルティング
Jenkins(定期ジョブ)
構築自動化(Ansible)
• プログラミング
Java, JavaScript, Groovy, Ruby
ユニットテスト
• 趣味
ロードバイク(夏)
スノーボード(冬)
今日お話すること
• ELBはAWSが提供する格安ロードバランサ
• ELBで高可用性設計
• ELBで高負荷対応
• スケールアップよりスケールアウト
ロードバランサ(負荷分散)
スケールアップとスケールアウト
スケールアップ
• シングルサーバの限界
高性能のサーバで処理能力Up
ある程度までは可能だが、一定水準から高額
故障のリスク
• 可用性の問題
障害発生が即時にサービス停止になる
「絶対に止まらない」サーバは存在しない
• 普及帯のサーバは相対的に安い
スケールアウト
• 普及帯サーバを増やして対応
調達しやすい
1台が故障してもサービス停止にならない
アクセス増でもサーバを増やせば良い
• 複数台に分散して処理を捌く
適切に処理を分散する仕組み(ロードバランサ)
分散処理される前提のシステム
ロードバランサの基本機能
1. 処理の分散
2. 死活監視
3. SSLアクセラレーション
基本機能① ー 処理の分散
• ロードバランサは配下のサーバに処理を転送
• 転送先のサーバは不定
ラウンドロビン:均等に分散
リーストコネクション:最小の接続数サーバへ
基本機能② ー 死活監視
• 配下のサーバを死活監視
異常サーバには処理を転送しない
基本機能③ ー SSLアクセラレーション
• ロードバランサでSSL処理を行う
サーバへはHTTPで転送(負荷減少)
証明書を一個所で管理
ロードバランサの種類
• ハードウェア・ロードバランサ
高額(安い製品でも100万円程度)
高性能回線も必須
製品例
F5 BIG-IP
Hitachi Netwiser
• ソフトウェア・ロードバランサ
オープンソースでもある
処理能力はハードウェアに敵わない
設定や運用が大変
ELB (Elastic Load Balancing)
• AWSの提供するサービス
• 簡単に、すぐ、利用できる
• 基本的な機能はすべて利用できる
• 安価($0.027/h = 約3,000円/月)
• フルマネージドで運用の手間がほとんどない
• 高負荷対応
• 柔軟な設定や高度な設定はできない
ELBの用途
負荷対策
• スケールアウトでの処理能力増加
• ある程度までは線形に処理能力アップ
データベースのボトルネックに注意
高可用性
• 複数インスタンスならば故障の影響は少
「稀に不調になる」という意識を持つ
• AZ(データセンター)障害への対策
スケールアップよりスケールアウト
• 障害発生時の連鎖障害対策
 2台構成時は処理能力50%減
 4台構成時は処理能力25%減
• サーバ台数を調整しやすい
 1万ユーザ対応サーバを10台
 2万ユーザ対応サーバを5台
• 数十台でも可能
現実的には4-10台付近に調整
DMZ(非武装地帯)
• サーバへの直接アクセスを防止
• HTTP(s)アクセス可能なネットワークを制限
• 1台構成であっても有効
ELBの機能
ヘルスチェック(死活監視)
• ヘルスチェック用パスを設定
例) 30秒毎にチェックし、4回連続の失敗
• アンヘルシーインスタンスには転送しない
• チェック成功で復旧
SSLサポート
• ELBでSSLアクセラレーション
HTTPS -> HTTP
HTTP -> HTTP
• マネジメントコンソールから証明書を登録
スティッキーセッション
• 同一セッションを同じサーバに転送
• デフォルトでは無効
• DBなどでセッション情報を共有がベター
システム開発時の注意
• 転送されるサーバは不定である前提
ローカルファイル
全サーバは同様に振る舞う
• 状態(ステート)は外部に保存
ステートレスが理想
データベース(RDS, ElasticCache)
ストレージ(S3)
• ステートフルからステートレスへの変更は困難
最初にステートレスにしておく
1台→2台は困難、2台→N台は容易
モニタリング
• アクセス数
• ヘルシーホスト数
• 40xエラー/50xエラー数
アクセスロギング
• ELBのアクセスログをS3に保存
timestamp, status code, useragent, etc…
• 障害発生時の情報
2014-03-07T07:25:38.285777Z elber 130.0.237.XX:37522 172.31.4.218:80 0.000066 0.00105 0.000037 404 404 0 570 "GET
http://54.249.27.XX:80/actus4/ HTTP/1.1"
2014-03-07T07:26:43.731149Z elber 77.50.22.XXX:53477 172.31.4.218:80 0.000053 0.000866 0.000053 200 200 0 10
"GET http://54.249.27.XX:80/ HTTP/1.0"
2014-03-07T07:26:44.410747Z elber 77.50.22.XXX:53656 172.31.4.218:80 0.000052 0.000853 0.000039 404 404 0 168
"GET http://54.249.27.XX:80/foltia/ HTTP/1.0"
2014-03-07T07:26:45.084730Z elber 77.50.22.XXX:53839 172.31.4.218:80 0.000061 0.000874 0.000035 404 404 0 168
"GET http://54.249.27.XX:80/epgrec/do-record.sh HTTP/1.0"
2014-03-07T07:28:12.386207Z elber 189.206.75.XX:64289 172.31.4.218:80 0.000062 0.000924 0.000035 404 404 0 168
"GET http://54.249.27.XX:80/manager/html HTTP/1.1"
まとめ
まとめ
• 簡単に安価に利用できるロードバランサ
• サーバはマルチAZ構成を推奨
スケールアップよりスケールアウト
• 高負荷アクセス対策
必要に応じて追加
• 高可用性構成には必須
• SSL証明書の管理
• モニタリングやロギング機能も有効
• セッション情報などステートフルな部分に注意
• 参考(Blackbelt)
 http://aws.typepad.com/sajp/2015/05/aws-black-belt-elb.html
ELBの概要と勘所

More Related Content

PDF
【12/5 最新版】AWS Black Belt Online Seminar AWS re:Invent 2018 アップデート情報
PDF
20210330 AWS Black Belt Online Seminar AWS Glue -Glue Studioを使ったデータ変換のベストプラクティス-
PDF
20210127 今日から始めるイベントドリブンアーキテクチャ AWS Expert Online #13
PDF
AWS Black Belt Online Seminar 2018 AWS Well-Architected Framework
PDF
20200422 AWS Black Belt Online Seminar Amazon Elastic Container Service (Amaz...
PDF
DevOps with Database on AWS
PDF
Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)
PDF
20200303 AWS Black Belt Online Seminar AWS Cloud Development Kit (CDK)
【12/5 最新版】AWS Black Belt Online Seminar AWS re:Invent 2018 アップデート情報
20210330 AWS Black Belt Online Seminar AWS Glue -Glue Studioを使ったデータ変換のベストプラクティス-
20210127 今日から始めるイベントドリブンアーキテクチャ AWS Expert Online #13
AWS Black Belt Online Seminar 2018 AWS Well-Architected Framework
20200422 AWS Black Belt Online Seminar Amazon Elastic Container Service (Amaz...
DevOps with Database on AWS
Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)
20200303 AWS Black Belt Online Seminar AWS Cloud Development Kit (CDK)

What's hot (20)

PDF
AWS Black Belt Online Seminar 2018 AWS Certificate Manager
PPTX
動的コンテンツをオリジンとしたCloudFrontを構築してみた
PDF
20190514 AWS Black Belt Online Seminar Amazon API Gateway
PDF
AWS Black Belt Online Seminar 2017 AWS Storage Gateway
PDF
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
PDF
AWS Black Belt Online Seminar Amazon Aurora
PDF
20190731 Black Belt Online Seminar Amazon ECS Deep Dive
PDF
AWSではじめるMLOps
PDF
202205 AWS Black Belt Online Seminar Amazon FSx for OpenZFS
PDF
20190220 AWS Black Belt Online Seminar Amazon S3 / Glacier
PDF
20190911 AWS Black Belt Online Seminar AWS Batch
PPTX
基礎から学ぶ? EC2マルチキャスト
PDF
Serverless時代のJavaについて
PDF
Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤
PDF
20210126 AWS Black Belt Online Seminar AWS CodeDeploy
PDF
RESTful Web アプリの設計レビューの話
PDF
20190814 AWS Black Belt Online Seminar AWS Serverless Application Model
PDF
20210216 AWS Black Belt Online Seminar AWS Database Migration Service
PDF
20211203 AWS Black Belt Online Seminar AWS re:Invent 2021アップデート速報
PDF
AWS Black Belt Online Seminar AWS Key Management Service (KMS)
AWS Black Belt Online Seminar 2018 AWS Certificate Manager
動的コンテンツをオリジンとしたCloudFrontを構築してみた
20190514 AWS Black Belt Online Seminar Amazon API Gateway
AWS Black Belt Online Seminar 2017 AWS Storage Gateway
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
AWS Black Belt Online Seminar Amazon Aurora
20190731 Black Belt Online Seminar Amazon ECS Deep Dive
AWSではじめるMLOps
202205 AWS Black Belt Online Seminar Amazon FSx for OpenZFS
20190220 AWS Black Belt Online Seminar Amazon S3 / Glacier
20190911 AWS Black Belt Online Seminar AWS Batch
基礎から学ぶ? EC2マルチキャスト
Serverless時代のJavaについて
Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤
20210126 AWS Black Belt Online Seminar AWS CodeDeploy
RESTful Web アプリの設計レビューの話
20190814 AWS Black Belt Online Seminar AWS Serverless Application Model
20210216 AWS Black Belt Online Seminar AWS Database Migration Service
20211203 AWS Black Belt Online Seminar AWS re:Invent 2021アップデート速報
AWS Black Belt Online Seminar AWS Key Management Service (KMS)
Ad

Similar to ELBの概要と勘所 (8)

PPTX
負荷分散だけじゃないELBのメリット
PDF
Kixs.vol003 LBの夜 AWSにおけるロードバランサー
PDF
AWS Black Belt Online Seminar Elastic Load Balancing
PDF
ELB & Auto Scaling & CloudWatch 詳細 -ほぼ週刊AWSマイスターシリーズ第5回-
PDF
AWS Black Belt Techシリーズ Elastic Load Balancing (ELB)
PDF
AWS Blackbelt 2015シリーズ Elastic Load Balancing
PDF
20120521 aws-meister-elb&as&cw-public
PDF
ELB & CloudWatch & AutoScaling - AWSマイスターシリーズ
負荷分散だけじゃないELBのメリット
Kixs.vol003 LBの夜 AWSにおけるロードバランサー
AWS Black Belt Online Seminar Elastic Load Balancing
ELB & Auto Scaling & CloudWatch 詳細 -ほぼ週刊AWSマイスターシリーズ第5回-
AWS Black Belt Techシリーズ Elastic Load Balancing (ELB)
AWS Blackbelt 2015シリーズ Elastic Load Balancing
20120521 aws-meister-elb&as&cw-public
ELB & CloudWatch & AutoScaling - AWSマイスターシリーズ
Ad

More from Shuji Watanabe (20)

PDF
Serverless - Developers.IO 2019
PDF
Ansible ハンズオン on AWS - DevelopersIO 2017
PDF
SSMでマネージドEC2 #reinvent #cmdevio
PDF
プロビジョニングの今 ーフルマネージド・サービスを目指してー #cmdevio2016 #E
PPTX
AWSによるWebサイト構築と運用 - concrete5 編 -
PDF
Cloud FormationによるBlue-Green Deployment - Dev io mtup11 003
PDF
CloudSearchによる全文検索 - CM:道 2014/08/01
PDF
Javaアプリケーション開発におけるユニットテストとTDDの実践 Java Day Tokyo 2014
PDF
TDD BootCamp in JJUG CCC - レガシーコード対策編 -
PDF
s3+cloud frontによる静的コンテンツ配信 - Sphinx編 #cmdevio
PDF
クラスメソッド会社説明会in札幌 — メンバー紹介 #cmdevio
PDF
テスト駆動開発へようこそ
PDF
テスト駆動開発のはじめ方
PDF
ユースケースからテスト駆動開発へ
KEY
テスト駆動開発入門
KEY
テストコードのリファクタリング
KEY
テスト駆動開発の導入ーペアプログラミングの学習効果ー
KEY
JUnit実践入門 xUnitTestPatternsで学ぶユニットテスト
KEY
アジャイルテスティング
PDF
テストリストの見つけ方
Serverless - Developers.IO 2019
Ansible ハンズオン on AWS - DevelopersIO 2017
SSMでマネージドEC2 #reinvent #cmdevio
プロビジョニングの今 ーフルマネージド・サービスを目指してー #cmdevio2016 #E
AWSによるWebサイト構築と運用 - concrete5 編 -
Cloud FormationによるBlue-Green Deployment - Dev io mtup11 003
CloudSearchによる全文検索 - CM:道 2014/08/01
Javaアプリケーション開発におけるユニットテストとTDDの実践 Java Day Tokyo 2014
TDD BootCamp in JJUG CCC - レガシーコード対策編 -
s3+cloud frontによる静的コンテンツ配信 - Sphinx編 #cmdevio
クラスメソッド会社説明会in札幌 — メンバー紹介 #cmdevio
テスト駆動開発へようこそ
テスト駆動開発のはじめ方
ユースケースからテスト駆動開発へ
テスト駆動開発入門
テストコードのリファクタリング
テスト駆動開発の導入ーペアプログラミングの学習効果ー
JUnit実践入門 xUnitTestPatternsで学ぶユニットテスト
アジャイルテスティング
テストリストの見つけ方

Recently uploaded (10)

PPTX
Cosense - 整えずして完全勝利!Cosenseが他のwikiツールと違う理由
PDF
R-SCoRe: Revisiting Scene Coordinate Regression for Robust Large-Scale Visual...
PDF
ココロ分解帳|感情をやさしく分解し自分と他者を理解するためのモバイルノートアプリ
PDF
20250823_IoTLT_vol126_kitazaki_v1___.pdf
PDF
20250826_Devinで切り拓く沖縄ITの未来_AI駆動開発勉強会 沖縄支部 第2回
PPTX
生成AIとモデルベース開発:実はとても相性が良いことを説明します。まあそうだろうなと思われる方はご覧ください。
PDF
Geminiの出力崩壊 本レポートは、Googleの大規模言語モデル「Gemini 2.5」が、特定の画像と短文入力に対して、誤った地名を推定し、最終的に...
PDF
Yamaha DT200WR Real Enduro ENGINE CYLINDER TRANSMISSION
PPTX
Vibe Codingを触って感じた現実について.pptx .
Cosense - 整えずして完全勝利!Cosenseが他のwikiツールと違う理由
R-SCoRe: Revisiting Scene Coordinate Regression for Robust Large-Scale Visual...
ココロ分解帳|感情をやさしく分解し自分と他者を理解するためのモバイルノートアプリ
20250823_IoTLT_vol126_kitazaki_v1___.pdf
20250826_Devinで切り拓く沖縄ITの未来_AI駆動開発勉強会 沖縄支部 第2回
生成AIとモデルベース開発:実はとても相性が良いことを説明します。まあそうだろうなと思われる方はご覧ください。
Geminiの出力崩壊 本レポートは、Googleの大規模言語モデル「Gemini 2.5」が、特定の画像と短文入力に対して、誤った地名を推定し、最終的に...
Yamaha DT200WR Real Enduro ENGINE CYLINDER TRANSMISSION
Vibe Codingを触って感じた現実について.pptx .

ELBの概要と勘所