Google Cloud Next Tokyo:7/30、31 東京ビッグサイトにて開催!

仮想マシンとは

最終更新日: 2026 年 6 月 26 日

仮想マシン(VM)は、ホスト ハードウェア上に分離された環境を提供するソフトウェア ベースのコンピュータです。仮想マシンは、プログラムとオペレーティング システムの実行、データの保存、ネットワークへの接続、他のコンピューティング機能の実行が可能です。クラウド コンピューティングAI など、現在活用されているテクノロジーの多くは、仮想マシンのコンセプトに基づいており、オペレーティング システムやソフトウェアを物理マシンから分離できます。たとえば、クラウド コンピューティングの VM は、クラウド サービス プロバイダのサーバーのリソースを仮想化するために使用されます。これにより、互いに分離されながらリソースを共有できるマルチテナント クラウド アーキテクチャが実現します。

仮想マシンの仕組み

仮想マシンは、仮想化技術を使用して仮想ハードウェア(物理マシン上のコンピュータの仮想バージョン)を作成します。VM が実行される物理マシンはホストマシンと呼ばれ、ホスト上で実行されている VM はゲストマシンと呼ばれます。

ハイパーバイザと呼ばれる軽量のソフトウェア レイヤが、CPU、GPU、TPU、メモリ(RAM)、ストレージ、ネットワークなどのホストマシンの物理ハードウェア リソースを分割します。ハイパーバイザは、これらのリソースを各ゲスト VM に割り当てます。これにより、1 台の「ホスト」マシン上で複数の「ゲスト」オペレーティング システムを同時に、かつ分離して実行できます。たとえば、Google Compute Engine は KVM ベースのハイパーバイザを使用して、作成した仮想マシンへのリソースの効率的な管理と割り当てを行っています。

各ゲスト VM は、他のゲストから完全に隔離された、ホスト上の分離パーティションで実行されます。単一のホストマシン(多くの場合はサーバー)上で、複数の VM をホストできます。ハイパーバイザは、ホストマシンの物理リソースをプールに抽象化することで、全体的な効率と柔軟性を高めます。これらのリソースは、特定の要件に基づいてプロビジョニングされ、ゲスト VM に動的に割り当てられます。

ハイパーバイザの 2 つの主なタイプ

  • タイプ 1: ベアメタル ハイパーバイザ: ホストの物理ハードウェア上で直接実行されます。高いパフォーマンスと効率性から、企業のデータセンターでよく使用されています。たとえば、Google Cloud は KVM ベースのハイパーバイザを使用して Compute Engine 仮想マシンを稼働させています。
  • タイプ 2: ホスト型ハイパーバイザ: 既存のオペレーティング システム上でアプリケーションとして実行されるため、デスクトップでの使用に適しています。これらの最も一般的なユースケースは、開発とテストです。

仮想マシンの種類

一般的に、仮想マシンにはプロセス VM とシステム VM の 2 つのタイプがあります。

アプリケーション仮想マシンまたはマネージド ランタイム環境(MRE)とも呼ばれるプロセス VM は、アプリまたは単一プロセスの実行中に OS の仮想環境を作成し、使用を終了すると同時にそれらを破棄します。プロセス VM を使用すると、プラットフォームに依存しない環境を作成し、どのプラットフォームでもアプリやプロセスを同じように実行できます。 その具体的な例が、Cloud Run 上の Node.js サーバーです。Cloud Run はフルマネージド環境を提供します。この環境では、アプリケーションがコンテナ内で実行され、基盤となるインフラストラクチャから抽象化されています。

ハードウェア仮想マシンとも呼ばれるシステム VM は、オペレーティング システム全体をシミュレートし、複数の OS 環境を同じマシン上で動作させることができます。一般的に「仮想マシン」と呼ばれているのは、このタイプの VM です。システム VM は独自の OS とアプリケーションを実行でき、ハイパーバイザは物理ホストマシンのリソースをモニタリングしてシステム VM 間で分散させます。

クラウド仮想マシン

