VPS vs VM vs VPC: czym różnią się te pojęcia?
VM to technologia, VPS to wynajmowana maszyna wirtualna, a VPC to prywatna sieć w chmurze. Wyjaśniono różnice i dobór właściwego rozwiązania.
VPS, VM i VPC w jednym akapicie
VM (maszyna wirtualna) to komputer utworzony programowo. Hiperwizor dzieli jeden serwer fizyczny na kilka niezależnych maszyn. Każda z nich uruchamia własne jądro. VPS (wirtualny serwer prywatny) to jedna z tych maszyn wirtualnych wynajmowana jako produkt. Obejmuje system operacyjny, dostęp do konta root i miesięczną opłatę. VPC (wirtualna chmura prywatna) nie jest serwerem. Jest prywatną siecią definiowaną na koncie w chmurze. Zasoby są umieszczane w tej sieci. VM to technologia. VPS to produkt. VPC to sieć, w której działa produkt.
Dwa z tych terminów opisują maszynę. Trzeci opisuje sieć. Większość nieporozumień wynika z tej różnicy. Terminy te są porównywane tak, jakby były trzema produktami ustawionymi na jednej półce.
Czym jest maszyna wirtualna
Hypervisor to warstwa, która emuluje sprzęt. Udostępnia każdemu systemowi gościa wirtualny procesor, blok pamięci, wirtualny dysk i wirtualną kartę sieciową, a następnie izoluje systemy gości. KVM, Xen, Hyper-V i VMware ESXi to najczęściej używane hypervisory na serwerach. Nowoczesne hypervisory korzystają z rozszerzeń wirtualizacji procesora (Intel VT-x, AMD-V), dlatego instrukcje systemu gościa są wykonywane przez rzeczywisty procesor z wydajnością zbliżoną do natywnej, zamiast podlegać interpretacji.
Dla administratora systemu najważniejsze jest jądro. Maszyna wirtualna uruchamia własne jądro, dlatego można wybrać dystrybucję, ładować moduły jądra i ustawiać wartości sysctl dotyczące wyłącznie tej maszyny. Inaczej działa kontener (LXC, Docker), który współdzieli jądro hosta i otrzymuje tylko własny widok procesów oraz plików.
Wynik można sprawdzić na dowolnym systemie Linux za pomocą jednego polecenia.
systemd-detect-virtkvm oznacza, że jest to maszyna wirtualna działająca na hypervisorze KVM. lxc lub openvz oznacza działanie w kontenerze korzystającym z jądra innego systemu. none oznacza, że sprzęt należy do użytkownika. Jeśli polecenie nie jest dostępne, lscpu | grep -i hypervisor pokazuje te same informacje na podstawie flag procesora.
Czym jest VPS
VPS to komercyjna forma udostępniania maszyny wirtualnej. Podstawą techniczną jest wirtualizacja. Nazwa „VPS” obejmuje elementy potrzebne do sprzedaży usługi: obraz systemu operacyjnego, który można ponownie zainstalować, adres IP, limit transferu, panel sterowania, miesięczną opłatę oraz kontakt do dostawcy na wypadek awarii hosta. Określenie „prywatny” odróżnia tę usługę od hostingu współdzielonego, w którym setki witryn korzystają z jednego systemu operacyjnego i jednej konfiguracji PHP.
Ponieważ VPS jest nazwą produktu, a nie terminem technicznym, nie zawsze oznacza pełną maszynę wirtualną. Niektóre tanie plany oferują kontenery pod tą samą nazwą. Różnica staje się widoczna przy pierwszej potrzebie użycia jądra. W planie opartym na kontenerach sudo modprobe wireguard kończy się błędem RTNETLINK answers: Operation not supported lub modprobe: FATAL: Module wireguard not found, ponieważ używane jest jądro hosta i nie można go zmienić. W planie KVM moduł zostaje załadowany, a tunel zostaje uruchomiony. Przed zakupem należy sprawdzić typ wirtualizacji, jeśli planowane jest uruchamianie Docker, VPN, niestandardowych jąder lub własnych maszyn wirtualnych wewnątrz serwera. Uruchamianie maszyn wirtualnych wewnątrz VPS wymaga KVM z włączoną na hoście wirtualizacją zagnieżdżoną. Ogranicza to wybór do jeszcze mniejszej liczby planów.
Czym jest VPC
VPC to sieć definiowana programowo wewnątrz dostawcy chmurowego. Przypisuje się jej zakres adresów w notacji CIDR, na przykład 10.0.0.0/16, a następnie tworzy się w nim podsieci, dołącza tablice routingu i umieszcza reguły zapory sieciowej (grupy zabezpieczeń) przed zasobami znajdującymi się wewnątrz. VPC nie ma procesora, pamięci ani dysku. Nie ma do niej dostępu logowania. Usunięcie wszystkich serwerów w VPC pozostawia pustą VPC, która zwykle nie generuje kosztów.
VPC zapewnia prywatną adresację. Dwa serwery w tej samej VPC komunikują się za pomocą adresów takich jak 10.0.1.15 w wewnętrznej sieci dostawcy. Taki ruch nie przechodzi przez publiczny internet i nie jest rozliczany jako ruch wychodzący do internetu. Baza danych może wtedy nasłuchiwać wyłącznie na swoim prywatnym adresie, dzięki czemu żaden port nie jest dostępny z internetu.
ip -4 addr showAdres wewnątrz 10.0.0.0/8, 172.16.0.0/12 lub 192.168.0.0/16 jest prywatny. Publiczny adres na tym samym serwerze oznacza, że serwer jest bezpośrednio dostępny z internetu, niezależnie od tego, w jakim obiekcie sieciowym się znajduje.
Czy VPC zapewnia prywatność serwera?
Nie. To najdroższe nieporozumienie dotyczące tych trzech terminów. VPC steruje routingiem i adresacją. Nie decyduje o tym, czy Internet może uzyskać dostęp do maszyny. Jeśli instancja ma publiczny adres IP, a reguły zabezpieczeń zezwalają na port 22 z 0.0.0.0/0, jest wystawiona dokładnie tak samo jak każdy inny serwer, niezależnie od tego, czy używa VPC. Izolacja zapewniana przez VPC polega na możliwości nieprzypisywania zasobowi publicznego adresu oraz na definiowaniu reguł określających, które podsieci mogą komunikować się z którymi.
Te trzy terminy oznaczają również różne rodzaje izolacji. VM izoluje zasoby obliczeniowe: hypervisor rozdziela czas procesora i pamięć, więc inny guest nie może odczytać pamięci RAM. Izolacja dysku i sieci jest słabsza, ponieważ zajęty sąsiad na tym samym hoście nadal może obniżyć wydajność. VPS oparty na kontenerach współdzieli jedno jądro, dlatego błąd na poziomie jądra stanowi wspólne ryzyko. VPC w ogóle nie zapewnia izolacji zasobów obliczeniowych. Określa wyłącznie sposób kształtowania sieci.
Model rozliczeń
VPS jest zwykle oferowany w stałej miesięcznej cenie za stałą maszynę. Wysokość rachunku jest znana przed rozpoczęciem miesiąca, a dysk i limit transferu są w niej uwzględnione. Ta przewidywalność jest głównym powodem, dla którego w przypadku małego obciążenia wybiera się VPS zamiast instancji w chmurze.
Cloud VM jest rozliczany według zużycia. Instancja jest rozliczana za godzinę lub za sekundę, natomiast dysk, migawki, load balancer i wychodzący ruch sieciowy są rozliczane oddzielnie. Sama VPC jest zwykle bezpłatna, ale dołączone do niej zarządzane komponenty już nie: NAT gateway, który umożliwia instancjom prywatnym dostęp do internetu, jest rozliczany za godzinę i za gigabajt, a ruch między strefami dostępności również jest rozliczany. W lipcu 2026 główne chmury nadal automatycznie umieszczają każdą nową instancję w domyślnej VPC, więc jest ona używana niezależnie od tego, czy została wybrana.
Którego rozwiązania rzeczywiście potrzebujesz
- Jeden serwer dla witryny internetowej, aplikacji, serwera gier lub VPN: VPS. Większe znaczenie niż nazwa planu ma pierwsze dziesięć minut na nowym VPS.
- Kilka serwerów, które muszą komunikować się ze sobą za pomocą adresów prywatnych: VPC lub funkcja sieci prywatnej oferowana przez dostawcę VPS pod inną nazwą.
- Obciążenie, które musi działać mimo awarii całego centrum danych: chmura z wieloma strefami, czyli maszyny wirtualne w ramach VPC.
- Pełna kontrola nad jądrem lub własny hypervisor uruchomiony na tej warstwie: VPS oparty na KVM albo serwer dedykowany. Podczas porównywania ofert należy sprawdzić także typ dysku użyty w ramach planu.
W przypadku większości projektów z jednym serwerem VPC nie jest potrzebne. Funkcja sieci prywatnej dołączona do VPS zapewnia to samo w przypadku kilku maszyn.
FAQ
Czy VPS to to samo co VM?
VPS to VM oferowana przez dostawcę. Każdy VPS utworzony w KVM, Xen lub VMware jest maszyną wirtualną, ale nie każda maszyna wirtualna jest VPS, ponieważ VM uruchomiona na laptopie w VirtualBox nie jest produktem żadnego dostawcy. Niektóre tanie plany oznaczone jako VPS są kontenerami, a nie pełnymi VM, dlatego przed uzależnieniem działania od dostępu do jądra należy sprawdzić systemd-detect-virt.
Czy można umieścić VPS w VPC?
Zwykle nie, ponieważ VPC jest konstrukcją jednego dostawcy chmury i zawiera tylko zasoby utworzone na tym samym koncie. VPS od niezależnego dostawcy działa w sieci tego dostawcy. Aby ustanowić prywatne połączenia między tymi sieciami, należy utworzyć między nimi tunel VPN. VPS będzie wtedy uzyskiwać dostęp do podsieci prywatnych za jego pośrednictwem.
Dlaczego rachunek za chmurę jest wyższy niż koszt równoważnego VPS?
Cena instancji stanowi tylko część kosztów. Magazyn danych, migawki, ruch wychodzący, load balancery i bramy NAT są oddzielnymi pozycjami na rozliczanym rachunku za chmurę. Sama brama NAT może kosztować miesięcznie więcej niż mały VPS. Stała cena VPS obejmuje dysk i limit transferu w jednej kwocie, dlatego to samo obciążenie często okazuje się tam tańsze.
Jak sprawdzić, czy serwer zapewnia rzeczywisty dostęp do jądra?
Należy uruchomić systemd-detect-virt i odczytać wynik. kvm, xen lub vmware oznacza, że dostępne jest własne jądro i działa modprobe. lxc, lxc-libvirt lub openvz oznacza współdzielenie jądra hosta. Polecenia ładujące moduły lub zapisujące do /proc/sys zakończą się wtedy błędem Operation not supported. Dodatkowym potwierdzeniem jest uname -r. W przypadku planu kontenerowego często zgłasza ono wersję jądra, której dana dystrybucja nigdy nie wydała.