仮想機械とは?

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

Share facebook icon linkedin icon twitter icon email icon

仮想マシン

学習目的

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

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

仮想機械とは?

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

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

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

OSは、ユーザーの役に立つ方法でコンピューターのハードウェアを管理するものです。たとえば、ユーザーがインターネットにアクセスする場合、OSはネットワークインターフェイスカードに接続を指示します。ユーザーがファイルをダウンロードする場合、OSはそのファイル用にハードドライブの領域を分割します。 OSは、他のソフトウェアも実行および管理します。たとえば、Webブラウザを実行して、ブラウザに十分なランダムアクセスメモリ(RAM)を提供して、スムーズに動作することができます。通常、オペレーティングシステムは物理的なコンピューター内に1対1の比率で存在します。各機械には、物理的なリソースを管理する単一のOSがあります。

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

ユーザーの数人は、テストまたは以下のセクションに記載されているその他の理由のいずれかのために、1台のコンピューターで複数のオペレーティングシステムを同時に実行できるようにしたいと考えています。これは、仮想化と呼ばれるプロセスを通じて実現できます。仮想化では、ソフトウェアは独立したコンピューターのように動作します。このソフトウェアは、「ゲスト」コンピューターとも呼ばれる仮想機械と呼ばれます。 (VMが実行されているコンピューターは「ホスト」と呼ばれます。)ゲストにはOSと独自の仮想ハードウェアがあります。

「仮想ハードウェア」は少し矛盾したように聞こえるかもしれませんが、ホストコンピューター上の実際のハードウェアにマッピングすることで機能します。たとえば、VMの「ハードドライブ」は、実際にはホストコンピューターのハードドライブ上の単なるファイルです。 VMが新しいファイルを保存する場合、実際にはホストOSと通信する必要があり、ホストOSはこのファイルをホストハードドライブに書き込みます。仮想ハードウェアは、ハードウェアリソースにアクセスするためにホストと交渉するこの追加手順を実行する必要があるため、仮想機械はホストコンピューターほど高速に実行できません。

仮想化を使用すると、1台のコンピューターで2つ以上のオペレーティングシステムを実行できます。 1つのホストで実行できるVMの数は、ホストの利用可能なリソースによってのみ制限されます。ユーザーは、他のプログラムと同様にウィンドウでVMのOSを実行したり、フルスクリーンで実行したりして、本物のホストOSのように見えるようにすることができます。

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

仮想機械を実行する最も一般的な理由には次のようなものがあります:

  • テスト - 多くの場合、ソフトウェア開発者はさまざまな環境でアプリケーションをテストできることを望んでいます。仮想機械を使用して、1台のコンピューター上のさまざまなOSでアプリケーションを実行できます。これは、複数の異なる物理的な機械でテストするよりも簡単で費用効果が高くなります。
  • 他のOS用に設計されたソフトウェアの実行 - 特定のソフトウェアアプリケーションは単一のプラットフォームでのみ使用可能ですが、VMは異なるOS用に設計されたソフトウェアを実行できます。たとえば、Windows用に設計されたソフトウェアを実行したいMacユーザーは、MacホストでWindows VMを実行できます。
  • 古いソフトウェアの実行 - 古いソフトウェアの一部は、最新のOSでは実行できません。これらのアプリケーションを実行するユーザーは、仮想機械で古いOSを実行できます。

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

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

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

Cloudflareと仮想機械

Cloudflareは、クラウドVMを含むあらゆるタイプのクラウド展開の保護と管理に役立ちます。さらに、仮想機械のすべてのオーバーヘッドなしでエッジでコードを実行する機能が必要なユーザーのために、完全にスケーラブルな方法でエッジ計算を顧客に提供するサーバーレスプラットフォームである Cloudflare Workers があります。既存のアプリケーションを作成するか、インフラストラクチャを構成または維持せずにまったく新しいアプリケーションを作成します。