最近、クラウド内の仮想マシンやクラウド VM について議論されているのを耳にしたことがあるかもしれません。クラウド仮想マシンとは、クラウド上の仮想サーバーで実行される仮想マシンのことです。多くのクラウド サービス プロバイダでは、自社のインフラストラクチャでクラウド仮想マシンを作成して実行できるため、高性能のサーバーをホストマシンとして使用したり、メモリやネットワーク ストレージなどの他のソフトウェア定義サービスを活用したりできます。これらのクラウド VM は、通常、リソースの最適化によって次のように分類されます。

  • 汎用 VM: さまざまなタスクやワークロードに適している
  • コンピューティング最適化 VM: ハイ パフォーマンス コンピューティング(HPC)とコンピューティング負荷の高いアプリケーション向けに設計
  • メモリ最適化 VM: 大規模なエンタープライズ データベースや大量のメモリを必要とするワークロードに最適
  • 特殊 VM: AI/ML や高度な科学計算向けに、GPU などの特定のハイエンド リソースで構成
  • Confidential VMs: メモリ上で処理中のデータも保護する安全なタイプ

よくある質問

仮想マシンは物理コンピュータのソフトウェア エミュレーションですが、仮想デスクトップはリモート サーバーでホストされているデスクトップ環境にアクセスできるユーザー インターフェースです。主な違いは、仮想マシンがコンピュータ全体をエミュレートするのに対し、仮想デスクトップはデスクトップ環境へのリモート アクセスを提供するという点です。

仮想マシンは、ホストシステムと仮想マシンが分離されているため、一般的に安全です。これにより、マルウェアが拡散するリスクが軽減されます。ただし、その安全性は、適切な構成、定期的な更新、適切なセキュリティの実践に依存します。仮想マシンが適切に管理されていない場合、攻撃に対して脆弱な状態になる可能性があるため、セキュリティのベスト プラクティスに従うことが不可欠です。

はい。仮想マシンはホスト システムのストレージ容量を占有します。使用されるストレージの容量は、仮想ハードディスクのサイズ、オペレーティング システム、インストールされているアプリケーションによって異なります。さらに、仮想マシンは、必要に応じてストレージを動的に割り当てるように構成することも、固定量のストレージを使用するように構成することもできます。

VM とコンテナのどちらを使用するか

VM とコンテナはどちらもアプリケーションを分離するために使用されますが、その方法は根本的に異なります。仮想マシンは、オペレーティング システムを含む物理ハードウェア スタック全体を仮想化します。これにより、各 VM は自己完結型の隔離された環境になりますが、VM が大きくなり、より多くのリソースを占有する傾向もあります。

対照的に、コンテナは OS レイヤのみを仮想化するため、より軽量です。コンテナは、各アプリケーションに完全なオペレーティング システムをバンドルするのではなく、ホストの OS カーネルを共有します。これにより、コンテナは VM よりも少ないリソースを使用し、分離された状態を維持しながらより高速に起動できます。そのため、コンテナはアプリケーションの新規開発において魅力的なものとなっています。過去 10 年間に開発されたアプリケーションの多くはコンテナ向けに作成されているため、e コマース、バックオフィス、AI などの多くのワークロードは「コンテナ ネイティブ」です。

仮想マシンの使用方法

VM は仮想化コンピューティング リソースの基本的な構成要素であり、クラウドとオンプレミスの両方で、アプリケーション、ツール、環境を構築するうえで主要な役割を担います。

以下に、企業が仮想マシンを使用する一般的な方法をいくつか示します。

複数の物理マシンを VM として再構成し、他の VM とともにホスト上で実行できるため、組織はリソースの無秩序な増加を抑えることができます。VM は、最もパフォーマンスが要求されるアプリケーションでも実行できることが長年にわたって証明されています。

中心となる IT 組織が各ビジネスユニットと各機能領域の VM をプロビジョニングして管理することで、リソースへのアクセスが迅速化され、企業の可視性が向上します。

VM は、テスト用と開発用の独立した環境として機能し、周囲のインフラストラクチャには影響を与えずに、完全な機能を備えています。

VM は簡単にオンまたはオフにしたり、移行や適応を行ったりして、開発とデプロイの柔軟性を最大限に高めることができます。

VM が提供する柔軟性とポータビリティは、移行の取り組みのスピードを上げるうえで重要です。

VM を使用してクラウド環境でシステムをレプリケーションすると、セキュリティと確実性のレイヤが追加されます。クラウド環境は継続的に更新することもできます。

