仮想マシンとは?
仮想マシン(VM)とは、ホストコンピューターとは異なるオペレーティングシステム(OS)やアプリケーションを実行する、ソフトウェアベースのコンピューターです。例えば、Windowsコンピューター上でLinux VMを実行できます。
コンピューターの力は、前世紀に世界を一変させました。今日では、重要なインフラや企業活動などを支えています。同様に、VMは新たな千年紀におけるエンタープライズコンピューティングの基盤となっています。
仮想化技術が登場したのは1960年代ですが、VMが市場で利用可能なソリューションとなったのは、1999年にVMwareがワークステーションを発売してからでした。現在、Future Market Insightは、世界のVM市場が2033年までに1773億ドル規模に達すると予測しています。世界的なデジタルトランスフォーメーション、クラウドコンピューティングの台頭、コスト削減、最先端技術へのアクセス拡大が、市場の成長を後押ししています。
本記事では、仮想マシンとは何か、その価値や仕組み、仮想化へ移行する際に考慮すべき点について詳しく解説します。
仮想マシンの仕組み
仮想マシンとは、自己完結型のサーバーであり、動作にハードウェアを依存せず、ソフトウェアを利用します。管理者は、1台の物理ホストサーバーから、OSや用途の異なる複数の「ゲスト」仮想マシンを実行できます。
OSとは、コンピューターの動作を管理するためにハードウェア上に配置される基盤ソフトウェアです。一方、アプリケーション(エンドユーザー向けに設計されたソフトウェアプログラム)はOSごとに固有であるため、ネイティブOSによって、ユーザーが他のシステムやアプリケーションを利用できる範囲が制限される場合があります。
VMにはホストサーバーと同様に、メモリ、ネットワークインターフェース、ストレージ、割り当てられたCPU容量が備わっています。ハイパーバイザーはVMのゲスト同士を分離し、必要に応じて物理ホストのリソースをVM間で共有します。
仮想マシンを利用するメリットとデメリット
VMを利用するメリットには、コスト削減、柔軟性、可搬性などがあります。VMを使えば、管理者は1台の物理デバイスから数百台の仮想コンピューターを管理できます。また、VMはある物理デバイスから別の物理デバイスへ迅速に移動できます。
仮想マシンは、物理ハードウェアの一部を使いながら、コンピューターと同じように動作します。例えば、管理者はホストコンピューター上で12台のVMを実行し、それぞれを独立したOSとして動作させることができます。
すでにサーバー仮想化で広く利用されているVMの導入は、今日のハイブリッドインフラに適しています。
こうしたメリットから、仮想マシンはあらゆる業界で採用され、各社のクラウド環境で運用されています。
しかし、これらのメリットの多くは、仮想マシンの弱点も浮き彫りにします。VMは多くのことを実行できますが、すべての処理能力を物理ホストから得ており、他のゲストVMと多くのリソースを共有する必要があるため、単独で動作する物理ホストよりも本来の生産性は低くなります。
仮想マシンのメリットとデメリット早見表
| 項目 | VMのメリット | VMのデメリット |
|---|---|---|
| パフォーマンス | VMは1台の物理ホスト上で複数のOSを実行でき、スペース、コスト、保守の負担を削減できます。 | VMの安定性、信頼性、パフォーマンスは、ホストの性能に左右されます。 |
| セキュリティ | VMは異なるソフトウェアインスタンスを分離し、マルウェアがホストシステムに影響するのを防ぐことで、セキュリティを高められます。 | VMのセキュリティは、VMスプロール、ランサムウェアなどの外部攻撃、ネットワーク構成、アクセス制御、ワークロードの信頼レベル、クラウドサービスプロバイダーの影響を受けます。 |
| DevSecOps | VMは、クラウドコンピューティングのリソースのテスト、開発、運用に適した、コスト効率の高いリソースです。 | VMはハードウェアに間接的にアクセスするため、実機よりも効率が低くなります。これはDevSecOpsに影響を及ぼす可能性があります。 |
| アクセシビリティと互換性 | 異なるハードウェア機能、OS、性能を備えたさまざまなバージョンのVMを、迅速に導入、アップグレード、移行できます。 | VMはVMとそのリソースを管理するソフトウェアであるハイパーバイザーに依存するため、互換性や信頼性の問題が生じる場合があります。 |
仮想マシンは必要ですか?
コンピューターが2台以上あればと思ったことはありませんか?古いコンピューターの価値が急速に下がっているものの、その内容を保存したいと考えていませんか?Windows、Mac、Linux向けのアプリケーションを同時に開発していますか?
これらの質問に当てはまるなら、VMはテクノロジーツールキットに加える価値のある存在です。コンピューターを大量に作成することから、古いデータの保存、複数のOSで動作するアプリケーションの開発まで、VMはこうしたことのすべてを実現できます。
仮想化のもう1つの魅力は、インベントリとコストに与える影響です。組織は、ディスク、ドライブ、サーバー機器を含むハードウェアをわずかしか使わずに、コストを削減し、利用率を高め、ハードウェア管理の悩みを軽減できます。
仮想マシンは特にデータセンター、ソフトウェア開発者、IT組織に適しています。ただし、エンドユーザー向けのPCやノートパソコンで、ワークロードやアプリケーションを分離する目的にも利用できます。
仮想マシンの種類
仮想マシンには、プロセスVMとシステムVMという2つの主な種類があります。システムVMは、標準的な物理コンピューターと本質的に同じ、完全な仮想OS環境を作成します。一方、プロセスVMは、特定のアプリケーションやプロセスを実行する目的で、一時的にOSを模倣するだけです。
この2種類のVMをより詳しく比較すると、次のようになります。
| プロセス仮想マシン | システム仮想マシン | |
|---|---|---|
| 別名 | 言語仮想マシンまたはマネージドランタイム環境 | ハードウェア仮想マシン |
| 用途 | ソフトウェアシミュレーション、デバイスの動作の模倣 | ソフトウェアエミュレーション、実在する状態を正確に再現 |
| 機能 | 単一のプログラムまたはプロセスを実行 | コンピューターOSへの完全なアクセス |
| 抽象化 | 命令セットアーキテクチャ(ISA) | 高水準プログラミング |
| 例 |
|
|
仮想マシンとコンテナの違い
コンテナと仮想マシンは、どちらも1つのプラットフォームから分離されたアプリケーションを実行するため、しばしば混同されます。両者の違いは、サイズ、速度、ワークロードの生産性、ホストマシンとの統合方法にあります。
VMはコンピューターのハードウェアをエミュレートでき、ギガバイト単位のデータを扱うのに対し、コンテナは通常、メガバイト単位で単一のアプリケーションまたはプロセスだけを収容します。軽量なコンテナは、速度とマイクロサービスのデプロイにおいて、VMより本質的に有利です。一方、仮想マシンは、より大規模なワークロードやアプリケーションの管理に適しています。
仮想マシンとコンテナについて詳しく知るには、仮想化とコンテナ化の違いを解説したガイドをご覧ください。
仮想マシンの導入方法
仮想マシンの導入を支える技術は、ハイパーバイザーと呼ばれるソフトウェアメカニズムです。ハードウェアとゲスト仮想マシンの間に位置するハイパーバイザーは、物理ホストマシン上で動作し、既存のVMを監視します。ハイパーバイザーはサーバー仮想化だけでなく、アプリケーション、ストレージ、デスクトップの仮想化も可能にします。
ハイパーバイザーを導入すると、管理者は必要な管理機能を利用できるだけでなく、マイクロセグメンテーションを実装する機会も得られます。ハイパーバイザーを組み込んだデバイスの販売も勢いを増しており、Linux向けのカーネルベース仮想マシン(KVM)などがその例です。主要なハイパーバイザーベンダーには、VMware、Microsoft、そしてRed Hatがあります。
仮想マシンの8つのユースケース
柔軟性はVMの主なメリットの1つであるため、想定されるユースケースは非常に多くあります。代表的なものとして、容量利用率の最適化、レガシーソフトウェアや異なるOSの実行、システムレベルのスナップショット、試行錯誤や探索のためのサンドボックス環境などが挙げられます。
容量利用率の最適化
仮想マシンを導入する最大のメリットは、ストレージ、アプリケーション、処理能力を拡張できることかもしれません。仮想化によってワークロードを集約できるため、それらを配置する物理スペースや、必要な機器・運用コストを削減できます。オンプレミス環境の設置面積を小さくすることで、組織はこれまで以上に多くの処理を管理できるようになります。
レガシーソフトウェアの実行
レガシーソフトウェアのアプリケーションは、新しいOSのバージョンと互換性がなくなったり、組織の従業員が利用できなくなったりする場合があります。これは、ITチームが意図的に移行したため、あるいはソフトウェア開発者がサポートを終了したためかもしれません。いずれの場合も、従業員がレガシーアプリを使いたいという希望を諦める必要はありません。VMを使えば、提供終了したプログラムを動作させるために必要な環境を再現できます。
異なるオペレーティングシステムの利用
VMの最も一般的なユースケースは、1台の物理ホストから異なるOS群にアクセスすることです。ホストのネイティブOSが何であっても、ITスタッフは新しいマシンを作成または複製できるため、OSをまたいだ開発が容易になります。
システムレベルのスナップショット
VMを試行錯誤しながら利用する際、ユーザーはゲストマシンのバージョンを保存できるスナップショット機能の便利さに気づくでしょう。この機能を使えば、現在のシステムの状態とデータを保持できます。対象には、ディスク、メモリ、仮想ネットワークインターフェース(VNI)カードなどが含まれます。ユーザーはVM上でのテスト用に複数のスナップショットを作成・管理できますが、スナップショット上でVMを長期間実行すると、不安定化やデータ損失が発生する可能性がある点には注意が必要です。
ネイティブではないOS向けソフトウェアの開発
VMの価値は、さまざまなコンピューターシステムへの幅広いアクセスを必要とする開発者や専門家にとって特に大きいという点が、一貫したテーマとして挙げられます。少し前まで、プログラマーはデバイスの種類(デスクトップとモバイルプラットフォームなど)をまたいで時間を割く必要がありました。しかしVMによって、OSをまたぐアプリケーション開発をより迅速かつスムーズに進められるようになります。
安全なサンドボックスの提供
VMにおけるサーバーセキュリティ機能の1つは、物理ホスト内の分離された環境であることです。VMは独自のハードウェアを使用する独立したコンピューターではなく、OSやアプリケーションもホストや他のゲストマシンに接続されていません。そのため、システム自体に被害を与える心配なく、疑わしいファイルや新しいプロジェクトなどを分離された環境でテストするのに適した場所となります。
システムの探索と試行錯誤
開発者がコンピューターを使う際には、達成すべき目標を詳細に計画していることがあります。一方、テクノロジー愛好家は、まったく計画を立てずに使い始めることも少なくありません。取扱説明書やWebガイドがあるかどうかにかかわらず、多くのユーザーはデバイスの機能を探りたいと考えます。好奇心旺盛なユーザーにとって、VMは結果を気にせず試行錯誤できる遊び場です。新しいOSを学ぶ場合でも、コンピューターを分解して理解する場合でも、VMは関心のあるユーザーに探索のための空間を提供します。
VMを他のマシンに複製する
1台のホストで複数のVMを稼働させられるため、VMを簡単に複製できる理由も理解しやすいでしょう。この機能の唯一の注意点は、VMの移行先がハイパーバイザーによって提供される環境に限られることです。それ以外の場合、VMは数個のファイルに収まるため、他のホストに移行できます。
主要な仮想マシンソリューション
VM市場は多様で、VMを提供する選択肢や新しい企業が数多く存在します。Microsoft、Red Hat、Canonical、Oracle、Linux Mint、IBMは、VMの主要プロバイダーです。ここでは、人気の高い3つのVM製品を見ていきましょう。
Microsoft Azure
Microsoft Azure Virtual Machinesは、ユーザーがオンデマンドでVMを作成・実行できる、最も人気の高いクラウドコンピューティングサービスの1つです。Azureは、WindowsとLinuxのOS、複数のサイズや構成、高可用性・スケーラビリティ機能など、さまざまなワークロードに対応する選択肢を提供しています。
ユーザーは、ストレージ、ネットワーク、セキュリティ、管理など、他のAzureサービスとの統合によるメリットも得られます。Azure VMを使えば、クラウドインフラストラクチャをより細かく制御し、柔軟に運用しながら、コストと複雑さを抑えられます。
料金
Microsoft Azureでは、新しいアカウントを作成してから12か月間、WindowsまたはLinux向けのVMを無料で利用できます。その後は、便利ですが非常に複雑なコスト計算ツールを使って費用を見積もれます。
Canonical Ubuntu
Canonical Ubuntu Virtual Machinesは、Amazon Web Services(AWS)やMicrosoft Azureなどの一般的なプラットフォーム上で動作するクラウドベースのインスタンスです。信頼性と拡張性に優れたソリューションを必要とする企業や開発者に向けて、セキュリティ、コンプライアンス、サポートの強化機能を提供します。また、Linux、Windows、Mac OSに対応しています。
Ubuntu Pro Virtual Machinesは、オープンソースのリソースを提供して開発者に完全な自由を与えながら、アップデート、パッチ、修正に加え、Canonicalとパートナーが提供する認定ソフトウェアパッケージやツールによって、オープンソースに伴うリスクも軽減できるため人気があります。
料金
Ubuntu Pro VMの料金は、サポートなしの場合、デスクトップ1台あたり年間25ドルから利用できます。完全な24時間365日のサポートを付ける場合は、年間300ドルです。無制限のVMに対応するサーバーの場合、サポートなしで年間500ドルから、完全なサポート付きで年間3,400ドルからとなります。
Red Hat Virtualization
Red Hat Virtualization(RHV)は、単一またはクラスター化されたインフラストラクチャ上でVMを実行・管理できる、包括的なエンタープライズグレードの仮想化プラットフォームです。Linuxを基盤とするRHVは、ワークロードに高いパフォーマンス、スケーラビリティ、セキュリティ、柔軟性を提供します。
RHVは、Linux、KVM、oVirtなどのオープン標準とテクノロジーを基盤としているため人気があります。また、Ansible、Satellite、OpenShiftなどの他のRed Hat製品やサービスとも統合でき、ハイブリッドクラウド環境向けの完全なソリューションを提供します。
料金
RHVの料金は、標準版がハイパーバイザー1台あたり年間999ドルから、Premiumエディションがハイパーバイザー1台あたり年間1,499ドルからとなっています。
まとめ:VMが実現する運用の柔軟性
コンピューターの仮想化は1960年代にさかのぼりますが、仮想マシンが広く普及したのは21世紀になってからです。ソフトウェア開発やアプリケーションが重視されるようになった現在、複数のOSや分離された内部環境にアクセスできることは不可欠です。
仮想マシンがもたらすメリット:
- 運用の柔軟性
- 一元管理
- 災害復旧対策
- オーバーヘッドとダウンタイムの削減
- スケーラビリティ
将来の組織、アプリケーション、ワークロードにサービスを提供するため、VMは今後もビジネスの生産性向上に欠かせない構成要素であり続けるでしょう。
仮想マシン上でビジネスを運営しているなら、業務をスムーズに継続するための最適なVMバックアップソフトウェアをご紹介します。