Oracle Cloud Infrastructureドキュメント

Load Balancingポリシーの仕組み

「ロード・バランサを作成」の後、ポリシーを適用してバックエンド・サーバーへのトラフィック分散を制御できます。 Load Balancingサービスは、3つの主要なポリシー・タイプをサポートしています:

バックエンド・サーバー間で処理負荷または処理能力が異なる場合は、バックエンド・サーバーweightingを使用してこれらのポリシー・タイプを絞り込むことができます。 重み付けは、各サーバーに送信されるリクエストの割合に影響します。 たとえば、サーバーの重み付け3は、サーバーの重み付け1の3倍の接続数を受け取ります。 サーバーのトラフィック処理能力など、選択した基準に基づいて重みを割り当てます。

ロード・バランサ・ポリシーのディシジョンは、TCPロード・バランサ、Cookieベースのセッション永続HTTPリクエスト(スティッキー・リクエスト)、および非スティッキーHTTPリクエストに異なる方法で適用されます。

  • TCPロード・バランサは、ポリシーおよびウェイト基準を考慮して、最初の着信リクエストをバックエンド・サーバーに送信します。 この接続上のすべての後続パケットは同じエンドポイントに送られます。
  • Cookieベースのセッション永続性を処理するように構成されたHTTPロード・バランサは、Cookieセッション情報で指定されたバックエンド・サーバーにリクエストを転送します。
  • スティッキーでないHTTPリクエストの場合、ロード・バランサはポリシーと重みの基準をすべての着信リクエストに適用し、適切なバックエンド・サーバーを決定します。 同じクライアントからの複数のリクエストを異なるサーバーに送ることができます。

ラウンド・ロビン

ラウンド・ロビンはデフォルトのロード・バランサ・ポリシーです。 このポリシーは、着信トラフィックをバックエンド・セット・リストの各サーバーに順次配信します。 各サーバーが接続を受信すると、ロード・バランサは同じ順序でリストを繰り返します。

ラウンド・ロビンは、単純なLoad Balancingアルゴリズムです。 すべてのバックエンド・サーバーが同様の容量を持ち、各リクエストで必要とされる処理負荷が大幅に変わらない場合に最適です。

最低限の接続

最小接続ポリシーは、受信した非リクエスト・トラフィックをアクティブ接続が最も少ないバックエンド・サーバーにルーティングします。 このポリシーは、バックエンド・サーバーとのアクティブな接続の均等な分散を維持するのに役立ちます。 ラウンド・ロビン・ポリシーと同様に、各バックエンド・サーバーに重みを割り当て、さらにトラフィックの分散を制御できます。

ヒント

TCPユースケースでは、接続はアクティブにできますが、現在のトラフィックはありません。
このような接続は、良好な負荷メトリックとしては機能しません。

IPハッシュ

IPハッシュ・ポリシーは、着信リクエスト元IPアドレスをハッシング・キーとして使用して、非トラフィックを同じバックエンド・サーバーにルーティングします。 ロード・バランサは、同じクライアントからのリクエストを、同じサーバーが利用可能であれば同じバックエンド・サーバーにルーティングします。 このポリシーは、初期接続を確立するときのサーバーの重み設定を優先します。

IPハッシュは、特定のクライアントからのリクエストが常に利用可能である限り、常に同じバックエンド・サーバーに送信されるようにします。

警告

プロキシまたはNATルーターを介してロード・バランサに接続する複数のクライアントは、同じIPアドレスを持つように見えます。
IPハッシュ・ポリシーをバックエンド・セットに適用すると、ロード・バランサは着信IPアドレスに基づいてトラフィックをルーティングし、これらのプロキシされたクライアント・リクエストを同じバックエンド・サーバーに送信します。 プロキシされたクライアント・プールが大きい場合、リクエストはバックエンド・サーバーにあふれます。