ホーム topics ロード・バランシング ロード・バランシングとは?
IBM® Instanaについて詳しく見る
ロード・バランシングのグラフィック図

ロード・バランシングとは、アプリケーションの可用性を最適化し、エンド・ユーザー・エクスペリエンスを確実に向上させるために、ネットワーク・トラフィックを複数のサーバー間で効率的に分散するプロセスです。

トラフィックの多いWebサイトやクラウド・コンピューティング・アプリケーションは毎日何百万ものユーザー・リクエストを受け取るため、ロード・バランシングは最新のアプリケーション配信に不可欠な機能です。たとえば、ECサイトはロード・バランシングを利用して、Webアプリケーションが遅延やダウンタイムなしにデータ、画像、ビデオ、価格設定を Webサーバーから消費者に配信できるようにします。

ツアーに参加する

IBM Instana Observabilityは、企業全体の誰もが必要なコンテキストを備えた必要なデータに簡単にアクセスし、問題の迅速な防止と修復を実現します。

関連コンテンツ

IBMニュースレターの購読

ロード・バランシングの仕組み

ロード・バランシングはいくつかの方法で実装できます。ハードウェア・ロード・バランサーは、オンプレミスにインストールおよび保守される物理的装置です。ソフトウェア・ロード・バランサーは、私有サーバーにインストールされるか、管理型クラウド・サービス(クラウド・ロード・バランシング)として提供されるアプリケーションです。

いずれの場合も、ロード・バランサーは、受信するクライアント・リクエストをリアルタイムで仲介し、どのバックエンド・サーバーがそれらのリクエストを最も適切に処理できるかを判断します。1台のサーバーが過負荷になるのを防ぐために、ロード・バランサーは、オンプレミスまたはサーバー・ファームやクラウド・データセンターでホストされている利用可能な任意の数のサーバーにリクエストをルーティングします。

割り当てられたサーバーがリクエストを受信すると、ロード・バランサー経由でクライアントに応答します。次に、ロード・バランサーは、クライアントのIPアドレスを選択したサーバーのIPアドレスと照合することで、サーバーからクライアントへの接続を完了します。その後、クライアントとサーバーは通信し、セッションが完了するまで要求されたタスクを実行できます。

ネットワーク・トラフィックが急増した場合、ロード・バランサーは需要に対応するために追加のサーバーをオンラインにすることがあります。または、ネットワーク・アクティビティーが停滞している場合、ロード・バランサーが利用可能なサーバーのプールを減らす可能性があります。また、以前のユーザー要求が一時的に保存されるキャッシュ・サーバーにトラフィックをルーティングすることで、ネットワーク・キャッシュを支援することもできます。

ロード・バランシングの利点
可用性

ロード・バランサーは、サーバーにリクエストをルーティングする前にサーバーのヘルス・チェックを実行します。1台のサーバーに障害が発生しそうになったり、メンテナンスやアップグレードのためにオフラインになったりした場合、ロード・バランシングによってワークロードが稼働中のサーバーに自動的に再ルーティングされ、サービスの中断を回避し、高可用性を維持します。

拡張性

ロード・バランシングにより、最も重いまたは最も軽いネットワーク・トラフィック負荷を処理できるオンデマンドの高性能インフラストラクチャーが可能になります。物理サーバーまたは仮想サーバーは必要に応じて追加または削除できるため、スケーラビリティーが簡単かつ自動化されます。

セキュリティー

ロード・バランサーには、SSL暗号化、Webアプリケーション・ファイアウォール(WAF)、多要素認証(MFA)などのセキュリティ機能を搭載することができます。また、アプリケーション・デリバリー・コントローラー(ADC)に組み込んで、アプリケーション・セキュリティーを向上させることもできます。ネットワーク・トラフィックを安全にルーティングまたはオフロードすることで、ロード・バランシングは分散型サービス妨害(DDoS)攻撃などのセキュリティー・リスクを防御するのに役立ちます。

ロード・バランシング アルゴリズム

リクエストを特定のサーバーにルーティングする方法は、ロード・バランシング・アルゴリズムによって定義されます。ロード・バランシング・アルゴリズムは、さまざまなユースケースを満たすさまざまな機能と利点を提供します。

ラウンドロビン
ドメイン・ネーム・システム (DNS) を使用して、継続的なローテーションで各サーバーにリクエストを順番に割り当てるアルゴリズムです。これは最も基本的なロード・バランシング手法であり、各サーバーの名前のみを使用して、次に受信するリクエストをどのサーバーが受信するかを決定します。

加重ラウンドロビン
このアルゴリズムの各サーバーには、DNS名に加えて「重み」も割り当てられます。重みによって、受信リクエストを処理するためにどのサーバーが他のサーバーよりも優先される必要があるかが決まります。管理者は、各サーバーの容量とネットワークのニーズに基づいて、各サーバーの重み付けを決定します。

