web-dev-qa-db-ja.com

SSLトラフィックのバランスをとるようにElasticLoad Balancerを構成するにはどうすればよいですか?

私は完全に迷子になっているので、意味がわからなければ謝罪します。

アプリケーションサーバー用にEC2でロードバランサーを作成する必要があります。 ELBがSSL(8443)を介してトラフィックのバランスを取るようにしようとしています。しかし、それは私にSSL証明書を求めています。公開鍵と秘密鍵(pemエンコード)を要求しているようです。

ELBの背後にあるサーバーには、開発者がOracleJavaのkeytoolプログラムを使用して作成したキーストアファイルがあります。作成されるファイルはバイナリです。 ELBはテキストのpem形式のキーを期待しているようです。

  1. ELBで証明書の入力が必要なのはなぜですか? ELBはSSLトラフィックを一方から他方に転送し、サーバーにSSLを処理させることはできませんか?
  2. 証明書/キーストアファイルは関連していて、キーはELBとサーバーの両方で一致している必要がありますか? AWSのドキュメントには、opensslを使用して秘密鍵と証明書を作成すると書かれています。 opensslを個別に実行してロードバランサーのSSL証明書を作成し、サーバーにキーストアファイルをそのままにしておくことはできますか?

よろしくお願いします。

4
Classified

ロードバランサーでSSLターミネーションを実行する利点は、バックエンドノードでSSL暗号化/復号化を実行する必要がなくなることです。

そのため、SSL秘密鍵と署名済み証明書をELBにデプロイするだけです。これでSSL終了が処理され、暗号化されていないトラフィックがバックエンドインスタンスにプロキシされます。 ELBとバックエンドインスタンス間のトラフィックを暗号化する場合は問題ありませんが、ELBには秘密鍵と署名付き証明書が必要です。

Javaキーストアから証明書とキーを取得することに関しては、それは確かに可能です。 このQ&A Stackoverflowのオーバーに詳細があります。

4
EEAA

ELBは、次の2つの方法のいずれかで使用できます。

  1. ELBでのSSL終了

    このモードでは、ELBに証明書とキーを提供します。リクエストを暗号化解除し、暗号化せずにサーバーに渡します。これの利点は、サーバーのCPU負荷を減らすことができることです。

  2. ELBは単にパススルーとして機能します。

    ELBはダムパススルーとして機能できます。証明書やキーは必要ありません。このように設定するには、HTTPSオプションを使用する代わりに、TCPポートとして設定します。

21
Liyan Chang
  1. ELBは、クライアントに関する限り、エンドポイントです。メタデータヘッダーなどを追加します。ELBは現在、証明書なしではSSLを提供できません。

  2. ELBには、外向きにする証明書が必要ですが、実際のインスタンスの証明書は一致している必要はありません。それらは自己署名することができます。インスタンスに証明書をインストールする必要はありませんが、データはインスタンスとELBの間のAWSのインフラストラクチャ上をクリアに移動します。証明書が有効である限り、任意の方法で証明書を作成できます。

4
Edwin