バーチャル・プライベート・サーバ
テンプレート:出典の明記 バーチャル・プライベート・サーバ(仮想専用サーバ、英語:virtual private server、略称:VPS)とは、一台の物理的なサーバコンピュータ上で仮想的なサーバコンピュータを何台も起動する技術(仮想機械; Virtual Machine)によってつくられた仮想的なサーバコンピュータである。
VPSは、ホスティングサーバ(レンタルサーバ)事業者のサービスの一つとしても提供されている。これらのサービスは、上記の技術を用いることで、管理者権限が付与される自由度の高い専用サーバを、従来的な専用サーバよりも大幅に安い価格で契約者に提供することを可能にしている。VPS(仮想専用サーバ)は、物理的なサーバを一台占有する「専用サーバ」に比べて処理能力は劣るものの、構成の自由度は専用サーバとほぼ変わらない。
目次
概要
VPSとは、個々のユーザーに仮想機械内において管理者権限 (root) を付与し、共用サーバにおいて専用サーバのような環境を実装するものである。これによって管理者権限を必要とするソフトウェアのインストール等が可能になる。
また、サーバのリソースを個々のユーザーに配分し、1ユーザーが使用できるサーバのリソースの上限を設定する事が一般的である。
VDS:Virtual Dedicated Server(バーチャル・デディケーティッド・サーバ)という語があるが、これもVPSとほぼ同義である。国内ではVPSの呼称が一般に使用されているが、英語圏では「専用サーバ」は"Dedicated Server"と記載するため、海外ではこの名称も一般的に使用されている。
VPSを起動させるOSとしては Linux が多用されており、XenもしくはKVMを使ったものが主流となっている。その他にもOpenVZベースのSWsoftのVirtuozzoが使われている。 海外では、NTTコミュニケーションズの子会社であるVERIO(NTT/VERIOブランド)のVPSサービスが有名である。FreeBSDベースであるが、FreeBSDのjail機構にはリソース管理機能が無いために、それを独自に追加して使っている[1]。 VERIOのVPSサービスも今までのFreeBSDに加えてLinuxがサポートされている。その他、SolarisVPSも存在している。
国産のVPSとしては、2005年にNTTPCコミュニケーションズWebARENAによってLinux(Fedora Core 3)ベースのVPSが開発されたのを皮切りに、rsaServによって、FreeBSDに実装されているjail機構をベースに開発されたVPSがあるが、いずれもプログラムの配布/公開はされていない。なおrsaServは2006年に事業を停止した。
この他に、日本国内ではFreeBSDおよびRed Hat Linuxを用いたVPSをGMOホスティング&セキュリティ株式会社の「RapidSite」ブランドや株式会社ウエブジャパン、株式会社ヒューメイア株式会社インフォアクティー、NTTぷららがサービスしている。
株式会社クララオンラインや使えるねっと株式会社,株式会社Joe'sウェブホスティング, 株式会社トーマスオブアメリカ,株式会社ライブドアがLinux(Virtuozzo)を用いたVPSサービスを、それぞれ展開している。
2011年4月には、株式会社Joe'sウェブホスティングが、LXC(Linux Container)を利用したVPSの提供を開始している。
また、クラウドの普及とともに海外で低価格のVPSサービスがでてきており、日本でもさくらインターネット、DTIなどの事業者が月額1,000円を切った低価格のVPSサービスを始めている。
VPSのメリット
VPSでは、1つの物理的サーバで2つ以上の仮想サーバを起動することが出来る為、サンドボックスを容易に使用することが出来る。具体例では、1つの仮想サーバ(A)上で実稼動させるウェブサイトを公開し、もう1つの仮想サーバ(B)上にそのコピーを製作し、ソフトウェアの重大な変更を行う際には、Aと同等のハードウェア環境を持つB上で、実稼動中のウェブサイトに影響を与えることなくテストを行うことができる。
また、VPSはハニーポットの運営にも適している。VPS上では容易に同じ環境を持った複数の仮想サーバを立ち上げることができるため、容易に既知のセキュリティホールを持ったソフトウェアを故意に起動しておくことができる。それとともに、ログの監視などを行う仮想サーバと実際にハニーポットが設置されている仮想サーバを分けることによってセキュリティを確保することができる。
仮想化方式の違い
完全仮想化はエミュレータのようにハードウェアを仮想化して自由なOSを使うことができる。従来の完全仮想化はオーバーヘッドが大きいため速度が必要な用途には使えなかったが、CPU支援による高速化によってオーバーヘッドを低く抑えられるようになった。さらに、高速化のために仮想ドライバが実装されてきており、準仮想化に近づいてきている。CPUの仮想化支援で未対応の命令(リアルモードなど)はソフトウェアエミュレーションを行う。CPUの支援を使った完全仮想化にKVMがある。自由なOSを使うことができるため、Linux上でWindowsを動かすといったこともできる。
準仮想化はゲストOSに互換層を設けたカーネルを用い、ゲストカーネルを低い権限(RING1など)で動作させる。そのため、ゲスト向けにコンパイルされたカーネルが用意されているOSならばゲストOSとして自由に使うことができる。準仮想化としてはXenがある。
OSレベルの仮想化は一つのカーネルしか動かないためにメモリが少なくて済む。カーネルは固定であるが、ユーザランドはchrootのように切り替えることができる。カーネルが一つでも、それぞれにIPが割り当てられ、リソース管理もしっかりと行われる。異なったカーネルを使うことができない、カーネルモジュールを追加できないなどの難点がある。LinuxではOpenVZやcgroupをベースにしたLXCなどがある。
ホスティングにおけるVPS
従来の共用レンタルサーバでは、同じサーバの使用者によるCGIの暴走によるサーバダウン、SuExec等が導入されていない場合に生じるアクセス権限等の問題があったが、最適な対応策である専用サーバの導入は、個人使用者にとってはコストの問題で事実上不可能であった。また、高負荷なCGI、大規模なデータベースの処理などサーバのリソースを多く消費するような使用も共用サーバでは大抵禁止されており、そのようなコンテンツの運用は個人レベルでは事実上不可能であった。VPSにおいてはそのような事態は無くなるもしくは大幅に軽減され、より自由な運用が可能である。
ホスティングにおける利用者のメリット・デメリット
共用サーバのホスティングサービスを使用する場合と比べ、VPSには以下のようなメリットがある
- 運用の自由度…従来サーバのリソースの関係で難しかった大規模なデータベース等の処理を行える。また、プログラムの動作テストも、他のユーザーに与える影響が非常に少ない事から一般に許可されている。
- セキュリティの強化…それぞれのユーザーの使用領域は分断されており、基本的に他のユーザーの領域には関与できない。Unix系OSにおいては避けるべきとされている0777等にアクセス権限を設定しても問題になりにくい。
- 他の使用者の影響の少なさ…1ユーザーあたり使用可能なサーバのリソースが設定されているため、共用サーバで起こるような他の使用者のリソース消費による自領域の影響(プログラムの実行が遅くなる、サーバダウン等)が非常に少なくなる
デメリットとしては、
- 環境維持の必要性…一般に共用サーバではサーバウェア及び各種モジュール類のアップデート、バックアップ等はサーバ管理者によって行われるが、仮想専用環境であるVPSでは、それらの作業を自分で行う必要がある(代行サービスを提供している業者もある)
- コスト…現在のところ、同程度のサービス内容の共用ホスティングと比較すると割高なことが多い。
また、専用サーバのレンタルと比較すると、
- 管理の簡略化…OSレベルのアップデートはサーバ管理者によって行われる
- コスト…物理的なサーバを1ユーザーのために用意する必要が無いため、同等スペックの専用サーバのレンタルと比較すると一般に安価である。
といったメリットがある一方、
- 回線の問題…VPSに使用されているサーバのインターネットバックボーンとの接続回線は他のユーザーとの共有なので、ストリーミングの配信等の用途には適さない。また、他のユーザーのそのような行為の影響を受けることもある。もっとも、専用サーバであっても回線は他の使用者と共有、もしくはVPSであっても回線はユーザー別といったケースもあるので、一概に判断は出来ない。
- マシン再起動が困難…1つのサーバに複数のユーザーが同居している為、範囲が1ユーザーに限定される障害発生時等の物理的再起動が困難である。
- ハードウェアの自由度…VPSにおいてはサーバのハードウェアはユーザー間で共用のため、特定の目的に特化させる、特定のソフトウェアを使用する等の目的で、ハードウェア環境を変更することは困難である。
- 他のユーザーの存在…稀なケースではあるが、他のユーザーによってハードディスク等に物理的障害が発生した場合、影響を受けることがある。
といったデメリットもある。
自宅サーバーと比較すると、
- コスト…場合によっては自宅サーバーの電気代よりも安い値段で使える。
- 信頼性…VPSに使用されているサーバーにはUPSやRAID、ルーター冗長化が使われている場合が多い。またハードウェアが故障しても、直ぐに修理される。
- 回線…太いバックボーンに繋がっていることが多い。
デメリットとしては、
- レイテンシ…自宅からサーバーまでが遠くなるために、レスポンスが遅くなる。
- 周辺機器の追加不可…バックアップ用のHDDを付け取りしたり、TVのチューナーを足すなどということはできない。
- ネットワーク分断…物理的にVPSをUPnPサーバーやルーターなどとして使うことはできない。
これらの他、専用サーバのレンタルのデメリットと同様の問題がある。
代表的なプラットフォーム
- KVM
- Xen
- FreeVPS
- Virtuozzo
- OpenVZ
- Linux-VServer
- OpenVPS
- LXC
- UML
- Solaris Containers(Zones)
- Virtual Private Server - Future of Web Hosting