ロードバランサーとは何ですか?

ロード バランサーを使用すると、アプリケーションをサポートするために、リソース (オンプレミスまたはクラウド) 間でネットワーク トラフィックを動的に分散できます。

ロード バランサは、トラフィック プロキシとして機能し、ネットワークまたはアプリケーションのトラフィックを複数のサーバー上のエンドポイントに分散するソリューションです。 ロード バランサは、トラフィックのピーク時に容量を分散し、アプリケーションの信頼性を高めるために使用されます。 個々のサービスやクラウドの負荷を軽減することでアプリケーションの全体的なパフォーマンスを向上させ、さまざまなコンピューティング サーフェス間で需要を分散して、アプリケーションとネットワーク セッションの維持に役立ちます。 

現代のアプリケーションは、何百万ものセッションを同時に処理し、正しいテキスト、ビデオ、画像、その他のデータを各ユーザーに高速かつ確実に返す必要があります。 このような大量のトラフィックを処理するために、ほとんどのアプリケーションには、重複したデータを持つ多数のリソース サーバーが存在します。

負荷分散は、アプリケーションをサポートするリソースのネットワーク全体にネットワーク トラフィックを動的に分散します。 ロード バランサは、ユーザーとサーバー グループの間に配置され、目に見えない仲介者として機能し、すべてのリソース サーバーが均等に使用されるようにするデバイスまたはサービスです。 ロード バランサは、使用量や需要が急増した場合でも信頼性と可用性を高め、稼働時間の増加とユーザー エクスペリエンスの向上を実現します。

場合によっては、クライアントがショッピング カートにアイテムを入れてから購入を完了する場合など、セッションの期間中、クライアントからのすべてのリクエストが同じサーバーに送信されることが不可欠です。 クライアントとサーバー間の接続を維持することをセッション永続性と呼びます。 セッションの永続性がなければ、情報をサーバー間で同期する必要があり、複数回取得する可能性があり、パフォーマンスの効率が低下します。

負荷分散の利点

ユーザーと顧客は、情報を検索したり取引を実行したりするために、ほぼリアルタイムの機能に依存しています。 ピーク需要や使用時間であっても、遅延時間や信頼性の低い一貫性のない応答があると、顧客を永久に遠ざけてしまう可能性があります。 また、コンピューティング需要の急増は、着信する需要、つまり「負荷」が高すぎて簡単に対応できない場合、内部サーバーまたはサーバー システムに大混乱を引き起こす可能性があります。 

ロード バランサを使用する利点は次のとおりです。

  • アプリケーションの可用性: 社内外のユーザーは、アプリケーションの可用性に依存できる必要があります。 アプリケーションまたは機能がダウンしたり、遅延したり、フリーズしたりすると、貴重な時間が失われ、潜在的な摩擦の原因となり、顧客が競合他社へ流れてしまう可能性があります。
  • アプリケーションのスケーラビリティ: あなたがチケット販売会社を経営していて、人気のある公演のチケットが特定の日時に発売されると発表されたと想像してください。 チケットを購入するためにあなたのサイトにアクセスしようとする人は数千人、あるいはそれ以上いる可能性があります。 ロード バランサがなければ、サイトは単一または最初のサーバーが対応できる範囲に制限されますが、需要が多すぎると対応できない可能性があります。 代わりに、ロード バランサーを使用してリクエストとトラフィックを他の利用可能なコンピューティング サーフェスに誘導することで、トラフィックの急増に備えることができます。 つまり、より多くの顧客が希望のチケットを入手できるようになります。
  • アプリケーションセキュリティ: 負荷分散により、組織はセキュリティ ソリューションを拡張することもできます。 主な方法の 1 つは、トラフィックを複数のバックエンド システムに分散することです。これにより、攻撃対象領域が最小限に抑えられ、リソースが枯渇したりリンクが飽和したりすることが難しくなります。 ロード バランサは、あるシステムが脆弱であったり侵害されたりした場合に、トラフィックを他のシステムにリダイレクトすることもできます。 さらに、ロード バランサは、特定のサーバーが脆弱になった場合にサーバー間のトラフィックを再ルーティングすることで、DDoS 攻撃に対する追加の保護層を提供できます。
  • アプリケーションのパフォーマンス: 上記のすべてを実行することで、ロード バランサはアプリケーションのパフォーマンスを向上させます。 ロード バランサーは、セキュリティを強化し、稼働時間を最適化し、需要の急増に対応できるスケーラビリティを実現することで、アプリケーションが設計どおりに、つまりお客様やお客様の顧客が望むとおりに動作し続けるようにします。

