平成15年度テクニカルエンジニア(ネットワーク)午後Ⅰ 問4設問3解答と解説
目次
解答
(1)
【ア】 SSLアクセラレータ
【イ】 負荷分散装置
【ウ】 ECサーバ
【エ】 DBサーバ
(2)性能要件を満足するためにSSL処理を高速化する必要があるから(30字)
(3)ECサーバ自体が複数の論理セッションを維持する複雑さ(26字)
解説
(1)
機器の配置に関する穴埋めです。【ウ】と【エ】はすぐにわかります。【ウ】は同じ機器が2つあります。ECサーバを2台導入して負荷分散をさせるとあるので、【ウ】はECサーバです。
ECサーバからDBサーバ上のデータベースの検索や更新を行っていくので、【エ】はDBサーバです。
負荷分散装置は、さまざまな基準で複数のWebサーバ間で負荷分散を実現することができます。この問題では、
この実装モデルでは、負荷分散装置を設置し、クッキー情報を基にしてデータを振り分けます。
とあります。
ブラウザとECサーバ間でやり取りされるCookieに基づいた負荷分散を行うわけです。負荷分散装置自体には、SSLの機能は備えていないはず(問題文ではそのように読み取れる)なので、負荷分散装置は、SSLによる暗号化が復号された後のデータ(Cookie)を読み取らなければいけません。SSLによる暗号化がされているポイントでは、正しくCookieを読み取ることができないからです。
すると、必然的に負荷分散装置は、SSLアクセラレータに比べて、ECサーバ/DBサーバよりに設置しなければいけません。つまり、
【ア】 SSLアクセラレータ
【イ】 負荷分散装置
の順に設置する必要があります。
(2)
まずは、SSLアクセラレータとは何かということをしっかりと理解しましょう。リクルート「キーマンズネット」によると、
SSLの暗号化通信は、ネットワークを介した安全な情報のやり取りを実現する一方で、ウェブサーバー側に多大な負荷をかけることとなる。このため、ウェブサーバーに多くのクライアントからアクセスが集中した場合、ウェブサーバー側では、これらのすべてに対して暗号化と復号化の処理を行う必要があり、パフォーマンスが著しく低下してしまうこととなる。このため、負荷のかかるSSL処理のみを行う専用の機器が登場することとなった。これがSSLアクセラレータだ。
SSLアクセラレータは、到達したSSLトラフィックを解析し、これを復号化したうえでウェブサーバーに引き渡す。また、ウェブサーバーからクライアントへ向けてのトラフィックについては、必要であれば暗号化を行う。ウェブサーバー側では、やり取りする情報の暗号化や復号化などの処理が必要なくなり、その分パフォーマンスの向上を図ることができるわけである。
とあります。複雑なSSL処理を専用のハードウェアで実現して、Webアクセスのパフォーマンスを向上させるのがSSLアクセラレータの目的です。
今回、E君がSSLアクセラレータを必要だと判断したのは、問題文P16に示されているG君のシステム構成に関する二つの要件です。SSLでセキュリティを保つ点は、SSLアクセラレータを導入しなくてもクリアできます。しかし、SSL処理を追加することで、性能要件を満足することが難しくなると考えられます。
SSLのオーバヘッドを無視した場合でも、現在のアクセス回線では性能要件を満足することができません。SSLのオーバヘッドも考慮すると、システム構成の性能要件を満足できないわけです。
そこで、SSLの処理を切り出して高速化する必要があるため、新たに修正案でSSLアクセラレータの導入を決めたことが考えられます。
(3)
複数のECサーバで負荷分散を行うとき、ユーザはログインからログアウトまで同じECサーバにアクセスして、HTTPの論理セッションを確立することが大前提です。そうでなければ、Webページを移動した際のユーザの情報を認識できなくなります。
仮に負荷分散装置を導入しなければ、あるユーザのログインからログアウトまでの複数のHTTP論理セッションを2台のECサーバ自体で管理する必要があります。もし、Webページを移動したときに、前のページとは違うECサーバにアクセスしてきたら、それを前と同じECサーバにリダイレクトしなければなりません。こういった処理を負荷分散装置で、ログインからログアウトまで同じECサーバに振り分けることで、プログラムの複雑さを回避できるようになります。