VM は、オンプレミス環境と並行してクラウド環境を作成するための基盤を提供します。これにより、従来のシステムの使用を中断することなく、柔軟性の高い環境を実現できます。

VM を使用すると、1 台の物理マシンで異なるオペレーティング システムを実行できます。たとえば、主要な開発環境で Linux を使用している場合でも、Google Cloud の Compute Engine で Windows Server VM を実行できます。Google Cloud は、多様なニーズに対応するために、さまざまな OS イメージを提供しています。

VM を使用してクラウド環境でシステムをレプリケーションすると、セキュリティと確実性のレイヤが追加されます。クラウド環境は継続的に更新することもできます。

仮想マシンの利点

特にクラウド VM を選択した場合、仮想マシンには次のような多くのメリットがあります。

スケーラビリティ

クラウドベースの VM を使用すると、アプリケーションのスケーリングが容易になり、可用性とパフォーマンスが向上します。独自の物理サーバーに投資することなく、需要に応じて容量を増やすことができます。

移植性

仮想マシンは、ハードウェア リソース、オペレーティング システム、すべてのアプリケーションを含む単一のソフトウェア パッケージです。VM はサーバー間だけでなく、オンプレミスのハードウェアからクラウド環境へも簡単に移行できます。

フットプリントとコストの削減

VM を使用すると、1 台のマシンから複数の仮想環境を実行できるため、物理インフラストラクチャのフットプリント、電気代、メンテナンスと管理の費用を削減できます。

プロビジョニングの高速化

VM は簡単に複製できるため、ゼロからセットアップすることなく、新しい同一の環境をスピンアップできます。

信頼性

仮想マシンとそのコンポーネントは仮想的に存在し、他のゲスト VM から分離されています。VM がクラッシュしても、他のゲスト VM は動作を続け、物理ホストマシンは影響を受けません。

セキュリティの強化

仮想マシンを使用すると、ホスト オペレーティング システムに影響を与えることなく、複数のオペレーティング システムを実行できます。VM を使用すると、ホストマシンに対するリスクを抑えながら、アプリのテストやセキュリティの脆弱性の調査を行うための安全な仮想環境を作成できます。Google Cloud の Confidential VMs などの最新の VM サービスでは、ハードウェアベースの高信頼実行環境(TEE)を介して、メモリ内で処理されるデータの使用中の暗号化が提供されます。

仮想マシンの潜在的な課題

ただし、VM を実行する場合に留意すべき考慮事項がいくつかあります。仮想マシンの最大の潜在的課題の 1 つは、ホストマシンの堅牢性が足りない場合に、複数のオペレーティング システムとハイパーバイザー レイヤーを実行するとパフォーマンスが低下する可能性があることです。また、仮想ハードウェアは物理マシンの物理ハードウェアと比べて効率性で劣る場合があります。最後に、ほとんどのクラウド プロバイダが提供する仮想マシンは、CPU とメモリが固定されているため、リソースを効率的に使用できません。

ただし、これらの懸念の多くは、クラウド サービス プロバイダが提供する VM を使用することを選択すれば解消できます。クラウド VM は、1 台のマシンではなく、データセンター全体のコンピュータのコンピューティング能力を活用できるため、従来の VM に比べて多くの利点があります。さらに、Google Compute Engine の仮想マシンサイズでは、カスタム マシンタイプが提供されています。過剰な容量が含まれている可能性のある事前定義されたマシンタイプから選択するのではなく、ワークロードに合わせて CPU とメモリの比率を調整できるため、実際に使用したリソースに対してのみ料金を支払うことができます。この的を絞ったアプローチにより、無駄を最小限に抑え、クラウド支出を大幅に削減できます。特に、オンプレミスから Google Cloud に移行する場合や、他のクラウド プロバイダから移行する場合に効果的です。 また、Compute Engine は、エンタープライズ ワークロード、メモリ消費量の多い構成、MLハイ パフォーマンス コンピューティングなどの要求の厳しいワークロードに関するお客様の特定のニーズに応じて最適化された仮想マシンタイプも提供します。