負荷分散アルゴリズム

負荷分散アルゴリズムには、その動作方法によって静的と動的の 2 種類があります。 静的負荷分散は、分散ネットワーク内の既存のサーバーのパフォーマンス容量情報を持つアルゴリズムを使用して、サーバーへの着信負荷を測定します。 動的負荷分散では、実行時に削減する必要がある負荷の量と、どのシステムが負荷を負担するかを動的に識別できます。  入力負荷の変動が大きいシステム向けに設計されています。 

以下に、一般的な負荷分散アルゴリズムの種類をいくつか示します。

  • ラウンドロビン: このアルゴリズムは、ドメイン ネーム システム (DNS)を使用して、トラフィックをサーバーのリストに順番に送信します。 (注記: DNS 負荷分散も動的なソリューションになります。
  • しきい値: このアルゴリズムは、管理者が設定したしきい値に基づいてタスクを配布します。
  • 2 つの選択肢があるランダム: 「2 の累乗」アルゴリズムは、2 つのサーバーをランダムに選択し、最小接続アルゴリズムまたは最小時間アルゴリズム (構成されている場合) を適用して選択されたサーバーに要求を送信します。
  • 最小接続数: 新しいリクエストは、クライアントへの現在の接続が最も少ないサーバーに送信されます。 各サーバーの相対的な計算能力は、どのサーバーが最も少ない接続を持っているか、またはどのサーバーが最も少ない帯域幅またはリソースを使用しているかを判断する際に考慮されます。
  • 最短時間: このアルゴリズムでは、最も速い応答時間と最も少ないアクティブ接続を組み合わせた式によって選択されたサーバーにリクエストが送信されます。 
  • URLハッシュ: このアルゴリズムは、クライアント要求に存在する URL に基づいてハッシュ値を生成します。 リクエストはハッシュ値に基づいてサーバーに転送されます。 ロード バランサは URL のハッシュ値をキャッシュするため、同じ URL を使用する後続のリクエストはキャッシュ ヒットとなり、同じサーバーに転送されます。
  • ソース IP ハッシュ: このアルゴリズムは、クライアントの送信元および宛先 IP アドレスを使用して、クライアントを特定のサーバーに結び付ける一意のハッシュ キーを生成します。 セッションが切断された場合にキーを再生成できるため、再接続要求を以前使用したのと同じサーバーにリダイレクトできます。
  • 一貫性のあるハッシュ: このアルゴリズムは、クライアントとサーバーの両方をリング構造にマッピングし、各サーバーにはその容量に基づいてリング上の複数のポイントが割り当てられます。 クライアントからのリクエストが届くと、そのリクエストはリング上のポイントにハッシュされ、次に利用可能なサーバーに時計回りに動的にルーティングされます。

負荷分散はどのように機能しますか?

負荷分散は、ユーザー要求に静的または動的に応答し、その要求をその要求を満たすことができるバックエンド サーバーの 1 つに分散することによって機能します。 サーバーの 1 つがダウンした場合、ロード バランサーはトラフィックを残りのオンライン サーバーにリダイレクトします。

負荷分散の例

静的負荷分散の例: ある企業が、大部分が静的なコンテンツを含む Web サイトをホストしています。 このシナリオは、トラフィックのニーズが予測可能で一貫しているため、静的ロード バランサに最適です。 企業は、静的ロード バランサがトラフィックを分散できる 2 台 (またはそれ以上) の同一の Web サーバーを使用できます。

動的負荷分散の例: 企業ではトラフィックの急増、増加、減少が起こります。 予測可能なものもあれば、予測不可能なものもあります。 これらの組織は動的負荷分散の恩恵を受けるでしょう。 こうした企業には、ブラックフライデーの営業時間や日付を発表する電子商取引小売業者、季節性ワクチンのオンライン予約が可能になったと発表したばかりのヘルスケア企業、失業保険受給者に毎週の特定の曜日に申請することを義務付けている政府の失業保険機関、自然災害にオンラインで迅速に対応する必要がある救援組織などが含まれる。 こうしたトラフィックと需要の急増や急増の一部は計画可能ですが、一部は計画できません。 このようなシナリオでは、動的負荷分散アルゴリズムにより、顧客やユーザーが最も必要とするときにアプリやリソースへのアクセスが確保されます。

さまざまなタイプのロードバランサー

オープン システム インターコネクション (OSI)モデルと呼ばれるアーキテクチャには、さまざまな機能を備えたさまざまな種類のロード バランサが存在します。 このモデルには 7 つのレイヤーがあります。 ネットワーク ファイアウォールはレベル 1 から 3 まであります (L1 - 物理配線、L2 - データ リンク、L3 - ネットワーク)。 一方、負荷分散はレイヤー 4 から 7 (L4 トランスポート、L5 セッション、L6 プレゼンテーション、L7 アプリケーション) で行われます。 ロードバランサは通常、レイヤー 4 とレイヤー 7 で使用されます。 

  • レイヤー 4 ロード バランサは、ネットワークおよびトランスポート層プロトコル (IP、TCP、FTP、UDP) からのデータに基づいてトラフィックを送信します。 IP レイヤーでの負荷分散とは、ロード バランサーの IP アドレスが Web サイトのクライアントにアドバタイズされ、宛先アドレスとして記録される展開を指します。 ロード バランサは要求を受け取ると、記録されている宛先 IP アドレスを、選択したコンテンツ サーバーの IP アドレスに変更します。
  • レイヤー 7 ロード バランサは、HTTP ヘッダー、Cookie、Uniform Resource Identifier、SSL セッション ID、HTML フォーム データなどのアプリケーション層プロトコルにあるデータに基づいて要求を分散します。 また、特定のパラメータの値など、アプリケーション メッセージ自体内のデータに基づいてルーティングを決定することもできます。 レイヤー 7 は、負荷分散にコンテンツ スイッチングを追加します。

クラウドベースのロードバランサー

クラウドベースのロードバランサーは、トラフィックの急増に対応し、サーバーの使用を最適化するだけのトラフィックコントローラーではありません。 クラウドネイティブ ロードバランサーは、トラフィックのボトルネックを発生する前に視覚化するのに役立つ予測分析も提供します。 その結果、あらゆる企業が IT ソリューションを最適化するのに役立つ実用的な洞察が得られます。

アプリケーション負荷分散: 企業がアプリケーションのパフォーマンスと可用性にますます依存するようになるにつれて、アプリケーションの負荷分散は、拡張、運用の合理化、コストの節約に役立ちます。

グローバル サーバー負荷分散: 世界中にユーザーと顧客がいる場合、企業は、ユーザーを最も近いエンドポイントに送信するグローバル サーバー負荷分散によって負荷の可用性を高めることができます。 

DNS 負荷分散: ドメイン ネーム システム (DNS) でドメインを構成して、ドメインへのユーザー要求がサーバー マシンのグループ全体に分散されるようにする方法は、 DNS ロード バランシングと呼ばれます。

ネットワーク負荷分散: アプリケーション配信コントローラ (ADC) は、物理サーバーのプロキシとして機能する物理アプライアンスまたは仮想アプライアンスであり、アプリケーションまたはネットワーク機能を管理し、それらをサポートするネットワーク負荷分散ソリューションに依存します。 ADC は、キャッシュ、圧縮SSL 処理のオフロードなどの他の技術も使用して、 Web アプリケーションのパフォーマンスを向上させます。 通常の構成では、ADC は Web サーバーとアプリケーション サーバーのグループの前に配置され、それらのサーバーとクライアント間の要求と応答を仲介し、エンド ユーザーにはグループが 1 つの仮想サーバーのように見えます。

HTTP(S) 負荷分散: 複数の Web サーバー グループまたはアプリケーション サーバー グループにトラフィックを分散してリソース使用率を最適化する手法は、HTTP(S) ロード バランシングと呼ばれます。 

内部負荷分散: 内部ロードバランサはプライベートサブネットに割り当てられており、パブリック IP はありません。 通常はサーバー ファーム内で動作します。

直径: Diameter ロード バランサは、ネットワーク内の複数のサーバーにシグナリング トラフィックを分散します。 最もコスト効率の高い方法の 1 つは、データ転送層ではなく、直径制御プレーンを拡張することです。 (Diameter のロード バランシングは静的または動的に行うこともできます。)

ロード バランサー テクノロジー

他にも、単独で使用することも、クラウドネイティブ ロード バランサーとネットワーク内で使用できるタイプのロード バランサー ソリューションがあります。 注目すべきタイプをいくつか紹介します。

ハードウェア ロード バランサー: ハードウェア ロード バランサーは、特殊なオペレーティング システムを搭載した物理デバイスであり、通常はオンプレミスの複数のアプリケーション サーバーに Web トラフィックを分散するようにプログラムできます。 

ソフトウェア ロード バランサー: ソフトウェア ロード バランサは物理ロード バランサのように動作しますが、ソフトウェア プログラム上で実行されます。 このソフトウェアは、静的および動的な負荷分散を使用して単一障害点を排除し、あらゆる種類のトラフィック要求を通じてアプリを利用できるようにします。

仮想ロードバランサー: ハードウェア ロード バランサーとソフトウェア ロード バランサーを組み合わせたタイプのロード バランサーは、仮想ロード バランサーです。 ハードウェア バックエンド サーバー間でネットワーク トラフィックの負荷を分散するのに役立つアプリケーション配信コントローラー ソフトウェアを使用します。

F5 がどのように役立つか

  • 組織のニーズに適したロード バランサーを見つけることは、システムの可用性と最適化を維持し、データにアクセスできるようにし、ユーザーと顧客を満足させるために重要です。
  • F5 は、静的ソリューションから、ハードウェア、ソフトウェア、クラウドベースのロード バランサの長所を組み合わせた統合グローバル ソリューションまで、組織の特定のロード バランサ ニーズに対応できます。 F5 には、お客様独自のビジネス ニーズに合わせた負荷分散アルゴリズムまたはソリューションがあります。
  • F5 NGINX PlusNGINX は、 Dropbox、Netflix、Zynga などのトラフィック量の多い Web サイトで使用されているクラス最高の負荷分散ソリューションです。 世界中で3 億 5,000 万を超える Web サイトが、コンテンツを迅速かつ確実に安全に配信するために NGINX Plus と NGINX Open Source を活用しています。 ソフトウェア ベースのアプリケーション配信コントローラーおよびロード バランサーである NGINX Plus は、同様の機能を備えたハードウェア ソリューションよりも大幅に安価です。 Web サービス、負荷分散、キャッシュ、メディア配信などを組み合わせており、アプリケーションの配信を制御するのに最適です。
  • BIG-IP アプリケーション サービスは、デジタル アプリケーション サービスを管理、拡張、最適化するための統合ソリューションを提供します。 また、 BIG-IP Local Traffic Manager (LTM) には、単一障害点を排除するための静的および動的負荷分散機能が含まれています。 F5 BIG-IP DNS は、アプリケーション間で負荷分散を行い、それをグローバルに適用することで、アプリケーションが稼働し、顧客のニーズに応えられるようにします。 
  • F5 分散クラウド DNS ロード バランサは、信頼性の高い災害復旧機能を備えたシンプルな負荷分散ソリューションを提供するため、開発チームはビジネスの革新を支援することに集中できます。
  • F5 Distributed Cloud App Connect は、エッジを含むあらゆるタイプの環境にわたってアプリケーションとサービスを安全に接続することで、負荷分散を可能にします。
  • F5 は、アプリ、トラフィック、データ、コンピューティング サーフェスを最適化し続けるための包括的な負荷分散ソリューション スイートを提供します。