web-dev-qa-db-ja.com

SSLと負荷分散

SSLは負荷分散の動作にどのような影響を及ぼしますか?セッション情報をDBまたはアウトプロセスに保存しないことを選択した場合は、スティッキーセッションを使用する必要があることを知っていますが、それはSSLにどのように影響しますか?

17
jquery auth

明確にするために、SSL/TLSセッションはHTTPセッションとは何の関係もありません。 (一部の実装では、HTTPセッションを維持するための基礎としてSSL/TLSセッションIDを使用する場合がありますが、SSL/TLSはHTTPの実行内容とは完全に独立してセッションを変更する可能性があるため、これは不適切な設計です)。

負荷分散に関しては、いくつかのオプションがあります。

  • SSL/TLSエンドポイントであるロードバランサーを使用します。この場合、負荷分散はHTTPレベルで行われます。クライアントはロードバランサーに接続し、ロードバランサーはSSL/TLS接続をアンラップして、HTTPコンテンツを(その後クリアに)ワーカーに渡します。

  • TCP/IPレベルでロードバランサーを使用します。これにより、TCP接続全体がワーカーノードに直接リダイレクトされます。この場合、各ワーカーノードには証明書と秘密鍵が必要です(これは、一貫して管理されている場合は必ずしも問題ではありません)。この手法を使用すると、ロードバランサーはHTTP処理をまったく実行しません(SSL/TLS接続内を検索しないため):一方ではこれにより、ロードバランサー自体によって実行される処理が減りますが、一方で、たとえばURL構造に基づいて特定のワーカーノードにディスパッチすることができなくなります。どちらの方法にも長所と短所があります。

37
Bruno