負荷分散条件(リスナー/プール)
対象リージョン:東日本第3/西日本第3
負荷分散の対象トラフィックに対する、ロードバランサーの挙動を定義します。
リスナー
負荷分散の対象のトラフィックの条件を定義します。
- ロードバランサーの作成時に作成します。
- 既存のロードバランサーには、リスナーの新規追加または変更ができます。
- ロードバランサーが待ち受ける、フロントエンド側のポート番号を指定できます。
-
フロントエンド側とバックエンド側に指定できる通信プロトコルの組合せは以下です。
表 1. 通信プロトコルの組合せ 設定値 フロントエンド バックエンド HTTP HTTP HTTP TERMINATED_HTTPS ※1 HTTPS HTTP HTTPS HTTPS HTTPS TCP TCP TCP ※1: サポートするSSLプロトコルおよびSSL暗号スイートについては、暗号化スイート一覧を参照してください。
-
リスナーには、HTTPS通信を利用するためのSSL証明書を指定します。
注:SSL証明書を使用するには、ロードバランサー(lbaas)で使用するサーバ証明書の登録を参照して事前に証明書を登録しておく必要があります。
- 秘密鍵の作成時に、パスフレーズを設定しないでください。
- SSL証明書のURLには、鍵情報コンテナの作成API(Create a container)のレスポンスパラメーター(container_ref)のURLを指定してください。
- 通信プロトコルにはTERMINATED_HTTPS(IaaSポータルではHTTPS-HTTP)を指定してください。
- メンバーにトラフィックを送信する際、以下のHTTPヘッダーを挿入できます。
-
X-Forwarded-For
クライアントのIPアドレスを記録するために使用します。
-
X-Forwarded-Port
クライアントがロードバランサーへの接続に使用したポートを記録するために使用します。
注: HTTPヘッダーが挿入可能なリスナープロトコルは、HTTP および TERMINATED_HTTPS だけです。HTTPSリスナーでは設定しないでください。 -
- リスナーごとにトラフィックの統計情報(コネクション数、総送信バイト数、総受信バイト数など)を取得できます。
ヒント: リスナーの設定項目については、設定項目を参照してください。
プール
負荷分散の対象となったトラフィックを、どのような条件に基づいて負荷分散対象の仮想サーバへ振り分けるかを定義します。
- リスナーの作成時に作成します。
- 1つのプールに作成できるポリシーは1つだけです。また、1つのリスナーに作成できるポリシーも1つだけです。
- 既存のリスナーには、プールの新規追加または変更ができます。
-
負荷分散アルゴリズムには、以下を指定できます。
表 2. 負荷分散アルゴリズムの種類 項目 説明 ラウンドロビン トラフィックを均等に仮想サーバへ振り分けます。 最小コネクション コネクション数が少ない仮想サーバへ優先してトラフィックを振り分けます。 送信元アドレス 特定の送信元IPアドレスからのトラフィックを、特定の仮想サーバに振り分けます。 -
プールには、セッションを維持するポリシーを適用できます。
このポリシーが適用された場合、以下のどれかの条件に基づき、同一クライアントからのトラフィックを常に同一仮想サーバへ振り分けます。
- SOURCE_IP(送信元のIPアドレス)
- HTTP cookie(ロードバランサーが生成するcookie)
- APP cookie(負荷分散対象の仮想サーバが生成するcookie)
ヒント:- 「HTTP cookie」と「APP cookie」は、バックエンドの通信プロトコルがHTTPの場合だけ指定できます。
- 「APP cookie」の場合、cookieを保持するテーブルについて以下の点に注意してください。
- テーブルの最大エントリ数は10000です。これを超えるリクエストが発生した場合は、古い順に削除されます。
- テーブルのサイズは変更できません。
- フェイルオーバ発生時にテーブルは引き継がれません。そのためフェイルオーバ発生時はセッションを維持できません。
-
セッションの有効期限はありません。有効期限の設定は変更できません。
ヒント: プールの設定項目については、設定項目を参照してください。