フリーランスの攻略本

サルでもわかる仮想環境とは?種類別にイラスト付きで解説【注意3点】

仮想環境って何?

DockerとかVirtualBoxとかのこと?

使うメリットは?

ハードウェアの中で仮想的に環境を分離・統合する「仮想環境」。

IT技術を学んでいると一度は見聞きする単語だと思います。

しかし具体的に何を指すのか理解している人は案外少ないのではないでしょうか。

“基本情報技術者試験”の出題範囲に含まれるくらい、情報技術者にとって重要かつ基本的な概念なので、ぜひこの機会に理解しましょう。

この記事では、仮想環境の定義から、その種類、メリット・デメリットまで幅広く解説しています。

この記事を読めば仮想環境について理解し、仮想環境を導入すべきかどうか、判断できるようになるでしょう。

30秒で分かるこの記事の結論
  1. 仮想環境とはハードウェア内部で仮想的に環境を構築したもの
  2. サーバやネットワーク、ストレージ、メモリまで幅広く仮想化できる
  3. 物理環境にパフォーマンスは劣ることが多い
  4. 柔軟な拡張が可能で、リソースを有効活用できるのが強み

1. 仮想環境とは【ハードウェア内部が仮想的に分離・統合された環境】

仮想環境とは

仮想環境とは、パソコンやストレージなどのハードウェア内で仮想的に構築された環境のことです。

“仮想化”とは、ソフトウェアを使って、

  • 「1つのものを複数あるように」見せたり
  • 「複数のものを1つに統合されたように」見せたり
  • 「ないものをあるように」見せたり

することです。

例えば、物理的には1つしかないCPUやストレージが、その内部で分割・統合されることで複数個あるかのように動作します。

一番有名なのが「仮想マシン」で、DockerやVirtual Box、VMwareといったソフトが該当します。

Windows上でLinuxを動かしたり、別のバージョンのWindowsを動かしたりできます。

2. 仮想環境の種類

仮想マシン(仮想サーバ):パソコン内部で色んなOSが動く

仮想ネットワーク:新たな機器がなくても自由にネットワーク構成を変更

仮想ストレージ:ストレージを仮想的に統合して大きくする

仮想メモリ:メモリの不足をハードディスクで代替

2.1.仮想マシン(仮想サーバ)とは【コンピュータ上の仮想コンピュータ】

仮想マシン 種類 型

仮想マシンでは、仮想CPUなども使われていますが、サーバ仮想化とほぼ同義です。

1台のサーバを複数台のサーバに仮想的に内部で分割します。

それぞれのサーバの上ではOSやアプリケーションが実行され、独立したコンピュータのように振舞います。

仮想マシンは主に、ベアメタル型(ハイパーバイザ型)・ホスト型・コンテナ型の3つに分類されます。

以下ではそれぞれの特徴を簡単に説明しますが、気になった方はぜひ詳しく調べてみてください。

2.1.1. ハイパーバイザ型(ベアメタル型)

ベアメタル型では、「ハイパーバイザ」というソフトの上に仮想マシンを構築します。

ホストOSがなく、すべてのOSを仮想マシンとして扱います。

ホストOSとは、通常、仮想マシンを構築している元のOSのことです。

ハイパーバイザ型はハイパーバイザを使うことで効率的に仮想マシンを動かせることが特徴です。

Windows10をお使いの方であれば「Hyper-V」というハイパーバイザが備わっているはずです。

2.1.2. ホスト型

ホスト型はホストOS上に仮想化ソフトを使うことで仮想マシンを構築します。

ホストOSを経由してゲストOSを動かすので、性能が比較的悪いです。

しかし一番導入が簡単なため、個人が実験環境を構築する際にはよく使われます。

Virtual BoxやVMwareが有名な仮想化ソフトウェアです。

2.1.3. コンテナ型

ホストOSの上にコンテナ管理ソフトを置くことで仮想マシンを構築します。

コンテナ型ではゲストOSが存在せず、「コンテナ」というものでそれぞれのマシンを制御します。

ゲストOSを経由せず、ホストOSのみを使う分、ホスト型よりも高速です。

コンテナ管理ソフトはDockerが圧倒的に有名です。

2.2. 仮想ネットワークとは【ケーブル・ルーターなどを仮想構築】

