web-dev-qa-db-ja.com

負荷分散とHTTPS戦略

次の問題に直面しています。現在の負荷分散戦略はクライアントIPに基づいているため、サーバーが飽和状態になります。一部の企業クライアントは、大規模なプロキシの背後からサーバーにアクセスするため、すべてのクライアントがロードバランサーに対して同じIPで表示されます。ハードウェアの負荷分散デバイスを使用していると思います(必要に応じてさらに調査できます)。セッションアフィニティを維持する必要があるため(サイトはASPで構築されます)、同じIPを持つすべてのリクエストが同じノードにルーティングされます。

すべての通信はHTTPSを介して行われるため、クライアントディスクリミネーターとしてバランサーが使用できる要求データ(セッションIDなど)はありません。同じIPから別のノードに送信された場合でも、IP以外のデータを使用してクライアントを区別し、クライアントをルーティングする方法はありますか?

注:バランサーとノード間のトラフィックを安全に(暗号化して)維持する必要があります。

7
Dan

現在ロードバランサーを配置している場合にこれを行う最も簡単な方法は、ロードバランサーのデータを復号化してCookieを確認することです。その時点で、暗号化されていないバックエンドサーバーにリクエストを送信するか、再暗号化して送信することができます。

私が知っているほとんどのセットアップは、ロードバランサーとバックエンドサーバー間のネットワーク接続が安全であると考えており、複数の理由でトラフィックを再暗号化する必要はありません。 1つの理由は、ハードウェアベースのロードバランサーが SSLアクセラレーター としても機能することです。これは、HTTPSトラフィックがドアで終了するもう1つの理由です。もう1つは、トラフィックを 攻撃の検査 にすることができることです。

6
carson