Hoster-JPは,仮想サーバー・ソフト「Xen」を使い,Webホスティング・サービス「グリッドホスティング」を提供している。Webサーバーの負荷に応じて仮想サーバーの数を自動的に増減させ,リソース配分を調整することが特徴である。

 グリッドホスティングの構想は,顧客の声から生まれた。同社は従来,サーバー貸しのホスティング・サービスを展開してきたが,「“もしWebサーバーの負荷が増えたとき,すぐにサーバーを増やせるか”という質問が多く寄せられていた」(Hoster-JP AS部 永井匡氏)。

 従来のサービスでは,新たにサーバー機を手当てするのに1日程度かかっていた。サーバー入手後は,負荷分散の設定を行うなど,サーバーを追加するために相当の手間を要していた。そこで,「負荷分散機能をあらかじめ組み込んだホスティング・サービスを作りたいと考えた」(永井氏)。

 新たなサービスの構築に当たっては,日本仮想化技術の協力を得て,仮想サーバーを取り入れることにした。サーバーのリソース配分を柔軟に調整できるからだ。従来のサービスで使っていたサーバー機は,プロセッサがIntel Xeon 3GHz,メモリーが1Gバイト,ディスクが72Gバイトと,Webサーバーで利用するにはスペックが高かった。「サーバーを丸ごと使い切れる顧客は,そうはいなかった」(永井氏)という。そこで,余っているリソースを流用しやすい,仮想化に目をつけた。

 新サービスの要件は大きく2つ。1つは,Webサーバーの負荷が高くなったらサーバーを増やし,負荷が減ったらサーバーを減らせること。もう1つは,負荷増をトリガーにしたサーバー追加作業を,短時間かつ自動で行うことである。同社は,こうした要件を取り込んだグリッドホスティング・サービスを,2007年3月にスタートした(図1)。

図1●Webサーバーの負荷に応じてサーバー台数を自動的に増減させる「グリッドホスティング」
図1●Webサーバーの負荷に応じてサーバー台数を自動的に増減させる「グリッドホスティング」
[画像のクリックで拡大表示]

ロードバランサが仮想サーバーを起動

 グリッドホスティングでは,1台のサーバー機当たり3台の仮想サーバーを稼働させている。ベースとなるOSはCentOS 4.4,仮想サーバー・ソフトはXen 3.0.4である。サーバー機には,仮想化支援機能「Intel VT」を備えるプロセッサを搭載。これとXenを組み合わせることで,仮想サーバー上のOSの改変が不要な「完全仮想化」を実現している。

 こうしたサーバーを複数台用意し,Webサーバーの負荷に応じて仮想サーバーを増減させ,動的に処理負荷を調整している。その仕組みはこうだ。

 Webサーバーの最少構成は1顧客当たり2台。通常,仮想化機能を用いてこの2台がそれぞれ別の物理サーバー上で稼働しており,ロードバランサ(冗長化してある)が,システム利用者のリクエストを振り分ける(図1(1))。また,ロードバランサは定期的にWebサーバーの80番ポートをたたき,その応答時間を把握している。このシステムでは,サーバーからの応答時間を処理負荷と見なしている(同(2))。

 処理負荷には,「1分間に1回ポートをたたき,何msec以上の応答が5分続く」といったしきい値を定めておく。このしきい値を超えたとき,ロードバランサは負荷が高いと判断し,Webサーバーを追加するために,仮想サーバーのイメージをブートするコマンドを実行する(同(3))。これにより,新たなWebサーバーが従来の2台とは別の物理サーバー上で起動する(同(4))。その後,ロードバランサは新たに立ち上げたWebサーバーにもリクエストを振り分け,Webサーバー全体の負荷軽減を図る(同(5))。

 この状態で運用し,もし処理負荷が減ってきたら,Webサーバーの数を減らす。このしきい値も,あらかじめ設定しておく。

 グリッドホスティングでは,仮想サーバーを「GNIT(グニット)」と呼び,この単位で管理や課金を行う。2007年3月に開始したベータサービスでは,顧客に対して標準で2個のGNITを提供。Webサーバーの負荷に応じて最大3~10個にGNITを増やす。「ベータサービスを開始してから実際に,GNITが増えたり減ったりした実績がある」(永井氏)という。また,グリッドホスティングで利用するサーバー機のスペックが上がってきたので,当初は1サーバー機当たり3台だった仮想サーバーを,最近では7台に増やしている。グリッドホスティングは2007秋に正式サービスを開始する予定である。