VPS, VM oder VPC: Was ist der Unterschied?
VM ist die Technik, VPS das vermietete Produkt und VPC ein privates Cloud-Netzwerk. Erfahren Sie, welcher Begriff zu Ihrem Vorhaben passt und warum.
VPS, VM und VPC in einem Absatz
Eine VM (virtuelle Maschine) ist ein softwarebasierter Computer: Ein Hypervisor teilt einen physischen Server in mehrere unabhängige Maschinen auf, von denen jede ihren eigenen Kernel ausführt. Ein VPS (virtueller privater Server) ist eine dieser virtuellen Maschinen, die Ihnen als Produkt mit Betriebssystem, root-Zugriff und einem monatlichen Preis vermietet wird. Eine VPC (virtuelle private Cloud) ist überhaupt kein Server. Sie ist ein privates Netzwerk, das Sie innerhalb eines Cloud-Kontos definieren und in dem Sie Ressourcen platzieren. VM bezeichnet die Technologie. VPS bezeichnet das Produkt. VPC bezeichnet das Netzwerk um das Produkt.
Zwei dieser Begriffe bezeichnen eine Maschine. Der dritte bezeichnet ein Netzwerk. Fast die gesamte Verwirrung entsteht durch diesen Unterschied, weil die Begriffe so verglichen werden, als wären sie drei Produkte in einem Regal.
Was eine VM ist
Ein Hypervisor ist die Schicht, die Hardware simuliert. Er stellt jedem Gast eine virtuelle CPU, Arbeitsspeicher, eine virtuelle Festplatte und eine virtuelle Netzwerkkarte bereit. Außerdem verhindert er, dass die Gäste einander sehen. KVM, Xen, Hyper-V und VMware ESXi sind die gängigen Hypervisoren auf Servern. Moderne Hypervisoren nutzen CPU-Virtualisierungserweiterungen (Intel VT-x, AMD-V). Dadurch werden Anweisungen des Gasts mit nahezu nativer Geschwindigkeit auf der tatsächlichen CPU ausgeführt, anstatt interpretiert zu werden.
Für die Systemadministration ist der Kernel entscheidend. Eine VM startet ihren eigenen Kernel. Sie wählen daher die Distribution, laden Kernelmodule und setzen sysctl-Werte, die nur für diese VM gelten. Das unterscheidet eine VM von einem Container (LXC, Docker). Ein Container verwendet den Kernel des Hosts gemeinsam mit anderen Containern und erhält nur eine eigene Sicht auf Prozesse und Dateien.
Mit einem Befehl können Sie die Information auf jedem Linux-System anzeigen.
systemd-detect-virtkvm bedeutet, dass Sie eine virtuelle Maschine auf einem KVM-Hypervisor verwenden. lxc oder openvz bedeutet, dass Sie sich in einem Container auf dem Kernel eines anderen Systems befinden. none bedeutet, dass Sie direkten Zugriff auf die Hardware haben. Wenn der Befehl nicht vorhanden ist, zeigt lscpu | grep -i hypervisor anhand der CPU-Flags dieselbe Information an.
Was ein VPS ist
Ein VPS ist ein kommerzielles Produkt rund um eine VM. Die zugrunde liegende Technologie ist Virtualisierung. Der Begriff „VPS“ umfasst zusätzlich die Bestandteile, die das Produkt verkaufbar machen: ein OS-Image zur Neuinstallation, eine IP-Adresse, ein festgelegtes Bandbreitenvolumen, ein Control Panel, einen monatlichen Preis und einen Ansprechpartner, den Sie kontaktieren können, wenn der Host ausfällt. „Private“ dient der Abgrenzung von Shared Hosting. Dort verwenden Hunderte Websites dasselbe Betriebssystem und dieselbe PHP-Konfiguration.
Da VPS eine Produktbezeichnung und kein technischer Begriff ist, handelt es sich nicht immer um eine vollständige VM. Einige günstige Tarife bieten unter derselben Bezeichnung Container an. Der Unterschied zeigt sich, sobald Sie den Kernel benötigen. Bei einem containerbasierten Tarif schlägt sudo modprobe wireguard mit RTNETLINK answers: Operation not supported oder modprobe: FATAL: Module wireguard not found fehl, weil der Kernel dem Host gehört und Sie ihn nicht ändern dürfen. Bei einem KVM-Tarif wird das Modul geladen und der Tunnel wird aufgebaut. Wenn Sie Docker, ein VPN, benutzerdefinierte Kernel oder eigene virtuelle Maschinen innerhalb des Servers betreiben möchten, prüfen Sie vor dem Kauf den Virtualisierungstyp. Das Betreiben von virtuellen Maschinen innerhalb eines VPS erfordert KVM mit aktivierter verschachtelter Virtualisierung auf dem Host. Dadurch reduziert sich die Auswahl geeigneter Tarife erneut.
Was ein VPC ist
Ein VPC ist ein softwaredefiniertes Netzwerk innerhalb eines Cloud-Anbieters. Sie weisen ihm einen Adressbereich in CIDR-Notation zu, zum Beispiel 10.0.0.0/16, teilen daraus Subnetze auf, verknüpfen Routingtabellen damit und schalten Firewall-Regeln (Security Groups) vor die darin enthaltenen Ressourcen. Ein VPC verfügt über keine CPU, keinen Arbeitsspeicher und keine Festplatte. Es gibt nichts, worauf Sie sich anmelden können. Wenn Sie jeden Server in einem VPC löschen, bleibt das VPC leer und in der Regel kostenlos bestehen.
Ein VPC ermöglicht private Adressierung. Zwei Server im selben VPC kommunizieren über Adressen wie 10.0.1.15 im internen Netzwerk des Anbieters. Der Netzwerkverkehr berührt dadurch nie das öffentliche Internet und wird nicht als Internet-Egress abgerechnet. Eine Datenbank kann dann ausschließlich auf ihrer privaten Adresse Verbindungen annehmen. Kein Port ist direkt aus dem Internet erreichbar.
ip -4 addr showEine Adresse innerhalb von 10.0.0.0/8, 172.16.0.0/12 oder 192.168.0.0/16 ist privat. Eine öffentliche Adresse auf demselben Rechner bedeutet, dass der Server direkt aus dem Internet erreichbar ist, unabhängig davon, in welchem Netzwerkobjekt er sich befindet.
Macht eine VPC meinen Server privat?
Nein. Das ist das folgenschwerste Missverständnis dieser drei Begriffe. Eine VPC steuert Routing und Adressierung. Sie entscheidet nicht, ob das Internet einen Rechner erreichen kann. Wenn eine Instanz eine öffentliche IP-Adresse hat und die Sicherheitsregeln Port 22 von 0.0.0.0/0 zulassen, ist sie genauso exponiert wie jeder andere Server – unabhängig davon, ob er sich in einer VPC befindet. Die Isolation durch eine VPC besteht darin, einer Ressource überhaupt keine öffentliche Adresse zuzuweisen und zusätzlich Regeln festzulegen, welche Subnetze miteinander kommunizieren dürfen.
Die drei Begriffe stehen außerdem für unterschiedliche Arten der Isolation. Eine VM isoliert die Rechenleistung: Der Hypervisor trennt CPU-Zeit und Arbeitsspeicher, sodass ein anderer Gast den Arbeitsspeicher Ihrer VM nicht lesen kann. Bei Datenträger und Netzwerk ist diese Isolation schwächer, weil ein ausgelasteter Nachbar auf demselben Host Ihren Server trotzdem verlangsamen kann. Ein containerbasiertes VPS verwendet denselben Kernel. Dadurch ist eine Sicherheitslücke auf Kernel-Ebene ein gemeinsames Risiko. Eine VPC isoliert die Rechenleistung überhaupt nicht. Sie formt ausschließlich das Netzwerk.
Das Preismodell verstehen
Ein VPS wird in der Regel zu einem festen monatlichen Preis für eine festgelegte Maschine angeboten. Sie kennen die Rechnung, bevor der Monat beginnt. Der Speicherplatz und das enthaltene Transfervolumen sind darin eingeschlossen. Diese Planbarkeit ist der wichtigste Grund, warum sich Nutzer bei kleinen Workloads für einen VPS statt für eine Cloud-Instanz entscheiden.
Eine Cloud-VM wird nach Nutzung abgerechnet. Für die Instanz fallen Kosten pro Stunde oder pro Sekunde an. Der Speicherplatz, die Snapshots, der Load Balancer und der ausgehende Netzwerkverkehr werden zusätzlich und getrennt berechnet. Die VPC selbst ist normalerweise kostenlos. Die daran angebundenen Managed-Komponenten sind es jedoch nicht: Ein NAT-Gateway, über das private Instanzen das Internet erreichen, wird pro Stunde und pro Gigabyte abgerechnet. Auch der Datenverkehr zwischen Availability Zones ist kostenpflichtig. Im Juli 2026 ordnen die großen Cloud-Anbieter jede neue Instanz weiterhin automatisch einer Standard-VPC zu. Sie verwenden daher eine VPC, unabhängig davon, ob Sie dies ausdrücklich angefordert haben.
Was Sie tatsächlich benötigen
- Einen Server für eine Website, eine Anwendung, einen Gameserver oder ein VPN: einen VPS. Die ersten zehn Minuten auf einem neuen VPS sind wichtiger als die Bezeichnung des Tarifs.
- Mehrere Server, die sich über private Adressen erreichen müssen: eine VPC oder die Funktion für private Netzwerke, die Ihr VPS-Anbieter unter einer anderen Bezeichnung anbietet.
- Eine Workload, die den Ausfall eines gesamten Rechenzentrums überstehen muss: eine Cloud mit mehreren Zonen. Das bedeutet VMs innerhalb einer VPC.
- Vollständige Kontrolle über den Kernel oder einen eigenen Hypervisor darüber: einen KVM-basierten VPS oder einen dedizierten Server. Prüfen Sie beim Vergleich außerdem den Festplattentyp hinter dem Tarif.
Die meisten Projekte mit nur einem Server benötigen keine VPC. Die in einem VPS enthaltene Funktion für private Netzwerke erfüllt denselben Zweck für eine kleine Anzahl von Maschinen.
FAQ
Ist ein VPS dasselbe wie eine VM?
Ein VPS ist eine VM, die Ihnen jemand bereitstellt. Jeder VPS auf Basis von KVM, Xen oder VMware ist eine virtuelle Maschine. Aber nicht jede virtuelle Maschine ist ein VPS, weil die VM auf Ihrem Laptop unter VirtualBox kein Produkt eines Anbieters ist. Einige günstige Angebote mit der Bezeichnung VPS sind Container statt vollständiger VMs. Prüfen Sie daher systemd-detect-virt, bevor Sie auf Kernel-Zugriff angewiesen sind.
Kann ich einen VPS in einer VPC betreiben?
In der Regel nicht, weil eine VPC eine Ressource eines einzelnen Cloud-Anbieters ist und nur Ressourcen desselben Kontos enthält. Ein VPS eines unabhängigen Anbieters befindet sich in dessen Netzwerk. Wenn Sie private Verbindungen zwischen beiden benötigen, richten Sie stattdessen einen VPN-Tunnel zwischen ihnen ein. Der VPS erreicht die privaten Subnetze dann über diesen Tunnel.
Warum ist meine Cloud-Rechnung höher als bei einem vergleichbaren VPS?
Der Preis der Instanz ist nur ein Teil der Kosten. Speicher, Snapshots, ausgehender Netzwerkverkehr, Load Balancer und NAT-Gateways werden in einer nutzungsabhängig abgerechneten Cloud separat aufgeführt. Ein NAT-Gateway allein kann pro Monat mehr kosten als ein kleiner VPS. Bei einem VPS mit Festpreis sind die Festplatte und ein bestimmtes Transferkontingent in einem Betrag enthalten. Deshalb wirkt derselbe Workload dort oft günstiger.
Wie prüfe ich, ob mein Server tatsächlich Kernel-Zugriff bietet?
Führen Sie systemd-detect-virt aus und lesen Sie die Antwort. kvm, xen oder vmware bedeuten, dass Sie einen eigenen Kernel haben und modprobe funktioniert. lxc, lxc-libvirt oder openvz bedeuten, dass Sie den Kernel des Hosts gemeinsam verwenden. Befehle, die Module laden oder in /proc/sys schreiben, schlagen dann mit Operation not supported fehl. Eine zweite Bestätigung liefert uname -r. Bei einem Container-Angebot wird dabei häufig eine Kernel-Version angezeigt, die Ihre Distribution nie veröffentlicht hat.