IPハッシュ
計算により受信リクエストのIPアドレスがハッシュ・キーと呼ばれる小さな値に単純化(またはハッシュ化)されるアルゴリズムです。この一意のハッシュ・キー(ユーザーのIPアドレスを表す)は、リクエストを特定のサーバーにルーティングする方法を決定するための基礎として使用されます。

最小接続数
名前が示すように、このアルゴリズムは、新しいクライアント要求を受信したときに、アクティブな接続が最も少ないサーバーを優先します。この方法は、接続によるサーバーの過負荷を防ぎ、サーバー間で常に一貫した負荷を維持するのに役立ちます。

最短の応答時間
このアルゴリズムは、最小の接続方法と最短の平均サーバー応答時間を組み合わせたものです。接続数と、サーバーがリクエストを実行して応答を送信するのにかかる時間の両方が評価されます。アクティブな接続が最も少ない最速のサーバーが受信リクエストを受け取ります。

ロード・バランサーのタイプ

ロード・バランサーの主な目的はトラフィックを分散させることだが、特定の機能を果たすロード・バランサーにはいくつかの種類があります。

ネットワーク・ロード・バランサー
ネットワーク・ロード・バランサーはトラフィックを最適化し、ローカルおよび広域ネットワーク全体の遅延を削減します。IPアドレスや宛先ポートなどのネットワーク情報と、TCPおよびUDPプロトコルを使用してネットワーク・トラフィックをルーティングし、ユーザーの要求を満たす十分なスループットを提供します。

アプリケーション・ロード・バランサー
これらのロード・バランサーは、URL、SSLセッション、HTTPヘッダーなどのアプリケーションコンテンツを使用して、API要求トラフィックをルーティングします。
重複する機能は複数のアプリケーション・サーバーに存在するため、アプリケーション・レベルのコンテンツを調査することで、特定のリクエストを迅速かつ確実に処理できるサーバーを特定することができます。

仮想ロード・バランサー
仮想化とVMwareテクノロジーの台頭により、サーバー、仮想マシン、コンテナー間のトラフィックを最適化するために仮想ロード・バランサーが使用されるようになりました。Kubernetesなどのオープンソースのコンテナ・オーケストレーション・ツールは、クラスター内のコンテナーからノード間でリクエストをルーティングする仮想ロード・バランシング機能を提供します。

グローバル・サーバー・ロード・バランサー
このタイプのロード・バランサーは、アプリケーションの可用性を確保するために、地理的に複数の場所にまたがるサーバーにトラフィックをルーティングします。ユーザー要求は、最も近い利用可能なサーバーに割り当てることができ、サーバー障害が発生した場合は、使用可能なサーバーのある別の場所に割り当てることができます。このフェイルオーバー・ケイパビリティーにより、グローバル・サーバーのロード・バランシングが災害復旧の貴重なコンポーネントになります。

関連ソリューション
IBM Cloud® ロード・バランサー

IBM Cloud ロード・バランサーを使用すると、サーバー間のトラフィックのバランスをとり、アップタイムと効率を向上させることができます。

IBM Cloud ロード・バランサーを詳しく見る
IBM Instana

ハイブリッド・クラウド向けの主要なエンタープライズ識別情報プラットフォームをご覧ください。アプリケーションがどこに存在しても、アプリケーションのパフォーマンス管理を改善し、CI/CDパイプラインを高速化します。

IBM® Instanaについて詳しく見る
IBM Turbonomic

アプリケーションの需要とクラウド・リソースをリアルタイムで継続的かつ正確に突き合わせ、確信をもってコストを割り振ることができます。

IBM Turbonomicの詳細はこちら
ロード・バランシングの参考情報 クラウド・コンピューティングとは

クラウド・コンピューティングがITインフラストラクチャーをユーティリティーに変換し、インターネット経由でコンピューティング・リソースやアプリケーションに「プラグイン」できるようにする方法をご覧ください。

Kubernetesとは?

オープンソースのコンテナ・オーケストレーション・プラットフォームであるKubernetesが、コンテナ化されたアプリケーションのデプロイ、管理、スケーリングをどのように自動化するかをご覧ください。

次のステップ

IBM Instanaは、誰でも使用できるリアルタイムの可観測性を提供します。プログラム識別情報戦略が今日および将来の環境の動的な複雑さに確実に対応できるようにしながら、価値を迅速に実現します。モバイルからメインフレームまで、Instanaは250以上のテクノロジーをサポートしており、その数は増え続けています。

IBM® Instanaについて詳しく見る 無料評価版を試す