SSD Nodes Learn 8GB 記憶體 — 每年 $66
指南 Matt Connor作者: Matt Connor · 已更新 2026-08-01

VPS、VM、VPC 有何不同?一次看懂三者

VM 是虛擬化技術,VPS 是以 VM 出售的產品,VPC 則是雲端私有網路。本文說明核心權限、資源配置與選擇方式,避免把三者混為一談。

VPS、VM 與 VPC:一段說明

VM(虛擬機器)是由軟體構成的電腦:虛擬機器監控程式會將一部實體伺服器分割成多部獨立機器,而每部機器都執行自己的核心。VPS(虛擬專用伺服器)是其中一部以產品形式租用給您的虛擬機器,包含作業系統、root 存取權限及每月價格。VPC(虛擬私有雲)根本不是伺服器,而是您在雲端帳戶中定義的私有網路,並將資源配置其中。VM 是技術。VPS 是產品。VPC 是產品周圍的網路。

其中兩個詞描述的是機器,第三個描述的是網路。幾乎所有混淆都源自這種差異,因為人們會把它們當成同一貨架上的三種產品來比較。

VM 是什麼

Hypervisor 是負責模擬硬體的軟體層。它會為每個 guest 提供虛擬 CPU、記憶體區塊、虛擬磁碟和虛擬網路卡,並隔離各個 guest。KVM、Xen、Hyper-V 和 VMware ESXi 是伺服器上常見的 hypervisor。現代 hypervisor 依賴 CPU 虛擬化擴充功能(Intel VT-x、AMD-V),因此 guest 指令可直接在實體 CPU 上執行,速度接近原生效能,而不需要解譯。

對系統管理員而言,關鍵在於 kernel。VM 會啟動自己的 kernel,因此你可以選擇 distribution、載入 kernel module,並設定只套用於自身的 sysctl 值。這與 container(LXC、Docker)不同;container 共用 host kernel,只能取得自身的 process 和 file 檢視。

你可以在任何 Linux 主機上使用一個 command 查看結果。

systemd-detect-virt

kvm 表示你是在 KVM hypervisor 上執行的 virtual machine。lxcopenvz 表示你是在其他人的 kernel 上執行的 container。none 表示你使用的是自己的實體主機。如果缺少該 command,lscpu | grep -i hypervisor 會從 CPU flags 顯示相同資訊。

VPS 是什麼

VPS 是 VM 的商業化包裝。底層技術是虛擬化,而「VPS」這個名稱還包含了讓產品能夠銷售的項目:可重新安裝的 OS 映像檔、IP 位址、頻寬額度、控制面板、每月價格,以及主機故障時可聯絡的支援人員。「Private」用來與共用主機區隔;在共用主機中,數百個網站共用同一個作業系統和同一份 PHP 設定。

VPS 是產品名稱,不是技術術語,因此不一定代表完整的 VM。有些平價方案會以相同名稱提供容器。第一次需要存取核心時,就會顯現差異。在以容器為基礎的方案中,sudo modprobe wireguard 會因為 RTNETLINK answers: Operation not supportedmodprobe: FATAL: Module wireguard not found 而失敗,原因是使用的是主機的核心,且不允許變更。在 KVM 方案中,模組可以載入,通道也能建立。如果你計畫在伺服器中執行 Docker、VPN、自訂核心或自行建立的虛擬機器,購買前請確認虛擬化類型。在 VPS 中執行VPS 內的虛擬機器需要主機啟用 KVM 的巢狀虛擬化功能,因此符合條件的方案更少。

VPC 是什麼

VPC 是雲端服務供應商內部以軟體定義的網路。您可以使用 CIDR 表示法為它指定位址範圍,例如 10.0.0.0/16,接著從中劃分子網路、連結路由表,並在其中的資源前方設定防火牆規則(security groups)。VPC 不具備 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 的連接埠 22 流量,無論是否使用 VPC,其暴露程度都與其他伺服器完全相同。VPC 提供的隔離能力,是讓資源完全不具備公用位址,並透過規則指定哪些子網路可以與哪些子網路通訊。

