SSD Nodes Learn Hosting plans →
ガイド Matt Connor著者 Matt Connor ・更新日 2026-08-07

VPS、VM、VPCの違いは?意味と選び方

VMは仮想マシンの技術、VPSはOSやrootアクセス付きの商品、VPCはクラウド内のプライベートネットワークです。3つの違いと必要なものを整理します。

VPS、VM、VPCを1つの段落で説明

VM(仮想マシン)は、ソフトウェアで構成されたコンピューターです。ハイパーバイザーが1台の物理サーバーを複数の独立したマシンに分割し、それぞれが独自のカーネルを実行します。VPS(仮想専用サーバー)は、これらの仮想マシンの1つを、オペレーティングシステム、root アクセス、月額料金付きの製品として貸し出すものです。VPC(仮想プライベートクラウド)は、サーバーではありません。クラウドアカウント内に定義するプライベートネットワークであり、その中にリソースを配置します。VMは技術です。VPSは製品です。VPCは製品を取り囲むネットワークです。

このうち2つはマシンを表し、残りの1つはネットワークを表します。3つを同じ棚に並ぶ製品として比較するため、ほとんどの混乱はこの違いから生じます。

VM とは

ハイパーバイザーは、ハードウェアを仮想的に提供する層です。各ゲストに仮想 CPU、メモリ領域、仮想ディスク、仮想ネットワークカードを割り当て、ゲスト同士が互いを認識できないようにします。サーバーで一般的なハイパーバイザーには、KVM、Xen、Hyper-V、VMware ESXi があります。現在のハイパーバイザーは、CPU の仮想化拡張機能(Intel VT-x、AMD-V)を利用します。そのため、ゲストの命令は解釈実行ではなく、ほぼネイティブ速度で実 CPU 上で実行されます。

システム管理者にとって重要なのはカーネルです。VM は独自のカーネルで起動します。そのため、ディストリビューションを選択し、カーネルモジュールを読み込み、自分の VM にだけ適用される sysctl 値を設定できます。これは、ホストのカーネルを共有し、プロセスとファイルを独自の視点で扱うコンテナ(LXC、Docker)とは異なります。

Linux ホストでは、1 つのコマンドで確認できます。

systemd-detect-virt

kvm は、KVM ハイパーバイザー上の仮想マシンであることを示します。lxc または openvz は、他者のカーネル上で動作するコンテナ内にいることを示します。none は、物理マシンを自分で所有していることを示します。コマンドが存在しない場合は、lscpu | grep -i hypervisor で CPU フラグから同じ情報を確認できます。

VPS とは

VPS は、VM を商品として提供するためのサービスです。基盤となる技術は仮想化です。「VPS」という名称には、再インストール可能な OS イメージ、IP アドレス、帯域幅の上限、コントロールパネル、月額料金、ホスト障害時の問い合わせ先など、商品として提供するための要素が含まれます。「プライベート」という語は、1 つのオペレーティングシステムと 1 つの PHP 設定を数百のサイトで共有する共有ホスティングと区別するために使われています。

VPS は商品名であり、技術用語ではないため、常に完全な VM を意味するとは限りません。低価格プランでは、同じ名称でコンテナを提供している場合もあります。違いは、カーネルが必要になったときに初めて明らかになります。コンテナベースのプランでは、カーネルがホスト側のものであり変更できないため、sudo modprobe wireguardRTNETLINK answers: Operation not supported または modprobe: FATAL: Module wireguard not found で失敗します。KVM プランではモジュールが読み込まれ、トンネルが確立されます。Docker、VPN、カスタムカーネル、またはサーバー内で独自の仮想マシンを実行する予定がある場合は、購入前に仮想化方式を確認してください。VPS 内で仮想マシンを実行するには、ホスト側でネストした仮想化を有効にした KVM が必要です。そのため、利用できるプランはさらに限られます。

VPC とは何か

VPC は、クラウドプロバイダー内に構成するソフトウェア定義ネットワークです。10.0.0.0/16 のような CIDR 表記でアドレス範囲を指定し、その範囲からサブネットを切り出して、ルートテーブルを関連付け、内部のリソースに対するファイアウォールルール(セキュリティグループ)を設定します。CPU、メモリ、ディスクはありません。ログインする対象もありません。VPC 内のすべてのサーバーを削除しても、VPC は空の状態で残ります。通常、料金もかかりません。

VPC によって得られるのは、プライベートアドレスです。同じ VPC 内の2台のサーバーは、プロバイダーの内部ネットワーク上で 10.0.1.15 のようなアドレスを使用して通信します。そのため、ネットワークトラフィックがパブリックインターネットを経由せず、インターネット向けの送信として課金されることもありません。データベースはプライベートアドレスだけで待ち受けられるため、外部にポートを一切公開せずに済みます。

ip -4 addr show

10.0.0.0/8172.16.0.0/12192.168.0.0/16 内のアドレスはプライベートです。同じサーバーにパブリックアドレスが割り当てられている場合、そのサーバーがどのネットワークオブジェクトに配置されているかに関係なく、インターネットから直接到達できます。

VPC を使うとサーバーはプライベートになりますか?

