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, які не впливають на інші системи. Це відрізняється від контейнера (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 або власні VM усередині сервера, перевірте тип віртуалізації перед придбанням. Запуск віртуальних машин усередині VPS потребує KVM із увімкненою на хості nested virtualization, тому доступних планів буде ще менше.
Що таке VPC
VPC — це програмно визначена мережа всередині хмарного провайдера. Ви задаєте для неї діапазон адрес у нотації CIDR, наприклад 10.0.0.0/16, потім створюєте з нього підмережі, підключаєте таблиці маршрутизації та додаєте правила брандмауера (security groups) для ресурсів усередині мережі. VPC не має CPU, пам’яті чи диска. У неї немає облікового запису для входу. Якщо видалити всі сервери у 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 керує маршрутизацією та адресацією. VPC не визначає, чи може інтернет підключитися до машини. Якщо інстанс має публічну IP-адресу, а правила безпеки дозволяють підключення до порту 22 із 0.0.0.0/0, він відкритий для доступу так само, як і будь-який інший сервер — незалежно від використання VPC. Ізоляція, яку забезпечує VPC, полягає в можливості не призначати ресурсу публічну адресу, а також у налаштуванні правил, які визначають, яким підмережам дозволено взаємодіяти між собою.
Ці три терміни також означають різні види ізоляції. VM ізолює обчислювальні ресурси: гіпервізор розподіляє процесорний час і пам’ять, тому інший гість не може прочитати вашу RAM. Для диска та мережі ця ізоляція слабша: зайнятий сусід на тому самому хості все одно може знизити продуктивність. VPS на основі контейнерів використовує спільне ядро, тому вразливість ядра є спільним ризиком. VPC взагалі нічого не ізолює на рівні обчислень. Вона лише формує мережу.
Модель розрахунку вартості
VPS зазвичай продають за фіксованою щомісячною ціною для фіксованої конфігурації сервера. Ви знаєте суму рахунку до початку місяця, а дисковий простір і дозволений обсяг трафіку вже включені у вартість. Саме передбачуваність є основною причиною, чому для невеликого навантаження обирають VPS, а не cloud instance.
Вартість cloud VM розраховується за фактичним використанням. За instance стягується погодинна або посекундна плата, а диск, snapshots, load balancer і вихідний трафік оплачуються окремо. Сам VPC зазвичай безкоштовний, але підключені до нього керовані компоненти — ні: за NAT gateway, який дає змогу приватним instance виходити в інтернет, стягується погодинна плата та плата за гігабайти, а трафік між availability zones також оплачується. Станом на July 2026 основні cloud-провайдери й далі автоматично розміщують кожен новий instance у default VPC, тому ви використовуєте його незалежно від того, чи запитували ви про це.
Що вам насправді потрібно
- Один сервер для вебсайту, застосунку, ігрового сервера або VPN: VPS. Перші десять хвилин на новому VPS важливіші за назву тарифу.
- Кілька серверів, які мають взаємодіяти через приватні адреси: VPC або функція приватної мережі, яку ваш VPS-провайдер може називати інакше.
- Робоче навантаження, яке має пережити відмову цілого дата-центру: хмара з кількома зонами, тобто VM усередині VPC.
- Повний контроль над kernel або власний hypervisor поверх нього: 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. У контейнерному плані ця команда часто показує версію ядра, яку ваш дистрибутив ніколи не постачав.