サーバー仮想化とは
サーバー仮想化は、サーバーのソフトウェアとハードウェアを分離し、1 台の物理サーバー上で複数の仮想サーバーを作成し、それぞれが独自のオペレーティングシステムやアプリケーションを実行できるようにするプロセスです。仮想サーバーは互いに分離され、完全に独立して動作するため、互換性の問題は発生しません。サーバー仮想化はクラウドコンピューティングの基盤であり、ハイブリッドクラウドのさまざまなモデルを実現します。
サーバーを仮想化する組織は、費用対効果の高い Web ホスティングサービスの提供や利用が可能となり、インフラ全体のコンピューティング、ストレージ、ネットワーキングのリソースを最大限に活用できます。サーバーが処理能力を 24 時間フルに利用することはほとんどないため、サーバーには空きリソースが多く残っています。実際、専門家によれば、使用率が常に 15% ~ 25% 程度にとどまっているサーバーも少なくありません。ワークロードが一部のサーバーに集中しがちであるため、残りのサーバーが数時間~数日間アイドル状態となる場合もあります。このようなアイドル状態のサーバーも、データセンターの貴重なスペースと電力を消費し、IT 担当者の保守対応を必要とします。
サーバー仮想化を利用することで、1 台の物理サーバーに数十台の仮想サーバー(仮想マシン、VM とも呼ばれます)を配置し、サーバーのリソースをより効果的に活用できるようになります。物理マシンの数を削減できるため、データセンターの効率的な運用が可能になります。組織にとって仮想化は、リソースを最適に活用し、ワークロードのニーズの変化に動的に対応できる手法です。
仮想サーバーとは
仮想サーバーとは、専用の物理サーバー上で動作する、仮想化された「インスタンス」です。独自のオペレーティングシステム、ポリシー、アプリケーション、サービスを備えた独立したスペースです。個々の仮想サーバーは独立して動作しますが、複数の仮想サーバーと 1 台の物理サーバー上に共存し、ハイパーバイザーを通じてソフトウェアとハードウェアのリソースを他のマシンと共有します。それぞれの仮想サーバーは、ホストとなるメインの物理サーバーのゲストと見なされます。
サーバー仮想化の仕組み
IT 管理者は、1 台の物理サーバー上に複数の仮想マシンを作成し、それぞれを独立して構成できます。これを可能にするのがハイパーバイザーです。仮想マシンモニターとも呼ばれます。ハイパーバイザーは、サーバーのソフトウェアとハードウェアを分離するほか、コントローラの役割も果たし、ホストサーバーの全ての仮想マシンに対するリソースの編成、管理、割り当てを行います。
また、ネットワークインターフェース、ストレージ、メモリ、プロセッサなど、コンピューターの全てのリソースを抽象化して整理し、それぞれに論理エイリアスを付与します。ハイパーバイザーはこれらのリソースを使用して、仮想サーバー(VM)を作成します。各 VM は、仮想化されたプロセッサ、メモリ、ストレージ、ネットワーキング機能を備えています。多数の VM が共存しています。しかし、それぞれの VM は多数のうちの1つであることを認識していません。それぞれが単独の物理サーバーであるかのように、完全に独立して動作します。
1 台の物理サーバーの中で動作する複数の VM は、それぞれが機能を完備したコンピューターです。ホストサーバーでは、異なる OS の VM や、通常であれば共存しないさまざまなアプリケーションやシステムを搭載することができます。
ハイパーバイザーは、ホストサーバー上の全ての VM を監視・制御するため、必要に応じてリソースの再割り当てを行うことができます。例えば、1 台の VM が一晩中アイドル状態となる場合、この VM のコンピューティングリソースやストレージリソースを、追加リソースが必要となる別の VM に割り当て直すことが可能です。こうしてサーバーのリソースを全体として最大限に活用できます。
VM は必要に応じて別のホストサーバーに移動することも可能で、シンプルな複製やクローニングによって対応できます。1 台のホストサーバーに収容できる VM の数の制限を決めるのは、そのサーバーのコンピューティングリソースのみです。したがって、多くのリソースを備えている最近のコンピュータの方が、より多くの VM をサポートできます。
サーバー仮想化はクラウドコンピューティングで重要な役割を果たしています。実際、多くの専門家は、自動化、セルフサービス、エンドツーエンドの監視などの要素と同様に、サーバー仮想化をクラウドコンピューティングの主要な柱の 1 つと考えています。物理サーバーのリソースを複数の VM に分割し、極めて高速なスケーリングを可能にし、ワークロードを分離できるという点で、仮想化はクラウドコンピューティングの実現に欠かせない技術です。
サーバー仮想化の種類
サーバー仮想化の方式には以下の 3 種類が存在します。主な違いは VM 同士の分離の度合いです。
- 完全な仮想化:完全な仮想化は、ここまでの説明に最も近いサーバー仮想化です。ホストである物理サーバーのリソースを分割して、複数の VM を作成します。個々の VM は動作が完全に独立しており、同じホスト上にある他の VM に関係なく動作します。この仮想化方式のハイパーバイザーは、物理ハードウェアに直接インストールすることから、一般にベアメタルハイパーバイザーと呼ばれ、個々の VM やその OS とハードウェアとを仲立ちするレイヤーとして機能します。この仮想化方式の唯一の欠点は、肝心のハイパーバイザー自体がリソースを必要とし、性能の低下を引き起こす場合があることです。完全仮想化ではホストサーバーに OS は必要ありません。
- 準仮想化:この仮想化方式では、同じホストサーバー上の VM 同士は完全に無関係な存在ではありません。VM はある程度分離されていますが、それでもネットワーク全体で連携しています。リソースの割り当ての一部を VM が自ら行うことから、ハイパーバイザーは、より少ない処理能力でシステム全体を管理できます。準仮想化ではホストサーバーに OS が必要です。ハイパーバイザーは、この OS とハイパーコールのコマンドを通じて連携することで、VM の作成・管理を行うことができます。この仮想化方式は、初期のベアメタルハイパーバイザーのパフォーマンスで課題が生じたことにより登場しました。準仮想化のハイパーバイザーは、ホストサーバーのベア物理ハードウェアに直接インストールするのではなく、ホストサーバーの OS と VM とを仲立ちするレイヤーとして機能します。現在のサーバーは、ベアメタルハイパーバイザーのサポートや連携を効果的に行えるように設計されていることから、準仮想化の利用は減少しています。
- OS レベル(またはホスト型)仮想化:この仮想化方式では、ハイパーバイザーは不要です。ハイパーバイザーの代わりとなるホストサーバーの OS が一連の仮想化機能を提供します。各 VM は独立して動作しますが、この仮想化方式には、全ての VM がホストサーバーと同じ OS でなくてはならないという制約があります。すなわち、各 VM はホスト OS の共通バイナリや共通ライブラリを使用します。サーバー仮想化の最も基本的な手法と認識されており、維持管理に必要なリソースも他の仮想化方式より少なくて済みます。また、各 VM が同じ OS を個別に保持する必要がないことから、単一のサーバーで数千台の VM をサポートできます。一方で、この仮想化方式のデメリットは、単一障害点につながることが挙げられます。ホスト OS が攻撃を受けた場合や、何らかの理由で稼働を停止した場合には、全ての VM に影響が及びます。
サーバー仮想化のメリット
サーバー仮想化には次のようなメリットがあります。
- サーバーのリソースの効率的な利用により、必要な物理ハードウェアの削減とそれに伴うコストを削減できます。
- サーバーの統合、ハードウェアのフットプリントの削減、無駄なリソースの排除、アイドル状態のリソースの解消により、コストを削減できます。
- 異なる OS やアプリケーションが動作する VM を柔軟に作成し、サーバーの汎用性を向上させます。
- VM を特定のワークロード専用として利用することで、アプリケーションの性能を向上させます。
- VM の複製やクローニングが高速かつ容易で、必要に応じて別のホストやサーバーに VM を柔軟に移動できるため、ワークロードのデプロイが迅速化されます。
- サーバーの無秩序な増大や、多数の物理サーバーの複雑な保守管理を抑制し、IT の生産性と効率を改善します。
- 既存の VM のレプリケーションやスナップショットを容易に作成し、必要に応じて移動できるため、効果的なディザスタリカバリとバックアップが可能になります。
- 冷却、電力、スペースを必要とする物理マシンの数を減らし、エネルギー消費を削減します。
- ホストサーバー上の各 VM が分離されており、セキュリティの脅威を抑制できます。1 台の VM が攻撃を受けても、他の VM には被害が及びにくくなります。
サーバー仮想化の課題
サーバー仮想化にはさまざまなメリットがある一方で、課題も存在します。
- 単一の物理サーバーが、さまざまなアプリケーションやサービスを備えた数十台の VM をホストする場合、ソフトウェアのライセンスが複雑化してコストがかかる可能性があります。例えば、サーバーの完全仮想化の場合、各 VM で個別に動作する OS のそれぞれにライセンスが必要です。
- ホストサーバーで障害が発生した場合、その中で稼働する全ての VM に影響が及ぶ可能性が考えられます。例えば、1 個ではなく 10 個のアプリケーションが停止する事態になり得ます。
- VM の場所や使用方法、使用のタイミングを IT 部門が制御していない場合、VM スプロール(VM の無秩序な増大)の問題が生じることがあります。VM の新しいインスタンスは容易に起動できることから、例えばテストで一時的に使用した多数の VM が使用後に放置されています。このような VM をシステムから削除せずにおくと、バックグラウンドで稼働を続ける可能性があり、アクティブな VM に回すべき電力とリソースを消費し続けます。
- 無計画に VM を作成し、ネットワーキングやメモリをはじめ、多くのリソースを消費する VM がホスト上に多数存在していると、サーバーの性能が低下するリスクがあります。
サーバー仮想化はセキュアか?
サーバー仮想化はセキュリティの面でメリットがあります。例えば、データは、未承認の(あるいはセキュリティが万全ではない)エッジやエンドユーザーデバイスに配置するのではなく、管理が比較的容易な場所で一元的に保持できます。また、VM 同士が分離されていることから、攻撃やマルウェア、ウイルス、その他の脆弱性が他の VM に影響を及ぼすことを回避できます。
仮想化はきめ細かなアクセス制御が可能で、システム上のデータにアクセスできるユーザーを IT 部門がより詳細に管理できます。多くの場合、マイクロセグメンテーションを利用して、特定のアプリケーションやリソースにのみユーザーのアクセスを許可し、単一のワークロードのレベルに至るまで細かく制御します。また、デスクトップを仮想化することで、OS とアプリケーションの更新とパッチ適用をエンドユーザーの個人の対応に任せるのではなく、IT 担当者が確実に対応できるようになります。
ハイパーバイザーは、少ないリソースで稼働できるため、ハードウェアソリューションに比べて攻撃対象領域が狭く、セキュリティリスクを低減できます。また自動更新により、新たな脅威を常に防御できます。
一方で、サーバー仮想化がセキュリティリスクをもたらす場合もあります。特に多いのは、仮想化環境の複雑化という基本的な問題です。VM を複製してワークロードを移動することは極めて容易です。このため、IT 部門がセキュリティのベストプラクティスを遵守するのが難しく、エコシステム全体で一貫した設定やポリシーを適用することが困難な場合もあります。
VM スプロールもセキュリティリスクにつながります。アイドル状態で放置された VM は、リソースと電力を消費し続けるのみならず、更新やパッチ適用の可能性が低いことから、脆弱性が残ったままとなり、潜在的な攻撃のリスクが高まります。
VM の分離によってセキュリティリスクが低減される一面もありますが、DDoS(分散型サービス拒否)攻撃の影響は軽減されません。いずれかの VM に DDoS 攻撃の不正なトラフィックが殺到して性能が低下したときには、同じホストサーバー上で動作する他の VM のリソースにも影響が及びます。
サーバー仮想化がもたらすセキュリティリスクは、IT 部門がベストプラクティスを導入することによって抑制できます。具体的には、システム全体の全てのソフトウェアとファームウェアを常に最新の状態にする、仮想化ソリューション向けに設計されたアンチウイルスソフトやその他のソフトウェアを導入・更新する、システムにアクセスしているユーザーを常に制御する、ネットワークトラフィックを暗号化する、使用していない VM を削除する、VM や物理サーバーを定期的にバックアップする、VM やホストサーバー向けに明確かつ詳細なユーザーポリシーを定義・導入する、などのベストプラクティスがあります。
サーバー仮想化のユースケース
- データセンターの統合:サーバーの仮想化によって、必要な物理ハードウェアを抑制し、電力と冷却のコストを削減できます。
- テスト環境:VM の新しいインスタンスは容易に起動してプロビジョニングできることから、多くの組織が開発やテストに利用しています。
- デスクトップ仮想化:仮想デスクトップインフラには、柔軟性、一元的管理、セキュリティの強化、シンプルさというメリットがあります。
- バックアップとディザスタリカバリ:VM のバックアップやスナップショットは作成が容易で、障害が発生した場合にも迅速に復旧できることから、仮想化はバックアップとディザスタリカバリの手段として優れています。
- クラウドコンピューティング:クラウドコンピューティングは仮想化と自動化が重要な基盤となっています。
- 可用性の向上:VM のライブマイグレーションでは、サービスを稼働したままで VM を別の物理サーバーに移動できます。また、仮想化の利用により、定期メンテナンスの間や、新たに開発した機能をテストするときにも、ビジネスクリティカルなシステムやアプリケーションの稼働を継続できます。
- 複数のプラットフォームのサポート:仮想化することで、さまざまなワークロードを異なる OS で稼働できます。OS ごとにハードウェアを用意する必要はありません。
サーバー仮想化の導入
サーバー仮想化を組織全体で導入するためには、計画の段階でいくつかの重要なステップに留意する必要があります。有益なベストプラクティスをいくつか以下に示します。
- 計画の策定:仮想化のプロジェクトに本格的に着手する前に、仮想化プラットフォームが必要な理由や導入のあり方について、全てのステークホルダーに適切に理解してもらう必要があります。想定されるコストや課題、事業計画との整合性について考慮が必要です。
- 選択肢の確認:ハードウェアとソリューションを評価して、プロジェクトの範囲を大まかに把握することが重要です。ソリューションの選択肢や、競合他社が利用しているソリューションを確認します。このステップでのデューデリジェンスによって、導入の成功が大きく近づきます。
- テストと実験の実施:ソリューションの候補を試用し、実際の動作や日々の業務への影響を確認する必要があります。そのソリューションの導入に伴って生じる作業に IT 部門が容易に管理できるかどうかを検討します。購入の判断を下すためには、IT 部門が安心して利用できるソリューションであることが必要です。ソリューションの維持管理を担うことになる IT 部門が、ソリューションに潜む落とし穴や課題を十分に認識しておく必要があります。
- ビジネスニーズの検討:提案されたソリューションは、仮想化に関する自社固有のニーズを満たすか、IT インフラのセキュリティ、コンプライアンス、ディザスタリカバリ計画などにどのような影響を及ぼすかを検討します。ソリューションの導入が自社のエコシステム全体にもたらす影響を、IT 部門は詳細に理解しておく必要があります。
- 小規模で開始してから拡大する:仮想化を初めて利用する場合、重要度の低いシステムで小規模な試験的導入を行い、日々の運用と管理で何が必要になるか、IT 部門が理解しておくことが有益です。
- ガイドラインの策定:VM のプロビジョニングやライフサイクル、監視の方法について検討する必要があります。予算の超過やリソースの浪費、VM スプロールを回避し、事前に合意した手順や職務に沿ってシステムの維持管理を進めていくうえで、ガイドラインは有益です。
- 適切なツールの選択:仮想化プラットフォームを決定して終わりではなく、ソリューションの上位機能の活用やシステムの管理強化に向けて、関連ツールの追加入手を検討する必要があります。
- 自動化も必ず取り入れる:自動化と仮想化には密接な関係があります、IT 担当者が自動化の手法やツールを適切に理解しておくことが必要です。
VM 管理のベストプラクティス
サーバー仮想化は、サーバーをシンプルに一元管理できるというメリットの一方で、特に IT 担当者が仮想化の手法やプラクティスに精通していない場合には、課題に直面する可能性が考えられます。VM を効率的に管理するためのベストプラクティスを以下に示します。
セルフサービス管理による VM のスプロールの削減:前述のとおり、VM は作成が極めて容易で、使用済の VM が放置されることがよくあります。セルフサービスの VM 管理では、不要になった VM の削除はエンドユーザーに委ねられます。エンドユーザーにとっては、自ら要求した VM の方が、管理や削除も容易になります。
テンプレートを利用した VM のサイズの適正化:VM を作成するときに、必要以上のリソースを割り当てたくなる場合があります。しかし、例えば CPU を増やすだけでは、性能は必ずしも向上せず、リソースが無駄になる場合があります。VM の役割ごとにテンプレートを作成しておくことによって、オーバープロビジョニングの傾向を抑制できます。
性能の監視に役立つ適切なツールを見つける:VM のパフォーマンスについての知見は、ハイパーバイザーや仮想化プラットフォームに付属のツールでも得られます。しかし、環境の規模が拡大してくると、使用していない VM の詳細な情報や、デプロイの効果と全体の性能についての情報が得られる堅牢なツールが必要になります。
VM のセキュリティを維持できる適切な権限を付与:仮想化環境では IT 部門が管理作業を他のユーザーに委任できます。ただし、そのユーザーの権限が適切であることが重要です。インフラの各部分に必要な権限を階層構造で設定できる必要があります。権限を容易に割り当てられるだけでなく、必要に応じて権限の取り消しも同じく容易に行えることが求められます。
VPN と多要素認証を利用したリモートアクセスの有効化:ハイブリッドワークのモデルによる在宅勤務が増えるなか、仮想化環境にリモートアクセスできる適切な手段を用意することは重要です。多要素認証による VPN 接続をお勧めします。
VM 向けに設計されたバックアップとリストアのプラットフォームの利用:VM を収容しているホストサーバーのバックアップには、VM のファイルを個別にリストアできる機能を備えたバックアッププラットフォームを利用する必要があります。
Nutanix とサーバー仮想化
Nutanix はサーバー仮想化に精通しており、仮想化が組織の生産性向上にどれほど役立つかを理解しています。Nutanix は、デプロイから日々の管理まで、さまざまな仮想化ツールと仮想化ソリューションを提供し、プロセス全体をシンプルにます。
Nutanix AHV を利用することで、仮想化のあらゆるメリットを妥協せずに享受できます。AHV は、現在のハイブリッドクラウド環境に適した設計になっており、VM とコンテナのデプロイや管理は直感的かつ容易です。また、自己修復型セキュリティ、ディザスタリカバリによる自動的なデータ保護、詳細な分析など、これらの機能を利用する際のコストや複雑さを排除し、組織が必要な全ての機能を提供しています。