【利用シーン】アクセスが集中したときなど、サーバーにかかる負荷を効率的に分散したいとき
【解説】
ロードバランサーを使うことで、仮想サーバーの負荷を軽減する方法です。
昨今、スマートフォンやSNSの普及により、Webサイトへのアクセスが短時間で急激に増加することが増えています。例えば、新たに実施したキャンペーンがTwitter上で評判になったり、影響力のあるブログで製品が紹介されたりしたとき、一瞬でWebサイトへのリクエストが集中します。こうした場合、アクセスがいつ増えるのか、どの程度増えるのか、いつまで続くのかといったことを正確に予測するのは困難です。
アクセスの集中がシステムのキャパシティを超えると、サイトの応答が遅くなったり、接続しにくくなったりするだけでなく、最悪の場合はサービスがダウンしてしまうこともあり得ます。こうなると、せっかく関心を集めたのにかえって評判を落とすことになりかねません。
かといって、こうした事態に備えるため、あらかじめ必要以上にシステムへ余裕を持たせるというのもムダですし、アクセスが集中しているときにハードウェアを入れ替えたり、サーバーを再構築したりすることも不可能です。
それゆえ、企業がWebサーバーを運用する際には、最初から複数のサーバーでWebサイトを構成し、必要に応じて処理を分散したり、障害の発生したサーバーを切り離したりできるようにする必要があります。そしてその際、システムの構成やアクセスの状況に最も適したかたちで、仮想サーバーへかかる負荷を分散させるのがロードバランサーの役割です。
ロードバランサーの分散条件にはいくつかの種類があります。代表的なものは、ラウンドロビンやリーストコネクションでしょうか。
・ラウンドロビン
分散対象の仮想サーバーに順番にアクセスを振り分ける方式です。静的なコンテンツの多いWebサイトに向いています。
・リーストコネクション
最も少ないセッションの仮想サーバーにアクセスを振り分けます。セッションの保持が行われるWebサイトに向いています。
ロードバランサーを利用する際には、Webサーバーの運用方法やコンテンツの種類によって、最適なバランシング方式を選ぶことが大切です。例えば、複数のWebサーバーで常に処理を分散し、サーバー1台あたりの負荷を軽減したいときには、いくつかある方式の中から最適なものを選ぶことになります。具体的には、静的なコンテンツが中心であればラウンドロビン方式、会員制サイトなどでセッションの保持が必要ならリーストコネクション方式がよいでしょう。
他にも、いくつかの種類があります。
たとえば、送信元IPアドレスごとにアクセスする仮想サーバーを振り分ける「ソースIPハッシング」方式があります。事業所や取引先によって接続するサーバーを指定したいときなどに利用します。
また、障害対策にロードバランサーを利用するときには、アクティブとスタンバイのふたつのWebサーバーを立て、通常時にはアクティブで処理を行い、アクティブ側で障害が発生したときにスタンバイで処理を行うようにします。
ちなみにロードバランサーはサーバーのヘルスチェック機能も備えているため、一部のサーバーに障害が発生した際には、他のサーバーへ処理を引き継ぐことで、"止まらないサービス"を実現することが可能です。
ヘルスチェック
ロードバランサーが、配下のサーバーの稼働状況をチェックすることをヘルスチェックと呼びます。この機能を利用し、一部のサーバーに障害が発生したときに、正常に稼働しているサーバーへ処理を振り分けることが可能です。
【GMOクラウド ALTUSでの利用方法】
GMOクラウドALTUS(以下、ALTUS)では、ロードバランサーは無償で提供され、以下の3方式で利用できます。
・ラウンドロビン
・リーストコネクション
・ソースIPハッシング
【操作手順】
「参照ページ」はALTUS Basicシリーズ、Isolateシリーズのサポートページになります。
(1)ALTUSのコンソールにログインします。
【参照ページ】コンソールガイド(Basicシリーズ)
【参照ページ】コンソールガイド(Isolateシリーズ)
(2) ロードバランサーを設定します。
【参照ページ】ロードバランサー設定(Basicシリーズ)
【参照ページ】ロードバランサー設定(Isolateシリーズ)