這 3 個詞承諾的隔離類型也不同。VM 隔離運算資源:hypervisor 分隔 CPU 時間和記憶體,因此其他 guest 無法讀取您的 RAM。這種隔離對磁碟和網路而言較弱,因為同一主機上的繁忙鄰近租戶仍可能使您的效能降低。以 container 為基礎的 VPS 共用同一個 kernel,因此 kernel 層級的錯誤會成為共用風險。VPC 完全不會隔離運算資源,只會調整網路。

定價思維模型

VPS 通常以固定月費提供固定規格的機器。您在月份開始前就能知道帳單金額,磁碟和傳輸額度也包含在月費中。對於小型工作負載而言,這種可預測性是人們選擇 VPS 而非雲端執行個體的主要原因。

雲端 VM 採用計量計費。執行個體按小時或秒計費,而磁碟、快照、負載平衡器和輸出網路流量則分開計費。VPC 本身通常免費,但附加的受管元件並非免費:讓私有執行個體連上網際網路的 NAT gateway 會按小時和每 GB 計費,availability zone 之間的流量也會計費。截至 2026 年 7 月,主要雲端服務商仍會自動將每個新執行個體放入預設 VPC,因此無論您是否主動要求,實際上都會使用 VPC。

實際需要哪一種

  • 用於網站、應用程式、遊戲伺服器或 VPN 的單一伺服器:VPS。新 VPS 上線後的前 10 分鐘 比方案名稱更重要。
  • 需要透過私有位址互相連線的多部伺服器:VPC,或 VPS 提供商以其他名稱提供的私有網路功能。
  • 必須能承受整個資料中心停止運作的工作負載:具有多個區域的雲端,也就是在 VPC 內執行 VM。
  • 需要完全控制核心,或要在其上執行自己的 hypervisor:採用 KVM 的 VPS 或 dedicated server;比較方案時,也請檢查方案背後的磁碟類型

大多數單一伺服器專案都不需要 VPC。VPS 隨附的私有網路功能,足以為少量機器提供相同用途。

FAQ

VPS 與 VM 是同一回事嗎?

VPS 是由他人提供給您的 VM。以 KVM、Xen 或 VMware 建立的每個 VPS 都是虛擬機器,但不是每部虛擬機器都是 VPS,因為您在筆記型電腦上透過 VirtualBox 執行的 VM 並非任何人的產品。部分標示為 VPS 的低價方案實際上是容器,而不是完整的 VM,因此在依賴核心存取權限前,請透過 systemd-detect-virt 確認。

我可以在 VPC 內放置 VPS 嗎?

通常不行,因為 VPC 是單一雲端供應商的資源,只能容納同一帳戶建立的資源。獨立供應商提供的 VPS 位於該供應商的網路上。如果需要在兩者之間建立私有連線,應改為在兩者之間建立 VPN 通道,讓 VPS 透過該通道存取私有子網路。

為什麼我的雲端帳單高於同等 VPS?

執行個體價格只是其中一部分。計量型雲端服務會將儲存空間、快照、輸出流量、負載平衡器和 NAT 閘道分開計費,單獨一個 NAT 閘道每月的費用就可能高於小型 VPS。固定價格的 VPS 會將磁碟和流量額度合併為一個費用,因此相同的工作負載通常看起來較便宜。

如何確認伺服器是否具備真正的核心存取權限?

執行 systemd-detect-virt 並讀取結果。kvmxenvmware 表示您擁有自己的核心,且 modprobe 可正常運作。lxclxc-libvirtopenvz 表示您與其他使用者共用主機核心,嘗試載入模組或寫入 /proc/sys 的命令會以 Operation not supported 失敗。另一項確認方式是 uname -r;在容器方案中,該命令通常會回報您的發行版從未發布過的核心版本。

#vps#vm#vpc#cloud#basics