VPS, VM of VPC: wat is het verschil?
Een VM is de techniek, een VPS is die VM als product en een VPC is een privénetwerk in de cloud. Lees wat elk begrip betekent en wat u nodig hebt.
VPS, VM en VPC in één alinea
Een VM (virtual machine) is een computer die uit software bestaat: een hypervisor splitst één fysieke server op in meerdere onafhankelijke machines, die elk hun eigen kernel uitvoeren. Een VPS (virtual private server) is een van deze virtuele machines die als product aan u wordt verhuurd, met een besturingssysteem, root-toegang en een maandelijkse prijs. Een VPC (virtual private cloud) is helemaal geen server. Het is een privénetwerk dat u binnen een cloudaccount definieert en waarin u resources plaatst. VM is de technologie. VPS is het product. VPC is het netwerk rond het product.
Twee van deze woorden beschrijven een machine. Het derde beschrijft een netwerk. Bijna alle verwarring ontstaat door dit verschil, omdat mensen ze vergelijken alsof het drie producten op één plank zijn.
Wat een VM is
Een hypervisor is de laag die hardware simuleert. De hypervisor geeft elke guest een virtuele CPU, een geheugenblok, een virtuele schijf en een virtuele netwerkkaart. Ook voorkomt de hypervisor dat guests elkaar kunnen zien. KVM, Xen, Hyper-V en VMware ESXi zijn de gangbare hypervisors op servers. Moderne hypervisors gebruiken CPU-virtualisatie-extensies (Intel VT-x, AMD-V). Daardoor worden instructies van de guest vrijwel op native snelheid door de echte CPU uitgevoerd, in plaats van geïnterpreteerd.
Voor een sysadmin is de kernel het belangrijkste onderdeel. Een VM start zijn eigen kernel op. U kiest dus de distributie, laadt kernelmodules en stelt sysctl-waarden in die alleen op die VM van toepassing zijn. Dat verschilt van een container (LXC, Docker). Een container deelt de kernel van de host en krijgt alleen een eigen weergave van processen en bestanden.
U kunt het antwoord op elke Linux-machine met één opdracht bekijken.
systemd-detect-virtkvm betekent dat u een virtuele machine op een KVM-hypervisor gebruikt. lxc of openvz betekent dat u zich in een container op de kernel van iemand anders bevindt. none betekent dat de fysieke machine van u is. Als de opdracht ontbreekt, toont lscpu | grep -i hypervisor hetzelfde op basis van CPU-flags.
Wat een VPS is
Een VPS is een commerciële verpakking rond een VM. De onderliggende technologie is virtualisatie. De term "VPS" omvat de onderdelen die het product verkoopbaar maken: een OS-image die u opnieuw kunt installeren, een IP-adres, een bandbreedtelimiet, een configuratiescherm, een maandprijs en iemand naar wie u kunt e-mailen wanneer de host uitvalt. "Private" dient om het product te onderscheiden van shared hosting, waarbij honderden websites één besturingssysteem en één PHP-configuratie delen.
Omdat VPS een productnaam en geen technische term is, betekent dit niet altijd een volledige VM. Sommige budgetabonnementen bieden containers onder dezelfde naam aan. Het verschil wordt duidelijk zodra u de kernel nodig hebt. Bij een abonnement op basis van containers mislukt sudo modprobe wireguard met RTNETLINK answers: Operation not supported of modprobe: FATAL: Module wireguard not found, omdat de kernel van de host wordt gebruikt en u deze niet mag wijzigen. Bij een KVM-abonnement wordt de module geladen en komt de tunnel tot stand. Als u Docker, een VPN, aangepaste kernels of uw eigen virtuele machines binnen de server wilt uitvoeren, controleer dan het virtualisatietype voordat u een abonnement aanschaft. Voor het uitvoeren van virtuele machines binnen een VPS is KVM vereist, met geneste virtualisatie ingeschakeld op de host. Daardoor blijft slechts een kleiner aantal abonnementen over.
Wat een VPC is
Een VPC is een softwarematig gedefinieerd netwerk binnen een cloudprovider. U geeft het een adresbereik in CIDR-notatie, zoals 10.0.0.0/16. Vervolgens maakt u er subnetten in, koppelt u routetabellen en plaatst u firewallregels (security groups) voor de resources erin. Een VPC heeft geen CPU, geheugen of schijf. U kunt er niet op inloggen. Als u elke server in een VPC verwijdert, blijft de VPC leeg staan en zijn er meestal geen kosten aan verbonden.
Een VPC biedt u privé-adressering. Twee servers in dezelfde VPC communiceren via adressen zoals 10.0.1.15 over de interne infrastructuur van de provider. Het netwerkverkeer gaat daardoor nooit via het openbare internet en wordt niet als internet-egress in rekening gebracht. Een database kan vervolgens alleen op zijn privé-adres luisteren. Er wordt dan geen enkele poort aan de buitenwereld blootgesteld.
ip -4 addr showEen adres binnen 10.0.0.0/8, 172.16.0.0/12 of 192.168.0.0/16 is privé. Een openbaar adres op dezelfde server betekent dat de server rechtstreeks vanaf internet bereikbaar is, ongeacht in welk netwerkobject deze zich bevindt.
Maakt een VPC mijn server privé?
Nee. Dit is de duurste misvatting over de drie termen. Een VPC beheert routering en adressering. Het bepaalt niet of het internet een machine kan bereiken. Als een instance een openbaar IP-adres heeft en de beveiligingsregels poort 22 vanaf 0.0.0.0/0 toestaan, is deze net zo blootgesteld als elke andere server, met of zonder VPC. De isolatie die u met een VPC krijgt, bestaat uit de mogelijkheid om een resource helemaal geen openbaar adres te geven, plus regels die bepalen welke subnetten met elkaar mogen communiceren.
De drie termen staan ook voor verschillende vormen van isolatie. Een VM isoleert rekenresources: de hypervisor scheidt CPU-tijd en geheugen, zodat een andere guest uw RAM niet kan lezen. Die isolatie is zwakker voor opslag en netwerkverkeer. Een drukke buur op dezelfde host kan uw prestaties nog steeds vertragen. Een containergebaseerde VPS deelt één kernel. Daardoor vormt een fout op kernelniveau een gedeeld risico. Een VPC isoleert niets op het gebied van rekenresources. Het bepaalt alleen de netwerkindeling.
Het prijsmodel
Een VPS wordt doorgaans verkocht tegen een vaste maandprijs voor een vaste machine. U kent de factuur voordat de maand begint. De schijfruimte en de inbegrepen hoeveelheid dataverkeer zijn daarin opgenomen. Die voorspelbaarheid is de belangrijkste reden waarom mensen voor een VPS kiezen in plaats van een cloudinstantie voor een kleine werklast.
Een cloud-VM wordt op basis van gebruik afgerekend. Voor de instantie betaalt u per uur of per seconde. De schijf, de snapshots, de load balancer en het uitgaande verkeer worden afzonderlijk in rekening gebracht. De VPC zelf is normaal gesproken gratis, maar de beheerde onderdelen die eraan zijn gekoppeld niet. Een NAT gateway waarmee private instanties toegang tot internet krijgen, wordt per uur en per gigabyte in rekening gebracht. Ook voor verkeer tussen beschikbaarheidszones worden kosten berekend. Sinds juli 2026 plaatsen de grote cloudproviders elke nieuwe instantie nog steeds automatisch in een standaard-VPC. U gebruikt er dus een, ongeacht of u daarom hebt gevraagd.
Welke hebt u daadwerkelijk nodig
- Eén server voor een website, een app, een gameserver of een VPN: een VPS. De eerste tien minuten op een nieuwe VPS zijn belangrijker dan de naam van het plan.
- Meerdere servers die elkaar via privéadressen moeten kunnen bereiken: een VPC, of de privénetwerkfunctie die uw VPS-provider onder een andere naam aanbiedt.
- Een workload die moet blijven functioneren als een volledig datacenter uitvalt: een cloud met meerdere zones, wat betekent dat de VM's zich binnen een VPC bevinden.
- Volledige controle over de kernel, of uw eigen hypervisor erbovenop: een op KVM gebaseerde VPS of een dedicated server. Controleer tijdens het vergelijken ook het schijftype achter het plan.
Voor de meeste projecten met één server is een VPC niet nodig. De privénetwerkfunctie die bij een VPS wordt geleverd, biedt dezelfde functionaliteit voor enkele machines.
FAQ
Is een VPS hetzelfde als een VM?
Een VPS is een VM die iemand aan u verkoopt. Elke VPS die op KVM, Xen of VMware is gebaseerd, is een virtuele machine. Niet elke virtuele machine is echter een VPS, omdat de VM die op uw laptop onder VirtualBox draait geen product van iemand is. Sommige goedkope abonnementen met het label VPS zijn containers in plaats van volledige VM's. Controleer dit daarom met systemd-detect-virt voordat u afhankelijk wordt van toegang tot de kernel.
Kan ik een VPS in een VPC plaatsen?
Meestal niet, omdat een VPC een constructie van één cloudprovider is en alleen resources bevat die in hetzelfde account zijn aangemaakt. Een VPS van een onafhankelijke provider bevindt zich op het netwerk van die provider. Als u privéverbindingen tussen beide nodig hebt, bouwt u in plaats daarvan een VPN-tunnel tussen beide op. De VPS krijgt vervolgens via die tunnel toegang tot de private subnetten.
Waarom is mijn cloudfactuur hoger dan die van een gelijkwaardige VPS?
De prijs van de instance is maar een deel van de kosten. Storage, snapshots, uitgaand verkeer, load balancers en NAT gateways worden in een cloud met verbruiksafrekening afzonderlijk in rekening gebracht. Alleen een NAT gateway kan per maand al meer kosten dan een kleine VPS. Bij een VPS met een vaste prijs zijn de schijfruimte en een inbegrepen datalimiet in één bedrag opgenomen. Daarom lijkt dezelfde workload daar vaak goedkoper.
Hoe controleer ik of mijn server echte toegang tot de kernel heeft?
Voer systemd-detect-virt uit en lees het antwoord. kvm, xen of vmware betekent dat u een eigen kernel hebt en dat modprobe werkt. lxc, lxc-libvirt of openvz betekent dat u de kernel van de host deelt. Opdrachten die modules laden of naar /proc/sys schrijven, mislukken dan met Operation not supported. Een tweede bevestiging is uname -r. Op een containerabonnement rapporteert deze opdracht vaak een kernelversie die uw distributie nooit heeft uitgebracht.