仮想マシン(Virtual Machine:VM)とは、物理的なコンピューター上に、ソフトウェアによって仮想的なコンピューター環境を構築する技術です。1台の物理マシン上で複数の仮想マシンを動作させ、それぞれで異なるOSやアプリケーションを実行できます。
ハイパーバイザーと仮想マシン
ハイパーバイザー(Hypervisor)とは、仮想マシン(VM)と物理マシンのハードウェアの間で動作し、仮想マシンを作成・管理するためのソフトウェアです。
ハイパーバイザーは、物理マシンが持つCPUやメモリ、ストレージなどのリソースを各仮想マシンへ割り当てます。これにより、1台の物理マシン上で複数の仮想マシンを動作させ、それぞれで独立したOSやアプリケーションを実行できます。
ハイパーバイザーには、物理ハードウェア上で直接動作する「タイプ1」と、既存のOS上でアプリケーションとして動作する「タイプ2」があります。
クラウドにおける仮想マシン
クラウドサービスでは、物理サーバーを購入・設置することなく、クラウド上に仮想マシンを作成してコンピューティングリソースを利用できます。
例えばAWSでは、Amazon EC2(Elastic Compute Cloud)を利用することで、必要に応じて仮想サーバーを起動し、CPUやメモリなどの性能、OS、ストレージ、ネットワークなどを用途に合わせて構成できます。
クラウド上の仮想マシンは、Webサーバーやアプリケーションサーバー、開発・テスト環境など、さまざまな用途で利用されています。また、必要に応じて仮想マシンを追加・削除できるため、システムの規模に合わせてコンピューティングリソースを柔軟に変更できます。
仮想マシンを使用する用途・なぜ仮想マシンを使用するのか
仮想マシンは、1台の物理マシン上で複数のOSやシステムを動作させたり、必要なコンピューティング環境を柔軟に構築したりするために利用されています。
物理マシンを用途ごとに用意する場合と比較して、ハードウェアリソースを効率的に利用できるほか、環境の作成・削除・複製などを行いやすいことも仮想マシンを利用する理由の一つです。
仮想マシンの代表的な用途や利用する理由には、以下のようなものがあります。
- サーバーの集約:1台の物理マシン上で複数の仮想マシンを稼働させ、ハードウェアリソースを効率的に利用できます。
- 開発・テスト環境の構築:本番環境とは分離したOSやソフトウェア環境を用意し、開発や動作検証に利用できます。
- 異なるOSの利用:同じ物理マシン上でWindowsやLinuxなど、異なるOSを動作させることができます。
- 環境の分離:アプリケーションやシステムごとに仮想マシンを分け、独立した実行環境として運用できます。
- 環境の複製や復元:仮想マシンのイメージやスナップショットなどを利用して、同様の環境を作成したり、以前の状態へ復元したりできます。
- クラウド上でのサーバー構築:AWSやMicrosoft Azure、Google Cloudなどを利用し、物理サーバーを自社で用意せずに仮想マシンを構築できます。
- 既存システムの移行:物理サーバーで稼働しているシステムを仮想環境やクラウド環境へ移行し、既存のOSやアプリケーションを継続して利用できる場合があります。
