仮想機械とは?

仮想機械(VM)は、仮想化と呼ばれるプロセスを使用して他のコンピューターの内部で実行されるコンピューターです。

学習目的

この記事を読み終えると、以下のことができるようになります。

  • 仮想機械の定義
  • 仮想化と仮想ハードウェアの仕組みを理解
  • 仮想機械のいくつかの使用事例の概要

関連コンテンツ


さらに詳しく知りたいとお考えですか?

是非、Cloudflareが毎月お届けする「theNET」を購読して、インターネットで最も人気のある洞察をまとめた情報を入手してください!

当社がお客様の個人データをどのように収集し処理するかについては、Cloudflareのプライバシーポリシーをご確認ください。

記事のリンクをコピーする

仮想機械とは?

仮想機械(VM)は、別のコンピューターのオペレーティングシステム内に存在するソフトウェアベースのコンピューターであり、テスト、データのバックアップ、またはSaaSアプリケーションの実行の目的でよく使用されます。VMがどのように機能するかを把握するには、最初にコンピューターソフトウェアとハードウェアがオペレーティングシステムによってどのように統合されるかを最初に理解することが重要です。

オペレーティングシステムとは?

従来のコンピューターは、ハードディスクドライブ、プロセッサチップ、RAMなどの物理的なハードウェアで構築されています。このハードウェアを利用するために、コンピューターはオペレーティングシステム(OS)として知られるソフトウェアに依存しています。OSの一般的な例には、Mac OSX、Microsoft Windows、Linux、およびAndroidがあります。

OSとは、コンピュータのハードウェアをユーザーが使いやすいように管理するものです。例えば、ユーザーがインターネットにアクセスする場合、OSはネットワークインターフェースカードに接続を指示します。また、ユーザーがファイルをダウンロードする場合、OSはハードディスクにそのファイル用の領域を確保します。また、OSは他のソフトウエアの実行や管理も行います。例えば、Webブラウザを起動し、そのブラウザにスムーズに動作するのに十分なランダムアクセスメモリー(RAM)を与えることもできます。

通常、OSは物理的なコンピュータの中に1対1の割合で存在します。各マシンには、その物理リソースを管理する1つのOSが存在することになります。

1台のコンピューターに2つ以上のオペレーティングシステムをインストールできますか?

1台のコンピュータで複数のOSを動作させることも可能です。これは、仮想化と呼ばれる処理によって実現できます。仮想化では、ソフトウェアの一部が独立したコンピュータであるかのように動作します。このソフトウェアの一部は仮想マシンと呼ばれ、「ゲスト」コンピュータとも呼ばれます。(VMが実行されているコンピュータは「ホスト」と呼ばれます)。ゲストには一つのOSと独自の仮想ハードウェアがあります。

「仮想ハードウェア」というと、矛盾しているように聞こえるかもしれません。実際、VMの「ハードディスク」は、ホストコンピュータのハードディスク上の単なるファイルです。しかし、仮想ハードディスクは物理ハードディスクと同じ機能を果たします。

1台のホスト上で実行できるVMの数は、ホストの利用可能なリソースによってのみ制限されます。ユーザーは、VMのOSを実行して、他のプログラムのようにウィンドウで実行することも、フルスクリーンで実行して本物のホストOSのような体感を得ることもできます。

仮想機械は何に使用されますか?

1台のコンピュータで仮想マシンを利用する場合の一般的なユースケースには以下のようなものがあります。

  • テスト - ソフトウェア開発者は、多くの場合さまざまな環境でアプリケーションをテストしたいと考えます。仮想マシンを使用することで、1台のコンピュータでさまざまなOSのアプリケーションを実行することができます。これは、複数の異なる物理的なマシンでテストするよりもシンプルで費用対効果の高い方法です。
  • 他のOS用に設計されたソフトウェアの実行 - 特定のソフトウェアアプリケーションは単一のプラットフォームでのみ使用可能ですが、VMは異なるOS用に設計されたソフトウェアを実行できます。たとえば、Windows用に設計されたソフトウェアを実行したいMacユーザーは、MacホストでWindows VMを実行できます。
  • 古いソフトウェアの実行 - 古いソフトウェアの一部は、最新のOSでは実行できません。これらのアプリケーションを実行するユーザーは、仮想機械で古いOSを実行できます。
  • ブラウザ分離 - ブラウザ分離 は、マルウェアがコンピュータ内の他のファイルやプログラムに影響を与えないように、コンピュータのオペレーティングシステムの他の部分からWebブラウザの活動を「分離」する手法です。一部のブラウザ分離ツールは、この分離された環境を構築するためにVMを使用するものもありますが、このアプローチではブラウザの動作が遅くなる可能性があります。

クラウドコンピューティングはどのように仮想機械を使用しますか?

いくつかのクラウドプロバイダーは、顧客に仮想機械を提供しています。これらの仮想機械は通常、複数のVMのホストとして機能できる強力なサーバー上に存在し、ローカルでホストされたVMでは実用的ではないさまざまな理由で使用できます。これらには以下が含まれます:

  • SaaSアプリケーションの実行 - Software as a Service(SaaSと略す)は、クラウドベースでソフトウェアをユーザーに提供する方法で、この方法ではアプリケーションはユーザーのコンピュータで実行されず、インターネットを介してユーザーに提供されます。多くの場合、SaaSアプリケーションの演算処理とユーザーへの配信はクラウド上の仮想マシンによって行われます。クラウドプロバイダーに地理的に分散したネットワークエッジがある場合、アプリケーションはユーザーの近くで実行されるため、パフォーマンスはより高速になります。
  • データのバックアップ - クラウドベースのVMサービスは、データにどこからでもアクセスできるため、データのバックアップに人気があります。さらに、クラウドVMは、物理データセンターよりも優れた冗長性を提供し、メンテナンスの必要性が少なく、一般的に拡張性に優れています。(たとえば、クラウドVMプロバイダーから追加のギガバイトのストレージスペースを購入することは比較的簡単ですが、その余分なギガバイトのデータ用に新しいローカルデータサーバーを構築することははるかに困難です。)
  • 電子メールやアクセス管理などのホストサービス - クラウドVMでこれらのサービスをホストすることは、一般に高速で費用対効果が高く、メンテナンスを最小限に抑え、セキュリティ上の懸念を軽減します。
  • ブラウザ分離 - ブラウザ分離ツールの中には、クラウドVMを使用してWebブラウジングの活動を実行するものもあり、セキュリティで保護されたインターネット接続を介してユーザーに安全なコンテンツを配信します。

Cloudflareと仮想機械

Cloudflareは、クラウド上に展開されたあらゆる種類のサービス(クラウドVMを含む)の保護と管理を支援します。SaaSプロバイダーはCloudflare for SaaSを、アプリケーションのパフォーマンスの向上、エンドユーザー用のカスタムドメインの保護などの様々な用途に利用することができます。

さらに、仮想マシンにオーバーヘッドを与えることなくエッジでコードを実行する機能を求めるユーザー向けに、完全にスケーラブルな方法でエッジ演算処理をお客様に提供するサーバーレスプラットフォームであるCloudflare Workersがあります。開発者はインフラストラクチャの設定や保守をすることなく既存のアプリケーションの補強や全く新しいアプリケーションを作成することができます。