負荷分散とは?必要性と仕組み、選び方を解説
はじめに
負荷分散(ロードバランシング)とは
負荷分散を実現するには、次の方法があります。
・専用の負荷分散装置(ロードバランサ―)を使用する
・サーバへ負荷分散ソフトウェアを導入する
・クラウド型ロードバランサ―を契約する
・DNSサーバの設定を行う
負荷分散の役割や機能
速度低下・サーバダウンの防止
負荷分散の仕組みを導入すると、Webページの表示速度の低下を防止できます。
サーバに負荷がかかり、Webページの表示やコンテンツデータの配信が遅延すると、Webサイトを訪れたユーザーのWebサイトへの期待感を損ねてしまいます。Webサイトの印象が悪くなり、ひいては類似の他サイトへ流れてしまいかねません。
負荷分散の仕組みを導入することで、このような表示速度によるリスクの低減だけでなく、サーバの負荷を軽くしてサーバダウンを防ぐこともできます。
参考コラム:サーバダウンから復旧までにかかる時間はどれくらい?原因や対策もご紹介 |
セッションを維持する
ECサイトのように、トランザクションの整合性を維持するには、過去に振り分けたサーバと同じサーバにリクエストを振り分ける必要があります。負荷分散のポリシーによっては、このようなセッションを維持する機能があります。
サーバ監視
負荷分散のポリシーによっては、サーバ監視機能を有しているものがあります。サーバ監視機能があれば、負荷が少ないサーバにリクエストを送ったり、故障したサーバに割り振らないようにしたりすることが可能です。万が一すべてのサーバが故障するとサービスは停止し、修理しなければ元の状態に戻すことはできません。サーバ監視は、サービスの継続のためにも必要なことです。
負荷分散のポリシー・手法
負荷分散ポリシー
・ラウンドロビン
各サーバに、順番にリクエストを割り振る方式です。リクエストの処理時間がある程度一定で、サーバの処理能力が同程度の場合には有効となります。ただしアクセスごとにサーバが切り替わるため、ECサイトなどセッションの維持が必要なケースには向きません。またサーバの負荷を考慮せずに均等に割り振るため、サーバの処理能力に差がある場合には、システム全体の処理能力が落ちる場合があります。
・ランダム
乱数を使用してランダムにリクエストを割り振る方式です。ラウンドロビンと同様に、セッションの維持ができないため動的コンテンツには向きません。またランダムに割り振られるため、均等に割り振るラウンドロビンと比べると多少負荷が偏る可能性があります。
・送信元 IP アドレス
送信元のIPアドレスにしたがってリクエストをサーバに割り振る方式です。送信元IPアドレスごとに割り振られるサーバが決まるため、セッションの維持が可能です。反面、同じIPアドレスからのアクセスが続けばサーバの負荷が偏る可能性があります。
・重み付け
あらかじめサーバに設定された「重み」に応じてリクエストを割り振る方式です。重み付けは他の方法と組み合わせ、ラウンドロビン、重み付けランダムといったように使われます。処理能力が高いサーバに対して優先的に割り振るようにすれば、システム全体で負荷のバランスが取れます。
・サーバ負荷連動
処理能力に余裕のあるサーバへ割り振る方式です。たとえばリーストコネクション(最小接続)方式の場合は、接続が最小のサーバに割り振られます。アクセスごとにサーバが切り替わる可能性があるため、サーバ内のコンテンツ内容はすべてのサーバで同一でなければなりません。
負荷分散の手法
負荷分散を判断する元となる手法にも種類があります。
・ダイレクトルーティング型:MACアドレスを利用する
・トンネル型:IPトンネルを利用する
・アドレス変換(NAT)型:送信元のIPアドレスを変換して処理を分散させる
・プロキシ型:アクセスをプロキシサーバで受信した後に、適切なサーバへ振り分ける
・DNSラウンドロビン:DNSサーバで動的に切り替えを行う
ロードバランサ―の選び方
ロードバランサ―を選ぶ場合のポイントをご紹介します。ロードバランサ―には大きく分けてハードウェア型・ソフトウェア型・クラウド型の3つの形態があり、それぞれ次の特徴があります。
【選び方・1】高い処理能力を求めるならハードウェア型
負荷分散専用の機器を用いるため高い処理能力を持ちます。その反面、機器が高価となります。
【選び方・2】費用を抑えたいならソフトウェア型
ハードウェア型より安価に抑えられています。性能はサーバの能力によります。
【選び方・3】柔軟に対応したいならクラウド型
クラウド型はクラウドサービスを使うために、リソースを柔軟に変更可能です。Webサイトの負荷が高くなることが見込まれる時期、逆に閑散期となるときにも調整でき、コスト調整ができます。
またGCPなど既にロードバランサ―の機能が備わっているクラウドサービスもあります。サーバ選定の時点でロードバランサ―の仕様まで考えておくのも手です。
これらを基本に、それぞれの製品の仕様を加味して選びましょう。
ロードバランサ―とDNSラウンドロビンの違い
ロードバランサ―のメリット・デメリット
<メリット>
DNSラウンドロビンと比較すると、セッションの維持やサーバ監視などの機能的に優れています。またさまざまなITベンダーからロードバランサ―が提供されており、サービスの選択肢が多くあります。
<デメリット>
専用機器やソフトウェアが必要であるため、導入コストが高額になりがちです。
DNSラウンドロビンのメリット・デメリット
<メリット>
専用機器は不要で、DNSサーバのソーンファイルの設定のみで利用可能です。したがって導入コストが低く、作業も比較的容易です。
<デメリット>
ロードバランサ―ほどの機能はなく、効率的な負荷分散はできません。サーバ監視は基本できないため、負荷がかかっているサーバや故障しているサーバにも割り振られます。
アクセリアの広域負荷分散サービス
詳しくは下記ページをご参照ください。
▶DuraSite-aDNS
まとめ
負荷分散によって、速度低下やサーバダウンのリスクを低減し、Webサービスの安定につなげることができます。ECサイトや動画サイトなど、ユーザーのアクセスが多く容量の大きいサイトでは必須であり、適宜見直しが必要だと言えるでしょう。
負荷分散の手法やサービス形態はさまざまあります。負荷分散に関するサービスを導入する際は、提供されている負荷分散の方法はもちろん、導入支援やアフターサービスなどのサポート体制も加味してお選びいただくことをおすすめします。
サービスにご興味をお持ちの方は
お気軽にお問い合わせください。
Webからお問い合わせ
お問い合わせお電話からお問い合わせ
平日09:30 〜 18:00
Free Service