yujiroのプログラミング

勉強内容をアウトプットし、サボらないようにする為のブログ

<DAY193>ロードバランサーとは

\ Follow me!! /

●9/02(月)
●学習日数 193日
●学習時間(本日)3時間
●累計学習時間 827.0時間
●一日あたりの平均学習時間 4.34時間

f:id:yujiro0320:20190512223713p:plain

ロードバランサとは?

ロードバランサとは、インターネット等の外部ネットワークからのリクエストを複数のサーバに割り振る装置です。これによって、ネットワークの負荷を分散(ロードバランシング)することができます。

ロードバランサを利用する理由

次にロードバランサを利用する理由です。
こちらは、スマートフォンのブラウザで動くゲームAを例に説明します。

このゲームAでは、常時100人以上の人がアクセスしています。このゲーム用のサーバは同時に100アクセスであれば1台のサーバで対応できるものの、ブラウザのゲームなので画面が変わるたびにアクセスが発生します。そうなると常時100人以上の人がアクセスしている場合、サーバへのアクセス数はその数倍となる300〜500アクセスとなります。そのため、1台のサーバでは処理できません。

このような時にロードバランサを利用します。例えば、ロードバランサに6台のサーバを配下に持たせます。こうすることで1台では100アクセスしか対応できなかったものが、6台あるので600アクセス(6台×100アクセス)まで対応できるようになります。

さらにこのゲームでは6台配下に持たせているので、1台サーバが停止しても500アクセス受け付けられるのでユーザには影響ありません。つまり、サーバ障害に強い構成にすることができます。

そして、最近ではSSLという暗号を利用したWeb用の通信(HTTPS通信)が推奨されていますが、ロードバランサを利用することでロードバランサにそのSSLの設定を行うことで、ロードバランサ配下のサーバにはSSLの設定が不要にすることができます。

これによって、サーバ自体の設定を簡略することができます。

ロードバランサとELBの比較

上記を踏まえた上で話をELBに戻すと、ELBとはAWSで利用可能なロードバランサのこと です。そのため、ELBはロードバランサの構成図と同様になるよう設定します

f:id:yujiro0320:20190902115820p:plain