Google Cloud では、VM インスタンスのセキュリティを強化し、整合性を検証できるように、Shielded VM も提供しています。Google Cloud の Shielded VMは、高度なプラットフォーム セキュリティ機能と制御を活用し、リモート攻撃、権限昇格、悪意のある内部関係者などの脅威から企業のワークロードを保護します。

特定のアプリケーションでは、デベロッパーは従来の VM を完全にバイパスすることを選択できます。コンテナ オーケストレーション(Google Kubernetes Engine - GKE)やサーバーレス コンピューティング(Cloud Run)などの最新のデプロイモデルは、特定のユースケースでは強力な代替手段となります。チームは VM オペレーティング システムの管理を回避し、デプロイ速度を向上させ、多くの場合、大幅な費用削減を実現できます。

Google Compute Engine での仮想マシンのスタートガイド

仮想マシンの使用を開始する準備が整ったら、Google Cloud の Compute Engine を通じて仮想マシンを利用できます。Compute Engine は、Google のインフラストラクチャでホストされる柔軟なセルフマネージド VM インスタンスを提供します。Compute Engine で VM を作成して接続する手順の概要は次のとおりです。

Google Cloud プロジェクトを設定する

課金が有効になっている Google Cloud プロジェクトが必要です。新規ユーザーは無料トライアルに登録できます。

Compute Engine API を有効にする

この API は、VM の作成と管理に必要です。Google Cloud コンソールまたは gcloud CLI を使用して有効にできます。

VM インスタンスを作成します。

VM インスタンスは、Google Cloud コンソールや gcloud CLI を使用して作成できます。

  • コンソールを使用する場合: Google Cloud コンソールで [Compute Engine] に移動し、[インスタンスを作成] をクリックします。その後、VM の名前、リージョン、ゾーン、マシンタイプ(e2-medium など)、ブートディスク イメージ(Debian、Ubuntu、Windows Server など)、その他の設定を構成できます。
  • gcloud CLI を使用する場合: コマンドラインで操作する場合は、gcloud compute instances create コマンドを使用します。

仮想マシンに接続する

SSH(Linux VM): SSH を使用して Linux インスタンスに安全に接続します。

  • Google Cloud コンソールを使用する: 最も簡単な方法は、コンソールの Compute Engine セクションでインスタンスの横にある [SSH] ボタンを使用することです。ブラウザベースのターミナル セッションが開きます。

gcloud CLI を使用する: gcloud compute ssh コマンドを使用すると、ローカル ターミナルから簡単に接続できます。

  • SSH 認証鍵の管理: デフォルトでは、VM で gcloud compute ssh を初めて使用すると、gcloud によって SSH 認証鍵ペアが生成されます。その後、公開鍵が VM のメタデータまたはプロジェクトのメタデータに追加されます。VM で実行されている Google ゲスト エージェントは、この鍵を使用してアクセスできるように sshd を自動的に構成します。

OS Login の使用(推奨): セキュリティを強化し、SSH 認証鍵の管理を合理化するために、特に複数の VM やチームにわたる場合は、OS Login の有効化を検討してください。OS Login は、SSH アクセス制御を Google Cloud IAM と統合します。OS Login を有効にすると、SSH 認証鍵が Google ID にリンクされ、インスタンス メタデータに認証鍵を配布するのではなく、IAM 権限を使用してアクセスが管理されます。

OS Login を有効にするには、プロジェクトまたは個々のインスタンスで enable-oslogin メタデータキーを TRUE に設定します。

  • その後、通常どおり gcloud compute ssh を使用して接続できます。詳しくは、OS Login を設定するのドキュメントをご覧ください

Google Cloud でビジネスの課題を解決する

新規のお客様には、Google Cloud で使用できる無料クレジット $300 分を差し上げます。
お客様独自の課題を詳細に検討するには、Google Cloud のセールス スペシャリストまでご相談ください。

次のステップ

$300 分の無料クレジットと 20 以上の Always Free プロダクトを活用して、Google Cloud で構築を開始しましょう。

  • Google Cloud プロダクト
  • 100 種類を超えるプロダクトをご用意しています。新規のお客様には、ワークロードの実行、テスト、デプロイができる無料クレジット $300 分を差し上げます。また、すべてのお客様に 25 以上のプロダクトを無料でご利用いただけます(毎月の使用量上限があります)。
Google Cloud