サーバー仮想化は、1台の物理サーバー上に、複数のOSを配置する技術のことで、資源を最適化し、運用コストを削減するといったメリットがあります。
しかし、この説明を聞いても「まだ概要がつかめない」といった人がいるのではないでしょうか。
本記事では、そんな方のためにサーバー仮想化の基礎知識や種類、メリットやデメリットについて詳しく解説します。
サーバー仮想化をわかりやすく解説
まずは、サーバー仮想化の概要について解説していきます。
サーバー仮想化は、1台の物理サーバー上に複数の仮想的なサーバーを作成する技術です。
通常、物理サーバーは単一のオペレーティングシステム(OS)を実行しますが、サーバー仮想化では、構築した仮想サーバーごとにOSを実行できます。
ここから混同しがちな仮想サーバーと物理サーバーの違い、仮想サーバーとクラウドとの違いや、サーバー仮想化の種類について初心者にもわかりやすくまとめて紹介します。
【物理サーバー】と【仮想サーバー】の違いと見分け方
物理サーバーと仮想サーバーの見分け方は、1つの物理サーバーに複数のサーバーが入っているかいないか、より詳しくいえば仮想化ソフトウェアが入っているかどうかという点がポイントになります。
普段スマートフォンを利用していて、androidスマホのみにインストール可能なアプリと、iPhoneなどのiOSのみにインストール可能なアプリがあり、不便だと感じたことはありませんか?
このような現象がサーバーでも起こっています。Windowsサーバーにのみ利用可能なソフトウェア、Linuxサーバーにのみ利用可能なソフトウェアが存在しており、どちらも利用したい場合には、原則2つのサーバーを準備する必要があります。
しかし、そのような場合でも仮想化ソフトウェアを入れることによって、1つの物理サーバー上で複数の仮想サーバーを構築し、複数のOSを使用することが可能となります。
【仮想化】と【クラウド】の違い
続いてサーバー仮想化とクラウドの違いについても混同しやすいため解説します。
最も大きな違いは、自社で物理サーバーを保有しているかしていないかという点です。
自社で物理サーバーを保有しており、そのサーバーに仮想化ソフトウェアを入れ、複数のサーバーOSを実行させる技術がサーバー仮想化です。
一方クラウドは、インターネット上で提供されるサービスで、その利用者は自社に物理サーバーを保有していません。
Microsoft AzureやAmazonのAWSのサービスを利用し、MicrosoftやAmazonが保有しているサーバーを使用する形態になっています。
サーバー仮想化の3つの種類
サーバー仮想化には、ホスト型、ハイパーバイザー型、コンテナ型の3つの種類があります。
現在多く利用されているのが、ハイパーバイザー型ですが、コンテナ型も利用する人が増えています。
ここからは、ホスト型とハイパーバイザー型、そしてコンテナ型の特徴や違いについてまとめていきます。
1.ホスト型仮想化
通常、ホスト型仮想化では、物理サーバーにホストOSを構築、そのOSの上に仮想化ソフトウェアをインストールし、そこにWindowsやLinuxなどのゲストOSを構築するサーバー仮想化の技術です。
仮想マシンは、ホストOS上で完全に分離されており、仮想マシン上で実行されるアプリケーションは、他の仮想マシンやホストOSに影響を与えることがありません。
この後紹介するハイパーバイザー型やコンテナ型に比べ、環境の構築がしやすいため検証環境によく利用されます。
2.ハイパーバイザー型仮想化
次に紹介するサーバー仮想化技術は、ハイパーバイザー型です。
ホスト型では、ホストOSを利用していましたが、そのホストOSが仮想マシンのリソースを共有するため、パフォーマンスの低下が生じるといった問題を抱えていました。
この方法ではハイパーバイザーと呼ばれる仮想化ソフトウェアをインストールすることで、無駄なリソースの消費や処理速度低下などの問題を改善しています。
さらに、アプリケーションのホスト移動時には、ユーザーに利用できない時間を感じさせない「ライブマイグレーション機能」の実現につながっています。
3.コンテナ型仮想化
最後に紹介するものが、コンテナ型のサーバー仮想化技術です。
ホスト型もハイパーバイザー型も、複数のゲストOSを1つのサーバーで実行していましたが、コンテナ型はゲストOSを使わずに多数のアプリケーションを1つのサーバーで実行する技術です。
コンテナ型はホストOS上に、コンテナエンジンである「Docker(ドッカー)」または「Kubernetes(クーバネティス)」を構築することでアプリの開発・運用を容易化し処理速度の高速化を実現しています。コンテナ型を構築できるプラットフォームが限られているため、この方法を検討されている方は「Docker(ドッカー)」または「Kubernetes(クーバネティス)」を検索してみてください。
サーバー仮想化の5つのメリット
冒頭でも資源の最適化、コストの削減といったサーバー仮想化のメリットを述べました。
サーバー仮想化には大きく5つのメリットがありますのでひとつひとつわかりやすく紹介していきます。
メリット1.ハードウェアの最適化
通常、物理サーバーのCPUやメモリなどのハードウェアリソースは、アプリケーションやシステムが必要とするリソースに応じて割り当てられます。
しかし、物理サーバーを単一のアプリケーションやシステムのために使用する場合、ハードウェアリソースの一部が有効に活用されない可能性があります。
サーバー仮想化を利用すると、1台の物理サーバー上で複数の仮想マシンを同時に実行することができるため、ハードウェアリソースを有効に活用することができます。
例えば、1台の物理サーバーに4つの仮想マシンを作成することができれば、4つのアプリケーションやシステムを同時に実行できます。
メリット2.コスト削減
社内システムの導入にあたりネックになりやすいのが、費用対効果などのコスト面ですが、サーバー仮想化によりコスト削減を実現できます。
サーバー仮想化により、複数のアプリケーションを1つの物理的なサーバーで稼働させることで、複数の物理的なサーバーを購入する必要がなく、ハードウェアコストを削減できるのです。
物理サーバーを1つにまとめることで、ハードウェアの購入費用だけでなく、保管スペースの削減、消費電力の削減、冷却コスト削減、管理にかかる人件費の削減などにつながります。
メリット3.管理の効率化
サーバー仮想化によるメリットの2つ目は、管理の効率化が実現する点です。
複数のサーバーを自社内に設置していた状態から、大幅にサーバー数が削減可能なため管理も容易になります。
仮想サーバーはソフトウェア上で構成され、仮想マシンの起動、停止、削除、移動などを簡単に行うことが可能なため、管理の手間を大幅に減らせます。
また、サーバーの仮想化によって仮想マシンの追加も容易になります。
仮想マシンを柔軟に追加、削減できることでWEBサイトを作成する際など、ピーク時の必要サーバー台数を考慮する必要がなくなり、このような管理負荷も削減できます。
メリット4.災害対策の向上
サーバーを仮想化することによって、災害対策にもつながることもメリットの1つです。
ハイパーバイザー型で説明したライブマイグレーションが災害対策の1つとして考えることができます。
ライブマイグレーションは、アプリケーションやシステムをオンラインの状態でホスト変更することを指します。
災害が発生した場合、システムを停止してデータベースやアプリケーションを移行することは困難でしたが、システムを停止させずに、アプリケーションやデータベースのホストの変更が可能になりました。
コンテナ型においても、災害発生時にはアプリケーションごとに別のホストOS上に移動が可能です。
メリット5.セキュリティの向上
セキュリティ向上が見込めることもサーバー仮想化のメリットです。
サーバー仮想化により、物理サーバーを複数の仮想マシンに分割することができます。
この仮想マシンは、物理サーバー上で仮想化されているため、互いに隔離されています。
そのため、ある仮想マシンがサイバー攻撃を受けた場合でも、基本的には他の仮想マシンに影響を与えることはありません。
また、サーバー仮想化により、仮想マシンのバックアップが容易になります。
仮想マシンのバックアップをしておけば、トラブルが発生した場合に仮想マシンをすぐに復元可能です。
これによりセキュリティインシデントに対しても迅速に対応できるでしょう。
メリット6.導入後のスピードの速さ
最後に紹介するサーバー仮想化のメリットは、導入後の拡張スピードの速さです。
サーバー仮想化における拡張スピードの速さとは、仮想マシン(仮想サーバー)の追加やリソースの増加を迅速に行えるということです。
通常、仮想マシンを構築する場合、新たな物理サーバーを用意しマシンを追加する必要がありました。
しかし、サーバー仮想化によって、物理サーバー上に割り当てられたリソース(CPU、メモリ、ストレージ)を使用することで、複数の仮想マシンを同時に実行することができます。
仮想化による最大の利点は、物理サーバーの性能限界や容量を最大限活用しつつ、仮想マシンを追加できることと言えます。
例えば、ある企業のシステムがアクセス数やデータ量の急増により、従来の物理サーバーでは処理しきれなくなった場合を考えてみましょう。
新たに物理サーバーを購入するには、ハードウェアの調達や設置が必要となり、導入までに1ヶ月以上かかることもあります。
しかし、サーバー仮想化により、追加の仮想マシンを用意すれば、拡張を迅速かつ簡単に行うことができます。
サーバー仮想化の2つの注意点・デメリット
これまでサーバー仮想化のメリットをお伝えしてきましたが、導入にあたって注意点ももちろん存在します。
その際に考慮するべき主な注意点を2つ紹介しますので、導入を検討する際はチェックしてください。
1.効率的な運用やセキュリティの専門知識が必須
サーバー仮想化は、1つの物理サーバー上に複数の仮想サーバーを作成する技術です。
しかし、構築や運用にはハードウェア仮想化技術、ネットワーク設定、ストレージ設計、セキュリティ対策など専門的な知識が必要となります。
仮想サーバー間の通信の制限やファイアウォールの設定、アクセス権限の設定などを行う必要があります。
正しい構築を行うことでセキュリティ向上につながりますが、構築手順に不備がある場合、容易に攻撃されてしまいます。
そのため、サーバー仮想化やネットワークに関する専門的な知識が必要とされます。
2.処理性能が低くなる可能性がある
サーバー仮想化のデメリットとして処理性能が低下する可能性もあります。
例えば、複数の仮想サーバーが同時にCPUリソースを使用する場合、物理サーバー上のCPU使用率が逼迫すると、競合して処理性能が低下することがあります。
また、ストレージリソースの競合やネットワークリソースの制限によっても、処理性能が低下する可能性があります。
しかし、現代の仮想化ソフトウェアやハードウェアの性能向上により、適切な設計が施されている場合、処理速度が大きく低下することはありません。
やはり適切に設計するための知識が必要となってきます。
実例から見るサーバー仮想化のメリット
サーバー仮想化の概要やメリット、デメリットを紹介してきましたので、大まかなイメージがつかめてきたのではないでしょうか。
より具体的なイメージを持っていただくためにサーバー仮想化の実例を3つ紹介します。
自社にどのように取り入れるかイメージしながらご覧ください。
株式会社GABA
初めに株式会社GABAの事例を紹介します。
VMware vSphereと呼ばれる仮想化ソフトウェアを使用したサーバー統合を実現しています。
サーバー仮想化により、サーバー台数を80台から5台に、これまでデータセンターから借りていたラックの本数も8本から3本に削減するなど、保守費用も含めて大きなコスト削減効果をもたらしました。
また消費電力量の削減にもつながっており、トータルで50%の運用コスト削減に成功しています。
導入後、vShpereのバージョンアップに関して、「再インストールに15分、移行とアップグレードの作業に2時間です。その後、何も問題は発生していません」と効果を感じられるコメントが残されています。
株式会社カネカ
続いて紹介するのは、グローバルな化学メーカーである株式会社カネカのVMware導入事例です。
システム運用部門は、計画的な業務活動を志向するも、日々の業務がシステムトラブル対応に追われがちの状態にありました。
情報システム部の上層部は、運用担当者が業務に追われている様子を見て、現状のスタッフの状況に危機感を覚えて次の目標を掲げます。
- 運用体制の抜本的な改革
- リソース最適化によるシステムコスト半減
この2つの目的を達成するため、着目したのがVMwareで実現するサーバー仮想化技術です。当初3年以内の目標としていたサーバー台数の削減率67%はわずか1年で達成しました。
サーバー仮想化実施により、システムトラブルに追われることがなくなり、運用担当者に教育コンテンツを用意することでスキル向上も実現しています。
株式会社ビズリーチ
最後に紹介するのは、Dockerのコンテナ技術を利用したビズリーチの事例です。
戦略人事クラウド「HRMOS(ハーモス)」のサーバーがすべてコンテナ化されています。
- オートスケーリング
- 処理能力の高速化
- 運用負荷軽減
- 稼働率の高さ
などの利点を考慮し採用されたのがDockerのコンテナ技術です。
「HRMOS」は、採用管理システムで申し込みから数日で利用可能となりますが、この導入スピードの速さを実現している裏にはサーバー仮想化の仕組みがあるのです。
参考:ITreaders
Microsoft Azureでサーバーの仮想化
サーバー仮想化についてのメリットを紹介してきました。
このサーバー仮想化は、専門的なセキュリティ知識が必要といったデメリットもあると述べましたが、Microsoft Azureを活用することで比較的簡単にサーバー仮想化を利用可能です。
その利用方法について最後に紹介します。
Microsoft Azureとは?
Microsoft Azureは、Microsoftが提供するクラウドサービスです。
Microsoft Azureのポータル画面にログインすることで100を超えるサービスを利用することが可能になります。
Azureの概要や特徴については、別記事「Azureとは」で詳しく解説していますのでぜひそちらもご覧ください。
100以上あるサービスの中で、Azure VMware Solution(AVS)とよばれるサービスがサーバー仮想化を実現するサービスとなります。
コンテナを利用するためには、Azure Container Instances (ACI) または、Azure Kubernetes Service (AKS)のサービスを利用します。
Microsoft Azureで仮想化するメリット
Microsoft AzureのAKSサービスを利用するメリットはいくつかありますが、先ほど挙げたセキュリティに関する課題をクリアしている点が大きなメリットです。
Kubernetesを保護するためのネットワークポリシー、認証、認可、監査機能が備わっているためセキュリティの専門的な知識は不要です。
また、開発・テスト・運用を統合的に行えるため、アプリリリースまでの時間短縮につながります。
まとめ
今回は、サーバー仮想化のメリットを中心として、サーバー仮想化の概要や導入事例などを紹介しました。
- コスト削減
- 管理の効率化
- 災害対策になる
- セキュリティの向上
- 拡張スピードの速さ
上記5つが主なメリットになります。
これらのメリットと、サーバー仮想化には、ハイパーバイザー型、コンテナ型などの種類があるということをまず覚えていただければと思います。
サーバー仮想化に興味を持ったけれど難しいと感じている方は、一度Microsoft Azureで体験することをおすすめします。
操作が容易であるAzureのメリットを実感できるでしょう。