VPS, VM і VPC: у чому різниця та що обрати
VM є технологією, VPS продається як готовий сервер, а VPC створює приватну хмарну мережу. Пояснюємо різницю та підказуємо, що потрібно саме вам.
VPS, VM і VPC в одному абзаці
VM (віртуальна машина) — це комп’ютер, створений програмно: гіпервізор розподіляє один фізичний сервер між кількома незалежними машинами, і кожна з них запускає власне ядро. VPS (віртуальний приватний сервер) — це одна з таких віртуальних машин, яку вам здають в оренду як продукт із операційною системою, доступом root і щомісячною оплатою. VPC (віртуальна приватна хмара) — це не сервер. Це приватна мережа, яку ви визначаєте в обліковому записі хмарної платформи, а потім розміщуєте в ній ресурси. VM — це технологія. VPS — це продукт. VPC — це мережа навколо продукту.
Два з цих термінів описують машину. Третій описує мережу. Майже вся плутанина виникає через цю невідповідність, оскільки їх порівнюють так, ніби це три продукти на одній полиці.
Що таке VM
Гіпервізор — це рівень, який імітує апаратне забезпечення. Він надає кожній гостьовій системі віртуальний CPU, блок пам’яті, віртуальний диск і віртуальну мережеву карту, а потім не дає гостьовим системам бачити одна одну. На серверах найчастіше використовують KVM, Xen, Hyper-V і VMware ESXi. Сучасні гіпервізори використовують розширення віртуалізації CPU (Intel VT-x, AMD-V), тому інструкції гостьової системи виконуються на реальному CPU майже з нативною швидкістю, а не інтерпретуються.
Для системного адміністратора важливе ядро. VM завантажує власне ядро, тому ви обираєте дистрибутив, завантажуєте модулі ядра та налаштовуєте значення sysctl, які застосовуються лише до цієї VM. Це відрізняється від контейнера (LXC, Docker), який використовує ядро хоста та отримує лише власне представлення процесів і файлів.
Відповідь можна отримати на будь-якій Linux-системі однією командою.
systemd-detect-virtkvm означає, що ви використовуєте віртуальну машину на гіпервізорі KVM. lxc або openvz означає, що ви перебуваєте в контейнері на ядрі іншої системи. none означає, що фізичний сервер належить вам. Якщо команда відсутня, lscpu | grep -i hypervisor показує те саме за прапорцями CPU.
Що таке VPS
VPS — це комерційна оболонка навколо VM. В основі лежить технологія віртуалізації, а слово «VPS» додає функції, які дають змогу продавати послугу: образ ОС, який можна перевстановити, IP-адресу, дозволений обсяг трафіку, панель керування, щомісячну ціну та контакт для звернення в разі відмови хоста. Слово «приватний» відрізняє VPS від shared hosting, де сотні сайтів використовують одну операційну систему та одну конфігурацію PHP.
Оскільки VPS — це назва продукту, а не технічний термін, він не завжди означає повноцінну VM. Деякі бюджетні плани пропонують контейнери під тією самою назвою. Різниця проявляється, коли вам уперше потрібен доступ до kernel. У плані на основі контейнерів sudo modprobe wireguard завершується помилкою RTNETLINK answers: Operation not supported або modprobe: FATAL: Module wireguard not found, оскільки kernel належить хосту, і змінювати його не можна. У плані KVM модуль завантажується, і тунель встановлюється. Якщо ви плануєте запускати Docker, VPN, власні kernel або віртуальні машини всередині сервера, перевірте тип віртуалізації перед купівлею. Запуск віртуальних машин усередині VPS потребує KVM із увімкненою вкладеною віртуалізацією на хості. Тому доступних планів стає ще менше.
Що таке VPC
VPC — це програмно визначена мережа всередині хмарного постачальника. Їй призначають діапазон адрес у нотації CIDR, наприклад 10.0.0.0/16. Потім із нього виділяють підмережі, підключають таблиці маршрутизації та застосовують правила брандмауера (групи безпеки) до ресурсів усередині. VPC не має процесора, пам’яті чи диска. У неї немає облікового запису для входу. Якщо видалити всі сервери у VPC, сама VPC залишиться порожньою і зазвичай безкоштовною.
VPC забезпечує приватну адресацію. Два сервери в одній VPC обмінюються даними через адреси на кшталт 10.0.1.15 у внутрішній мережі постачальника. Такий трафік не проходить через публічний інтернет і не тарифікується як вихідний інтернет-трафік. Тоді база даних може прослуховувати лише свою приватну адресу, і жоден порт не буде відкритий для всього світу.
ip -4 addr showАдреса в межах 10.0.0.0/8, 172.16.0.0/12 або 192.168.0.0/16 є приватною. Публічна адреса на тому самому сервері означає, що сервер безпосередньо доступний з інтернету, незалежно від того, в якому мережевому об’єкті він розміщений.
Чи робить VPC мій сервер приватним?
Ні. Це найдорожче непорозуміння щодо цих трьох термінів. VPC керує маршрутизацією та адресацією. Він не визначає, чи може інтернет дістатися до машини. Якщо інстанс має публічну IP-адресу, а правила безпеки дозволяють доступ до порту 22 з 0.0.0.0/0, він відкритий для доступу так само, як і будь-який інший сервер — незалежно від використання VPC. Ізоляція, яку забезпечує VPC, полягає в можливості не призначати ресурсу публічну адресу, а також у налаштуванні правил, які визначають, яким підмережам дозволено обмінюватися трафіком.
Ці три терміни також означають різні види ізоляції. VM ізолює обчислювальні ресурси: гіпервізор розподіляє процесорний час і пам’ять, тому інший гість не може прочитати вашу RAM. Для диска та мережі ця ізоляція слабша: активний сусід на тому самому хості все одно може знизити вашу продуктивність. VPS на основі контейнерів використовує спільне ядро, тому помилка на рівні ядра є спільним ризиком. VPC не забезпечує жодної ізоляції обчислювальних ресурсів. Він лише формує мережу.
Модель ціноутворення
VPS зазвичай продають за фіксованою щомісячною ціною для фіксованої конфігурації. Ви знаєте суму рахунку до початку місяця, а диск і включений обсяг трафіку вже входять у неї. Саме передбачуваність є головною причиною, чому для невеликого навантаження обирають VPS, а не хмарний екземпляр.
Використання хмарної VM обліковується за фактом. За екземпляр стягується погодинна або посекундна плата, а диск, snapshots, load balancer і вихідний трафік оплачуються окремо. Сама VPC зазвичай безкоштовна, але підключені до неї керовані компоненти — ні: за NAT gateway, який дає приватним екземплярам доступ до інтернету, стягується погодинна плата та плата за кожен гігабайт. Трафік між зонами доступності також оплачується. Станом на July 2026 основні хмарні платформи й далі автоматично розміщують кожен новий екземпляр у default VPC, тому ви використовуєте її незалежно від того, чи запитували її.
Що вам насправді потрібно
- Один сервер для вебсайту, застосунку, ігрового сервера або VPN: VPS. Важливішими за назву тарифу є перші десять хвилин роботи на новому VPS.
- Кілька серверів, які мають взаємодіяти через приватні адреси: VPC або функція приватної мережі, яку ваш постачальник VPS може називати інакше.
- Робоче навантаження, яке має продовжувати працювати після відмови цілого центру обробки даних: хмара з кількома зонами, тобто віртуальні машини всередині VPC.
- Повний контроль над ядром або власний гіпервізор поверх базової системи: VPS на основі KVM або виділений сервер. Під час порівняння також перевірте тип диска, передбачений тарифом.
Для більшості проєктів з одним сервером VPC не потрібна. Функція приватної мережі, що входить до складу VPS, виконує те саме завдання для кількох машин.
FAQ
Чи є VPS тим самим, що й VM?
VPS — це VM, яку вам хтось надає як послугу. Кожен VPS на базі KVM, Xen або VMware є віртуальною машиною, але не кожна віртуальна машина є VPS, оскільки VM, що працює на вашому ноутбуці у VirtualBox, не є чиїмось продуктом. Деякі дешеві плани з позначкою VPS насправді є контейнерами, а не повноцінними VM, тому перевірте це за допомогою systemd-detect-virt, перш ніж покладатися на доступ до ядра.
Чи можна розмістити VPS усередині VPC?
Зазвичай ні, оскільки VPC є конструкцією одного хмарного провайдера і містить лише ресурси, створені в тому самому обліковому записі. VPS незалежного провайдера працює в мережі цього провайдера. Якщо вам потрібні приватні з’єднання між ними, створіть між ними VPN-тунель. Після цього VPS зможе отримувати доступ до приватних підмереж через цей тунель.
Чому мій рахунок за хмарні ресурси вищий, ніж вартість еквівалентного VPS?
Вартість інстансу — лише частина витрат. Сховище, знімки, вихідний мережевий трафік, балансувальники навантаження та NAT-шлюзи тарифікуються окремо в хмарі з оплатою за фактичне використання. Один NAT-шлюз може коштувати за місяць дорожче, ніж невеликий VPS. VPS із фіксованою ціною включає диск і дозволений обсяг передавання даних в одну суму, тому те саме навантаження часто виглядає дешевшим саме там.
Як перевірити, чи має мій сервер повноцінний доступ до ядра?
Виконайте systemd-detect-virt і перегляньте відповідь. kvm, xen або vmware означають, що ви використовуєте власне ядро і modprobe працює. lxc, lxc-libvirt або openvz означають, що ви спільно використовуєте ядро хоста, а команди, які завантажують модулі або записують до /proc/sys, завершаться помилкою Operation not supported. Додатково це можна перевірити за допомогою uname -r. У плані з контейнерами ця команда часто показує версію ядра, яку ваш дистрибутив ніколи не випускав.