Webサイトにアクセスしようとしたけど、サーバーがダウンしていて開けなかった。という経験はありませんか?
サーバーに負荷がかかりすぎてしまうと、処理が追いつかずレスポンスが遅くなったり、サーバーがダウンしてしまうことがあります。
サーバーに負荷がかかりすぎてしまわないように、負荷を分散させるための仕組みとして、「ロードバランサー」があります。
今回は、そんなサーバーの負荷を分散させる「ロードバランサー」についてご紹介いたします。
LBと略されることのある「ロードバランサー(Load Balancer)」は、日本語で「負荷分散装置」を意味します。
Loadは負荷、Balancerはバランスをとるという意味で、IT用語としては、「サーバーに対する負荷を集中させないためにバランスを調整する仕組み」のことを指します。
ここでいう負荷とは、サーバーへの集中したアクセスのことです。
サーバーにアクセスが集中しすぎてしまうと処理の数が多くなり、レスポンスが遅くなってしまいます。
サーバーへのアクセス一極集中をなくすことで、安定したサービスを保証できるので、サービスの品質を保つために必要となります。
ロードバランサーを活用する場合には、サーバーは1台でなく、複数台必要になります。
通常、Webサイトにアクセスが生じた場合、1台のサーバーがリクエストの100%を処理します。
ロードバランサーを間に挿むことで、アクセスを複数のサーバーに分割して処理することができるようになります。
例えば、Webサイトへのアクセスリクエストが100件発生したとします。
ロードバランサーがない場合には、100件全ての処理を1つのサーバーで行います。
ロードバランサーを間に入れることによって、2台のサーバーにアクセスリクエストを割り振るので、サーバー1台あたりの処理は50件となり負荷が分散されます。
アクセスリクエストの割り振り条件としては2種類「IPアドレスやポート番号を利用するL4」と「URLなどを参照するL7」があります。
ロードバランサーの設定をメンテナンス中のサーバーに振り分けしないようにすることで、サーバーを一時停止せずにメンテナンスを行うことができます。
1台のサーバーで運用している場合、そのサーバーが故障してしまうとサービスは停止してしまい、修繕するまで元の状態には戻りません。
ロードバランサーの仕組みではサーバーを複数台で構成しているため、1台が故障しても他のサーバーに自動切換えしてしまえば、ユーザーは継続してアクセスすることができます。
他のサーバーを使用している間に故障したサーバーを修理して再びロードバランサーの仕組みに戻せば、従来の構成と機能に戻すことができます。
サーバーは、アクセスが集中しすぎると負荷がかかり処理が遅くなります。
ロードバランサーで処理を1台ではなく複数あるそれぞれのサーバーに振り分けることで、1台にかかるサーバーへの負荷を軽減することができ、ページの表示に時間がかかるという状況を回避することができます。
従来のロードバランサーはハードウェアベースに構成されてきましたが、クラウド化が*進む中で、ソフトウェアベースのクラウド型ロードバランサーが登場しました。
クラウド型ロードバランサーは、複数のクラウドサーバー間で負荷を分散させます。
メリットとしては、手軽にリソースを追加できることや、必要なときに必要な文だけリソースを追加できるためコストの削減になるなどがあります。
*クラウド化についてはこちらの「働き方が変わる!?クラウド化について」をご覧ください。
今回は、ロードバランサーについてご紹介いたしました。
ロードバランサーでWebサイトなどへのアクセス(負荷)を分散し、サーバーをダウンさせないサービスを運営していきましょう。
コスト面が心配だという方は、従来のロードバランサーより安価な「クラウド型ロードバランサー」もあるので、ぜひ活用してみてはいかがでしょうか?