富士通のネットワークサーバIPCOM(アイピーコム)に搭載されているSSLアクセラレーターの導入効果について解説します。
SSLは、インターネット上で最も良く使われている暗号技術です。
SSLは、通信内容を暗号化して盗聴を防ぐ機能のほかに、サーバ証明書を確認してなりすましを防ぐ機能があり、インターネット上でビジネスを行う上で欠かせない技術です。
今日、個人情報の保護法の対応やEC(電子商取引)の拡大により、SSL通信の割合は増加する一方です。
SSL通信を実現するためには、Webサーバ自身でSSLの処理を行う方法と、暗号処理専用のハードウェアを搭載した「SSLアクセラレーター」を使用する方法があります。
この記事では、SSLアクセラレーターと、その効果について説明します。
通常、WebブラウザとWebサーバの間のプロトコルは http ですが、httpをSSLで暗号化した物をhttpsと呼んでいます。
"https://~"で始まるURLは、WebブラウザとWebサーバの通信が、SSLで暗号化される事を意味します。
SSL通信を行う場合、基本的な方法はWebサーバのソフトウェアでSSLの処理を行う方法ですが、この場合に注意しなければならない事が二つあります。
ひとつは、SSLで使用する暗号アルゴリズムの演算処理が、WebサーバのCPUにとって負担が大きいことです。 ブラウザ側では、通常ユーザひとり分の暗号処理しか行わないので、あまり問題にはなりませんが、多くのユーザの暗号処理を同時に行うサーバ側では、大きな負担になります。 実際、httpsのサービスを行うWebサーバでは、その能力の半分以上を暗号処理に費やします。 提供するサービスが同じでも、httpで通信する場合とhttpsで通信する場合では、Webサーバの処理能力が大きく違ってくるので、システム構築の際には注意が必要です。

もうひとつは、負荷分散装置やファイアーウォールの様に、通信内容を読み取りながら働くネットワーク機器を併用する場合です。 通信が暗号化されていると、これらの装置は本来持っている機能を十分に発揮する事が出来なくなります。
例えば負荷分散装置の場合、通常はhttpリクエストに含まれるURL/ヘッダ/Cookie等の情報を判別して、URLによる分散やセッション維持の動作を制御しています。 通信が暗号化されたhttpsの場合には、これらの情報が一切見えなくなるために、最も単純な負荷分散機能しか利用できなくなります。
上記の課題を解決する手段として、SSLアクセラレーターを採用する方法があります。
SSLアクセラレーターを使用する場合、ブラウザからのhttpsのリクエストは、まずSSLアクセラレーターが受け取ります。 SSLアクセラレーターは、通信内容を復号して、httpのリクエストとしてWebサーバに送ります。 Webサーバからの応答は、SSLアクセラレーターが受け取り、暗号化した後にブラウザに送られます。 Webサーバは暗号処理を行う必要がなくなるので、サーバ本来の処理に専念できます。 SSLアクセラレーターは、暗号処理専用に設計されたハードウェアにより、サーバのソフトウェアで暗号処理を行う場合に比べて、高い処理性能を低コストで提供できます。

負荷分散装置などを利用する場合は、SSLアクセラレーターとWebサーバの間に配置します。この位置では、通信は暗号化されていないため、これらの装置の機能を最大限に利用できます。 または、負荷分散装置の場合には、SSLアクセラレーターを内蔵したモデルも用意されているため、その様なモデルを採用しても良いでしょう。

次に、SSLアクセラレーターの導入方法について説明します。
図4. は、Webサーバの前にSSLアクセラレーターを追加した例です。
SSLアクセラレーターを導入する事で、Webサーバの処理能力を下げることなくhttpsのサービスが可能になります。
また、SSLアクセラレーターをブリッジモードで使用すると、周りのネットワークの構成を変更することなく導入できます。
IPCOMでは、IPCOM S1400/S1200 が対応しています。

図5. は、SSLアクセラレーターを内蔵した負荷分散装置を使用した例です。
SSLアクセラレーター内蔵の負荷分散装置を使用することで、装置台数を減らすことができます。
IPCOMでは、IPCOM S2400/S2200/S2000とIPCOM EX2000 LB が対応しています。

図6. は、SSLアクセラレーターを負荷分散する構成の例です。
複数のSSLアクセラレーターを導入して、負荷分散装置でリクエストを振り分けています。
この構成では、Webサーバだけでなく、SSLアクセラレーターの処理能力もスケーラブルになり、拡張性の高いWebサイトの構築できます。
IPCOMでは、SSLアクセラレーターとしてIPCOM S1400/S1200、負荷分散装置としてIPCOM S2400/S2200/S2000とIPCOM EX2000 LB/EX1200 LB/EX1000 LB が対応しています。

図7.は、日本オラクル株式会社のアプリケーションサーバ「Oracle Application Server 10g」を使用した、Webサイトの例です。
Webサーバには、Oracle Application Server 10g のOHS(Oracle HTTP Server)をインストールしてあり、2台のWebサーバにIPCOM S2200でサーバ負荷分散を行っています。このIPCOM S2200は、SSLアクセラレーターを搭載したモデルです。

パフォーマンス測定を行ったところ、ソフトウェアであるOracle HTTP Server(OHS)でSSLを処理した場合には単位時間に310のリクエストが処理されましたが(ケース1)、ハードウェアであるIPCOM S2200のSSLアクセラレーターを使用した場合には単位時間に875のリクエストが処理される(ケース2)という結果になりました。 このことから、今回のケースでは、IPCOM S2200 のSSLアクセラレーター機能を使用することで、単位時間当たりのリクエスト処理数について少なくとも3 倍弱程度の向上を見込むことができます。

次に価格的な観点からの比較ですが、IPCOM S2200 のSSLアクセラレーター搭載の有無での価格差は800千円(注1)、二重化する場合には1,600千円となります。 これに対し、例えば単位時間当たり約900リクエスト程度の処理をWebサーバの増設で実現しようとすると、2台で単位時間辺り310リクエストを処理していたことから計算上Webサーバを4台追加すれば単位時間当たり930リクエストを処理できることになります。 そのためにはハードウェア(本体、メモリ)、OS、LAN二重化ソフトなど約14,000千円(注2)が必要となり、価格面でもIPCOM S2200のSSLアクセラレーターを利用する方がコスト的に優れていることになります。
(注1): IPCOM S2200 の価格 : SSLアクセラレーター搭載モデル : 8,700千円(税別)、非搭載モデル : 7,900千円(税別)
(注2): Webサーバの構成 : ハードウェア PRIMEPOWER 250、オペレーティングシステム Solaris(TM) 9 OS 9/04、アプリケーション Oracle Application Server 10g、伝送路二重化ソフト PRIMECLUSTER GLS
| 方式 | Webサーバの CPU使用率 | 予想される リクエスト数/単位時間 | コスト [千円] |
| Webサーバを4台追加 (計6台) | 99% | 930 (2台→6台で310の300%) | Webサーバを4台増設するコスト 14,000 (3,500×4) |
| IPCOM S2200の SSLアクセラレーター | 30% | 875 (検証結果) | SSLアクセラレーターのコスト 1,600 (800×2) |
この検証報告の詳細については、以下のURLで公開しています。
「富士通と日本オラクルの共同検証報告」
http://fenics.fujitsu.com/products/ipcom/catalog/data/report01.html
(注) 下図の各モデルの画像をクリックすると、仕様紹介のページが表示されます。