SSLアクセラレーション(SSLオフロード)機能により、HTTPSアクセスにて、クライアントとサーバ間でSSLの暗号・復号をするのではなく、クライアントとロードバランサ間でSSLの暗号/復号を行うことで、サーバの処理負荷を軽減することができます。
この記事では、下記のL4/L7の負荷分散の構成を元に、SSLアクセラレーション(SSLオフロード)の機能を実装します。先にお読みいただくことを強くお勧めします。
>> 参考記事 : サーバ負荷分散(L4)の基本設定と動作確認 >> 参考記事 : サーバ負荷分散(L7:HTTP )の基本設定と動作確認SSL証明書の登録
今回は、テスト目的として、SSL証明書はA10自身が発行する自己署名証明書を使用します。
ADC >> SSL Management より Create をクリックします。
下記ように設定します。
- File Name: 任意の名前。今回、ssl-hirotanoblog.work とします。
- Common Name:証明書のドメイン名を指定。www.hirotanoblog.work とします。
- Key Size:鍵長を指定。2048 ビットを選択。
Createをクリックすると、下記のとおり証明書とその秘密鍵(certificate/key)が作成されます。
SSLテンプレートの作成
SSLテンプレートを作成し、先ほど作成した証明書と秘密鍵を紐付けます。
ADC >> Templates >> SSL >> Createより、Client SSLを選択します。
下記のとおりSSLテンプレートを作成します。
- Name:任意の名前。temp_hirotanoblog.work とします。
- Server Certificate :証明書として、ssl-hirotanoblog.work を選択
- Server Privete Key:秘密鍵として、ssl-hirotanoblog.work を選択
OKをクリックすると、下記のとおりSSLテンプレートが作成されます。
バーチャルポートへのテンプレート適用
バーチャルサーバのバーチャルポートに、SSLテンプレートを紐付けます。まず、HTTPS用のバーチャルポートを作成します。
ADC >> SLB で、あらかじめ作成されているvip-webを選択し、Virtual PortをCreateします。
下記の通り作成し、Createをクリックします。
- Protocol:HTTPSを選択。
- Port or Port Range;HTTPSのポート番号として、443を設定。
- Service Group:Webサーバ用に作成したsg-webを選択
- Template Client SSL:SSLテンプレートとして、temp_hirotanoblog.workを選択
下記のとおり、https用のVirtual Portが作成されます。Updateをクリックします。
ADC >> SLB >> Virtual Serversにて、ステータスが緑色になっていることを確認します。
動作確認
DNS設定にて、www.hirotanoblog.workの名前解決をすると、10.0.10.200となるよう設定します。そのあと、ブラウザで、https://www.hirotanoblog.workへアクセスします。
すると、下記のように、HTTPSでアクセスができます。自己署名証明書のため、証明書の警告がでますが、今回はテストのため、無視します。
セッション(ADC >> SLB >> Session)を確認すると、Type:SLB-L7として、セッションが確立されています。
クライアントからロードバランサまでは、TCPの443 ポートで接続し、ロードバランサからWebサーバまでは、TCPの80番で接続していることがわかります。
コメント