ルーターやスイッチ、ケーブルといった、ネットワーク経路を制御するハードウェアを仮想化します。

ネットワーク仮想化は、前述の仮想マシンが増えたことにより普及しました。

仮想マシンの増加スピードに、ケーブル配線の変更といった物理ネットワークの変更が追いつかなくなったからです。

ネットワーク仮想化の代表例が「VLAN(Virtual LAN)」です。

物理的な接続方法とは別に、仮想的にLANを構築し、コンピュータ毎にグループ分けします。

ネットワークの混雑緩和、障害耐性などが魅力です。

2.3. 仮想ストレージとは【複数のストレージを仮想的に統合】

仮想環境 仮想ストレージ

ストレージを仮想的に統合し、より大きなストレージとしたものが仮想ストレージです。

必要な容量を切り出したり、戻したりできる点が物理ストレージにはない長所です。

2.4. 仮想メモリとは【メモリをストレージで代替】

仮想環境 仮想メモリ

ハードディスクの一部をメモリとして利用することです。

ハードディスク上で、隠しファイルとして仮想メモリが保存されています。

物理メモリが不足している時、一時的に仮想メモリへデータを移すことで、パソコンのフリーズを防いでくれます。

ハードディスクはメモリより処理速度が遅いので、優先的に使われるものではなく応急処置といったイメージです。

3. 仮想環境を使うデメリット3選

仮想環境を使うデメリット3選
  1. 物理環境に性能では負ける
  2. 運用するための知識が必要
  3. 物理環境の障害による影響が大きい

3.1. 物理環境に性能では負ける

物理環境を構築する際には必要なかった、仮想化のための処理を行う必要がある分、処理が遅くなりがちです。

例えば、仮想マシンでは仮想化ソフトウェアやハイパーバイザを経由するため、ホストOSのみの場合より処理が多くなります。

そのため、厳密なパフォーマンスが要求される際は、物理環境メインで構築した方がうまくいくこともあります。

3.2. 運用するための知識が必要

仮想環境ではハードウェアの知識のほかに、仮想化の知識が必須です。

また、1つのアプリケーションを操作する際、他のアプリケーションに及ぼす影響について考えなければなりません。

仮想マシンでは1つのサーバに複数のOSがインストールされるので、より複雑なセキュリティ設定が必要となります。

3.3. 物理環境の障害による影響が大きい

仮想サーバ(仮想マシン)では1つのサーバで複数のOSが稼働しています。

そのため、ハードウェアに障害が発生すると、稼働しているシステム全てに影響がでる恐れがあります。

障害発生時のためのサブシステムを用意しておいたり、バックアップをとっておいたりするのが賢明でしょう。

4. 仮想環境を使うメリット5選

仮想環境を使うメリット5選
  1. リソースの利用効率が良い
  2. 複数のOSが使える
  3. 柔軟な拡張が可能
  4. ハードウェアの設置・ランニングコストの削減
  5. 実験環境として使える

4.1. リソースの利用効率が良い

仮想的に統合することで、余分なリソースを余すことなく使えます。

例えば仮想ストレージでは、統合することで余ったストレージが寄せ集まり、より大きな空きストレージとなります。

4.2. 複数のOSが使える

仮想マシンを使えば、複数のOSを1つのパソコンで使うことができます。

ホストOSとは別のOSで開発したい時に便利です。

4.3. 古いシステムからの移行が可能

古いシステムを利用していた場合、そのシステムに対応しているハードウェアが調達できないことがあります。

物理サーバを更新すると古いOSに対応できないこともあるでしょう。

このとき、更新した物理サーバに仮想サーバを導入し、古いOSをインストールすれば、古いシステムも使えるようになります。

4.4. ハードウェアの設置・ランニングコストの削減

ハードウェアは、設置する場所代や管理コストが仮想化を利用した場合より高くつきがちです。

例えば高性能サーバが必要な場合、論理的にサーバを集約することで十分な性能をもった仮想サーバを構築できます。

4.5. 実験環境として使える

仮想マシン上で悪意のあるソフトを開いても、ホストOS環境には影響がありません。

仮想マシンはホストOSの上で展開されているだけで、ホストOSに影響を与えることほぼないからです。

仮想マシンはハッキングの実験環境としてもよく使われています。