『仮想環境』の基礎知識と『VirtualBox』の環境構築

仮想環境の知識や、それを活用できる能力を所有することは、システム開発において、もはや必須です。フロントエンジニアだから自分には仮想環境の知識は必要ないと勘違いしているかたは、この記事で考えを改めましょう。
仮想環境に関する情報は世の中にたくさんありますが、私の経験として自分なりのアプローチで書きあげたつもりなので、仮想環境に詳しくないかたや、既に知っているかたも改めて読んでもらって、仮想環境に関する理解を強固なものにしてもらえたらと思います。
仮想環境の仕組みはもう良いから、早く VirtualBox の環境構築をしたい!というかたは、目次から『仮想環境構築の流れ』までスキップして進めてください。
Table of Contents
仮想環境とは
簡易的に表現するなら、Windows OS ① が起動している中に、もう一つの Windows OS ② が起動できる機能(状態)のことです。Windows OS ② は、もちろん Windows に限らず Ubuntu や CentOS といった、異なる OS を起動することもできます。この場合、Windows OS ① のことを『ホストOS』、Windows OS ② のことを『ゲストOS』と呼びます。
時代と共にハードウェアも性能が向上し、ソフトウェアも研磨されているので、ある程度マシンの性能が高ければ、複数の OS を起動しても快適に利用することができます。
このように、一つの物理マシンで、複数のマシンがあるかのように振る舞える環境こそが『仮想環境』です。仮想環境では、『仮想マシン』を立てて、それぞれの OS を設定・制御します。
本来、一つのマシンに一つの OS しか組み込むことができないが、一つの物理マシンで複数のマシンがあるかのように振る舞い、複数の OS が起動できる環境のことを仮想環境という。
仮想マシンの種類
仮想マシンの種類(形態)はいくつかあり、目的に応じて最適な方法を選択することになります。
※誤解しがちですが、仮想マシンの種類を選ぶというより、仮想環境を提供するソフトウェアを選びます。
ホスト型
メインとなる OS(ホスト OS)の上に仮想環境を構築する形式です。

ホスト型は、手軽に仮想環境が導入でき、ホストOS も今までどおりそのまま使えるのがメリットです。VirtualBox を利用する場合は、CLI(コマンド)の操作を知らなくても導入できるので、ひとまず取っ掛かりやすいのが魅力です。
ただ、仮想マシンをサーバーとして運用する目的の場合は、ホスト OS とゲスト OS でハードウェアのリソースを折半することになるので、本格的な運用には向いていないのがホスト型のデメリットです。
- Oracle VirtualBox
- VMWare Player
- Windows Virtual PC
- Parallels Desktop
- QEMU
- など
コンテナ型
イメージ図はホスト型に似ていますが、ゲスト OS が存在しないのがコンテナ型の特徴です。

名前のとおり『コンテナ』にアプリケーションやライブラリなどの環境をパッケージングし、エンジニア同士で簡単に作業環境を共有したり、クライアントマシンとサーバーマシンで環境を共有できることがメリットです。
ホスト型と比べて優れているところは、ゲスト OS が存在しないことによってハードウェアリソースが最適化できていることです。
ホスト型と比較してもメリットが大きく感じられますが、ゲスト OS が存在しない…つまりすべてのコンテナで同一の OS を利用することが前提のシステムなのは縛りとなるので、デメリットといえます。これは、プロジェクトを掛け持ちして開発するケースにおいて、強烈な足かせになりました。また、CLI の知識が必要になるので、ホスト型よりハードルは少し高く感じるでしょう。
- Docker
ハイパーバイザー型
下図のとおり、仮想環境においてホスト OS が存在しないのがハイパーバイザー型の特徴です。

ホスト OS が存在しない状態と聞いただけでは、画面やその操作がいったいどんな感じなのかイメージできないと思います。
ハイパーバイザー環境では、導入したマシンを直接操作するわけではなく、基本的にネットワーク越しにブラウザなどのソフトを介して別のマシンからアクセスします。なので、導入さえしてしまえば、操作感は普通にインターネットをするような感覚で扱えます。
メリットはハードウェアリソースの無駄がないことです。クライアント環境はサーバー環境に比べ無駄な機能がてんこ盛りなので、ホスト OS が存在しない環境は、サーバーを提供する側においてハイパーバイザー型はまさにベストコンディションなわけです。
一方、ホスト OS がベースにないハイパーバイザー型は、もはやパーソナルコンピューターではなくなります。また、ハードウェアに直接ハイパーバイザーシステムを導入する関係で、ソフトウェアのメーカーが提唱する『ハードウェア要件』をしっかり満たさないと、ハイパーバイザー自体のインストールが正常にできなかったり、環境依存のトラブルが発生する可能性もあります。
- VMWare ESXi
- Microsoft Hyper-V
- KVM
- Xen
仮想環境構築の流れ
仮想環境の概要を学んだところで、いよいよ環境構築を進めていきます。
- VirtualBox のインストール
- VirtualBox で仮想マシンを作成
- 仮想マシンにゲスト OS をインストール
ホスト型(VirtualBox)の仮想環境を構築するまでの流れは上記のとおりです。
初めて仮想環境を構築するときは作業が複雑に感じてしまうかもですが、流れはいたってシンプルですよね!いまどの作業をしているのかをイメージすると、理解しやすいと思いますよ。
既に VirtualBox をインストールしているなら、以下の記事でゲスト OS のインストールに進みましょう。
VirtualBox のセットアップ
VirtualBox のダウンロード
VirtualBox 公式サイトのダウンロードページから、VirtualBox のインストーラーをダウンロードします。

VirtualBox のダウンロードページにアクセスしたら、『Windows hosts』を選択します。
もし mac OS 環境なら『OS X hosts』を選択してください。
VirtualBox のインストール
VirtualBox のインストーラーがダウンロードできたら、さっそくインストーラーを実行しましょう。
インストール作業は、基本的に次へ次へと進めていくだけです。

『Next』を選択します。

『Next』を選択します。特別な理由がない限り、インストール先を変更すべきではありません。

『Next』を選択します。デスクトップに VirtualBox のアイコンを作ってほしくないときは、上記のようにチェックを外してもよいです。

この警告は、『インストールの過程で一時的にネットワークが切断されますよ』という意味です。
ネットワークが切断されても大丈夫な状態であれば、『Yes』を選択してインストールを継続しましょう。

『Install』を選択します。

VirtualBox のインストーラーとは別窓で、『Oracle Corporation ユニバーサル シリアル バス コントローラー』のインストールをするのか聞いてきます。
これは、VirtualBox を扱う上で絶対に必要なものなので『インストール』を選択してあげてください。

少し経つと、インストールの完了画面が表示されます。『Finish』を選択します。

無事、VirtualBox が起動できたでしょうか?
これで、Windows OS が起動している上で、他の OS を起動させることができる準備が整いました!
VirtualBox のインストール中に『Oracle Corporation ユニバーサル シリアル バス コントローラー』を、もし間違ってインストールしなかった場合は、もう一度 VirtualBox のインストーラーを起動して最初からやり直せばオッケーです。
ここまでで、VirtualBox のインストールが完了です。
次回は、いよいよ仮想マシンを立てて、ゲスト OS のインストールを進めていきます!
以上、『仮想環境』の基礎知識と『VirtualBox』の環境構築でした。