サービス・レベルを維持

 電子商取引システムは,不特定多数の利用者からアクセスが殺到してパフォーマンスが低下したり,ひどいときにはサービスが停止してしまったりすることが考えられます。こうしたサービス・レベルの低下を避けるには,稼働中のサーバーを止めることなく,サーバー・マシンを増設するだけでシステム処理能力を増強できる「スケールアウト構成」が向いています。

 しかし,サーバー・マシンをベンダーから新規に調達しようとすると時間がかかるので,タイムリーなシステム増強は困難になります。そこで,社内系システムのサーバー統合で余剰になったマシンを,電子商取引システムの予備サーバーにすることを考えます。

 こうした予備のリソース群を「リソース・プール」と呼びます。システムの処理能力が不足したときには,必要な分だけリソース・プールから借り受けて使うイメージです。サーバーの役割(Web,AP,DBなど)に応じて起動ディスクのイメージを作成しておき,サーバー・マシンを自動構成できるようにしておくと効率的です。この役割を担うサーバーを「自動インストール・サーバー(またはプロビジョニング・サーバー)」と呼びます。

 具体的な動きを説明しましょう。予備のサーバー・マシンのハードディスクは,空の状態にし,電源も切っておきます。ただし,ネットワークには接続しておきます。監視サーバーは稼働中の各サーバーのリソース使用量を常時監視し(図1(1)),サービス・レベルのしきい値を下回ったことを検出したら,自動インストール・サーバーに通知します(同(2))。自動インストール・サーバーはネットワーク経由で予備のサーバー・マシンの電源を入れます(同(3))。サーバーの役割に応じた起動ディスクのイメージをあらかじめ用意しておき,ネットワーク経由で読み込ませてサーバー・マシンを起動させます(同(4))。そして,自動インストール・サーバーでLANスイッチの設定を変更し,予備サーバーを増強したいセグメントに加え,顧客のアクセス・トラフィックを振り分けるよう構成します(同(5))。これでサーバーの自動増設は完了です。

図1●サーバーを自動的に増設する
図1●サーバーを自動的に増設する
社内系で使わなくなったサーバーをリソース・プールに配備。電子商取引システムの負荷が重くなったときに,サーバーを自動増設できるようにする。仕組みは複雑になり構築コストはかかるが,突発的なピーク時にもサービス・レベルは保てる
[画像のクリックで拡大表示]

 サーバーを自動増設する前にキャパシティを超えてしまった場合に備え,リクエストの一部を「混雑中です」などのお詫び画面に導く対策も講じておくべきでしょう。そのためには,同時アクセス数の上限に達したら,それ以上のアクセスはソーリー・サーバー(お詫び画面を返すサーバー)に転送するように設計しておくことが必要です。

高安 厚思(たかやす あつし) オープンストリーム テクニカルコンピテンシーユニット 主管システムズアーキテクト
銀行系シンクタンクでオブジェクト指向技術の研究に携わった後,大手SI業者でアーキテクチャ構築やプロセス研究を担当。現職ではSOA(Service Oriented Architecture)を中心とする研究開発とアーキテクチャ構築に従事している