いいえ。これは、3 つの用語に関する誤解の中で最も高くつくものです。VPC はルーティングとアドレス指定を制御します。インターネットからマシンへ接続できるかどうかは決定しません。インスタンスにパブリック IP が割り当てられ、セキュリティルールで 0.0.0.0/0 からの port 22 が許可されていれば、VPC の有無にかかわらず、他のサーバーと同じ程度に公開されています。VPC で得られる分離とは、リソースにパブリックアドレスを一切割り当てない構成にできることと、どの subnet からどの subnet へ通信できるかをルールで指定できることです。

この 3 つの用語は、それぞれ異なる種類の分離を指します。VM はコンピュートを分離します。hypervisor が CPU 時間とメモリを分離するため、別の guest が RAM を読み取ることはできません。この分離はディスクとネットワークでは弱く、同じ host 上の負荷が高い隣接テナントによって速度が低下することがあります。container ベースの VPS は 1 つの kernel を共有するため、kernel レベルのバグは共有リスクになります。VPC はコンピュートをまったく分離しません。ネットワークの構成だけを制御します。

価格体系の考え方

VPS は通常、固定されたマシンに対する月額固定料金で提供されます。月が始まる前に請求額が分かり、ディスク容量と転送量の上限も料金に含まれます。この予測しやすさが、小規模なワークロードでクラウドインスタンスではなく VPS を選ぶ主な理由です。

クラウド VM は従量課金です。インスタンスは 1 時間単位または 1 秒単位で課金され、ディスク、スナップショット、ロードバランサー、外向きネットワークトラフィックは別々に課金されます。VPC 自体は通常無料ですが、VPC に接続するマネージドサービスは無料ではありません。プライベートインスタンスからインターネットへの接続を可能にする NAT gateway には、稼働時間とデータ量に応じた料金が発生します。また、アベイラビリティーゾーン間のトラフィックも課金対象です。2026 年 7 月時点でも、主要なクラウドサービスでは新しいインスタンスがすべて自動的にデフォルト VPC に配置されます。そのため、明示的に要求していなくても VPC を使用することになります。

実際に必要なのはどれか

  • Web サイト、アプリ、ゲームサーバー、VPN 用のサーバーが 1 台: VPS です。プラン名よりも、新しい VPS の最初の 10 分間のほうが重要です。
  • プライベートアドレスで相互接続する必要があるサーバーが複数台: VPC、または VPS プロバイダーが別の名称で提供しているプライベートネットワーク機能です。
  • データセンター全体の停止に耐える必要があるワークロード: 複数ゾーンを持つクラウドです。つまり、VPC 内に VM を配置する構成です。
  • カーネルを完全に制御する場合、またはその上に独自のハイパーバイザーを構築する場合: KVM ベースの VPS または dedicated server です。比較時には、プランで使われているディスクの種類も確認してください。

単一サーバーで構成するプロジェクトの多くは、VPC を必要としません。VPS に付属するプライベートネットワーク機能で、数台のマシンに対して同じ役割を果たせます。

FAQ

VPS は VM と同じものですか?

VPS は、誰かが提供する VM です。KVM、Xen、VMware 上に構築された VPS はすべて仮想マシンですが、すべての仮想マシンが VPS とは限りません。たとえば、VirtualBox でノート PC 上で実行する VM は、誰かが製品として提供するものではないためです。VPS と表示された安価なプランの中には、完全な VM ではなくコンテナの場合があります。そのため、カーネルへのアクセスが必要になる前に systemd-detect-virt で確認してください。

VPS を VPC 内に配置できますか?

通常はできません。VPC は 1 つのクラウドプロバイダーに固有の構成要素であり、同じアカウントで作成したリソースだけを収容するためです。独立したプロバイダーの VPS は、そのプロバイダーのネットワーク上にあります。両者の間にプライベート接続が必要な場合は、代わりに両者の間に VPN トンネルを構築します。VPS はそのトンネルを経由してプライベートサブネットにアクセスします。

同等の VPS よりクラウド料金が高いのはなぜですか?

インスタンス料金は一部にすぎません。従量課金のクラウドでは、ストレージ、スナップショット、アウトバウンドトラフィック、ロードバランサー、NAT ゲートウェイが別々に課金されます。NAT ゲートウェイだけで、小規模な VPS より月額料金が高くなる場合もあります。定額の VPS では、ディスクと転送量の上限が 1 つの料金に含まれます。そのため、同じワークロードでも VPS の方が安く見えることがよくあります。

サーバーが実際のカーネルアクセスを持つかどうかを確認するにはどうすればよいですか?

systemd-detect-virt を実行して、結果を確認してください。kvmxenvmware のいずれかであれば、自分専用のカーネルを使用しており、modprobe が動作します。lxclxc-libvirtopenvz のいずれかであれば、ホストのカーネルを共有しています。その場合、モジュールをロードするコマンドや /proc/sys へ書き込むコマンドは Operation not supported で失敗します。別の確認方法は uname -r です。コンテナプランでは、ディストリビューションがリリースしたことのないカーネルバージョンが表示されることがあります。

#vps#vm#vpc#cloud#basics