SSD Nodes Learn Hosting plans →
Посібники Matt ConnorВід Matt Connor · Оновлено 2026-10-30

VPS, VM і VPC: у чому різниця між термінами

VM є технологією, VPS продають як орендований сервер, а VPC створює приватну мережу в cloud. Пояснюємо різницю та роль кожного терміна.

VPS, VM і VPC в одному абзаці

VM (virtual machine) — це комп’ютер, реалізований програмно: hypervisor ділить один фізичний сервер на кілька незалежних машин, і кожна з них запускає власне ядро. VPS (virtual private server) — це сервер, який вам здають в оренду як продукт, з операційною системою, зазвичай доступом root і щомісячною оплатою. Більшість тарифів VPS базуються на virtual machines, але деякі хостинг-провайдери продають під тією самою назвою контейнери, які використовують спільне ядро хоста. VPC (virtual private cloud) — це взагалі не сервер. Це приватна мережа, яку ви визначаєте в обліковому записі cloud, і розміщуєте в ній ресурси. VM — це зазвичай технологія. VPS — це продукт. VPC — це мережа навколо продукту.

Два з цих термінів описують машину. Третій описує мережу. Майже вся плутанина виникає через цю невідповідність, оскільки люди порівнюють їх так, наче це три продукти на одній полиці.

Що таке VM

Hypervisor — це рівень, який імітує апаратне забезпечення. Він надає кожній guest system віртуальний CPU, блок пам’яті, віртуальний диск і віртуальну мережеву карту, а потім ізолює guest systems одну від одної. На серверах найчастіше використовують KVM, Xen, Hyper-V і VMware ESXi. Сучасні hypervisor використовують розширення CPU для віртуалізації (Intel VT-x, AMD-V), тому інструкції guest system виконуються на фізичному CPU майже з нативною швидкістю, а не інтерпретуються.

Для sysadmin найважливішим є kernel. VM завантажує власний kernel, тому ви можете вибрати distribution, завантажити kernel modules і налаштувати значення sysctl, які застосовуються лише до цієї VM. Це відрізняється від container (LXC, Docker), який використовує kernel host system і отримує лише власне представлення процесів і файлів. Linux-контейнерам потрібне ядро Linux, тому на Windows і macOS Docker запускає їх усередині окремої Linux VM; як розпізнати, де закінчується контейнер і починається віртуальна машина, розбираємо в порівнянні Docker-контейнера та віртуальної машини.

Перевірити це можна на будь-якому Linux-сервері однією командою.

systemd-detect-virt

kvm означає, що ви працюєте у virtual machine на KVM hypervisor. lxc або openvz означає, що ви працюєте в container з kernel іншої системи. none означає, що підтримувану virtualization не виявлено. Якщо команда відсутня, lscpu | grep -i hypervisor покаже інформацію про hypervisor, але не визначить containers.

Що таке VPS

VPS — це комерційна оболонка навколо ізольованого сервера, найчастіше віртуальної машини. В основі лежить технологія віртуалізації, а слово «VPS» охоплює компоненти, завдяки яким послугу можна продавати: образ ОС, який можна перевстановити, IP-адресу, обсяг дозволеного трафіку, панель керування, щомісячну плату та контакт для звернення, якщо хост вийде з ладу. Слово «приватний» відрізняє VPS від shared hosting, де сотні сайтів використовують одну операційну систему та одну конфігурацію PHP.

Оскільки VPS — це назва продукту, а не технічний термін, під нею не завжди мається на увазі повноцінна VM. Деякі бюджетні плани продають контейнери під тією самою назвою, а OpenVZ — контейнерна платформа, на якій працює багато таких планів, — називає свої контейнери «також відомими як virtual private servers». Різниця стає очевидною, щойно вам знадобиться kernel. У плані на основі контейнерів використовується kernel хоста, і змінювати його не можна. sudo modprobe wireguard завершується помилкою, якщо не знаходить модуль у каталозі модулів контейнера, навіть якщо хост уже завантажив цей модуль; завантаження відсутнього модуля також потребує дозволу на зміну kernel хоста. Якщо kernel хоста не підтримує WireGuard, створення інтерфейсу (ip link add dev wg0 type wireguard) завершується помилкою RTNETLINK answers: Operation not supported. Після цього wg-quick переходить до реалізації в userspace (wireguard-go за замовчуванням), якщо її встановлено, і виводить повідомлення «Missing WireGuard kernel module. Falling back to slow userspace implementation.» Для такого резервного варіанта контейнер також має отримати дозвіл на використання пристрою TUN. Таку можливість надають не всі хости. Якщо бінарний файл userspace відсутній, wg-quick завершується з помилкою. У плані на KVM kernel належить вам: можна встановити WireGuard, завантажити модуль, якщо його ще не завантажено, налаштувати інтерфейс — і тунель запрацює. Якщо ви плануєте запускати Docker, VPN, власні kernels або віртуальні машини всередині сервера, перевірте тип віртуалізації до придбання плану. Запуск віртуальних машин усередині VPS потребує KVM із увімкненою на хості вкладеною віртуалізацією. Це ще менша група доступних планів.

Що таке VPC

VPC — це програмно визначена мережа всередині хмарного провайдера. У більшості хмарних платформ їй призначають діапазон адрес у нотації CIDR, наприклад 10.0.0.0/16, а потім виділяють із нього підмережі (Google Cloud не використовує загальний діапазон мережі: кожна регіональна підмережа має власний діапазон). До VPC підключають таблиці маршрутизації та налаштовують правила firewall (security groups) для ресурсів усередині. VPC не має CPU, пам’яті чи диска. У неї немає облікового запису для входу. Якщо видалити всі сервери у VPC, сама VPC залишиться порожньою і зазвичай безкоштовною.

VPC забезпечує приватну адресацію. Два сервери в одній VPC обмінюються даними через адреси на кшталт 10.0.1.15 у внутрішній мережі провайдера, тому цей трафік не проходить через публічний інтернет і не тарифікується як internet egress. Після цього база даних може приймати з’єднання лише на приватну адресу, і жоден порт не буде відкритий для всього світу.

ip -4 addr show

Адреса в діапазоні 10.0.0.0/8, 172.16.0.0/12 або 192.168.0.0/16 є приватною. Сама публічна адреса не робить сервер доступним з інтернету: маршрутизація та правила firewall також мають дозволяти доступ.

Чи робить VPC мій сервер приватним?

Ні. Це найдорожче непорозуміння щодо цих трьох термінів. VPC керує маршрутизацією та адресацією. VPC не визначає, чи може Інтернет підключитися до машини. Якщо інстанс має публічну IP-адресу, його підмережа має маршрут до Інтернету, а правила безпеки дозволяють підключення до порту 22 із 0.0.0.0/0, він відкритий для доступу так само, як будь-який інший сервер — незалежно від використання VPC. У VPC за замовчуванням маршрут до Інтернету вже налаштований. Ізоляція, яку надає VPC, полягає в можливості взагалі не призначати ресурсу публічну адресу, а також у налаштуванні правил, які визначають, які підмережі можуть обмінюватися трафіком.

Ці три терміни також означають різні види ізоляції. VM ізолює обчислювальні ресурси: гіпервізор розподіляє процесорний час і пам’ять, тому інша гостьова система не може читати вашу RAM. Для диска та мережі ця ізоляція слабша: активний сусід на тому самому хості все одно може знизити продуктивність. VPS на основі контейнерів використовує спільне ядро, тому помилка на рівні ядра є спільним ризиком. VPC взагалі не ізолює обчислювальні ресурси. Вона лише формує мережу.

Модель ціноутворення

VPS зазвичай продають за фіксованою щомісячною ціною для фіксованої конфігурації. Ви знаєте суму рахунка ще до початку місяця, а диск і ліміт трафіку вже включені в цю ціну. Передбачуваність — основна причина, чому для невеликого навантаження обирають VPS, а не cloud instance.

Cloud VM тарифікується за фактичне використання. За instance нараховується плата погодинно або щосекунди, а за диск, snapshots, load balancer і вихідний трафік — окремо. Сам VPC зазвичай безкоштовний, але підключені до нього керовані компоненти — ні: NAT gateway, який дає приватним instances доступ до інтернету, тарифікується погодинно, а плата за його трафік залежить від провайдера. AWS додатково стягує плату за кожен гігабайт, який обробляє NAT gateway, тоді як OVHcloud зазначає, що Public Cloud Gateway тарифікується погодинно та за використання, а трафік включено. В AWS також тарифікується трафік, який проходить між availability zones, тоді як Azure не стягує плату за трафік між своїми зонами в одному регіоні. Станом на October 27, 2026, у посібнику AWS VPC зазначено, що в кожному регіоні є default VPC, тоді як у AWS VPC FAQ вказано, що облікові записи, створені до March 18, 2013, можуть використовувати default VPC в активованих регіонах, де вони раніше не запускали EC2 instances і не створювали ресурси ELB, RDS, ElastiCache або Redshift. Видалений default VPC можна створити повторно, але не можна відновити. Google Cloud створює default network для кожного нового проєкту, якщо адміністратор не вимкнув цю функцію, а Azure створює virtual network разом із новою VM, якщо не вибрати наявну мережу. У будь-якому разі cloud VM працює в одній із таких мереж, незалежно від того, чи запитували ви її створення.

Що вам насправді потрібно

  • Один сервер для вебсайту, застосунку, game server або VPN: VPS. Перші десять хвилин на новому VPS важливіші за назву тарифу.
  • Кілька серверів, які мають взаємодіяти через приватні адреси: VPC або функція приватної мережі, яку ваш VPS-провайдер може називати інакше.
  • Навантаження, яке має пережити відмову цілого дата-центру: cloud із кількома зонами, тобто VM усередині VPC.
  • Повний контроль над kernel або власний hypervisor поверх нього: VPS на базі KVM із увімкненою nested virtualisation, якщо потрібен hypervisor, або dedicated server. Під час порівняння також перевірте тип диска, передбачений тарифом.

Для більшості проєктів з одним сервером VPC не потрібна. Функція приватної мережі, що входить до VPS, виконує те саме завдання для кількох машин.

FAQ

Чи є VPS тим самим, що й VM?

Зазвичай, але не завжди. Кожен VPS на базі KVM, Xen або VMware є віртуальною машиною, але не кожна віртуальна машина є VPS, оскільки VM, яка працює на вашому ноутбуці під керуванням VirtualBox, не є продуктом провайдера. Не кожен VPS також є VM: плани на базі OpenVZ або LXC використовують контейнери, які спільно використовують ядро хоста, а OpenVZ називає свої контейнери virtual private servers. Перш ніж розраховувати на доступ до ядра, перевірте це за допомогою systemd-detect-virt.

Чи можна розмістити VPS усередині VPC?

Зазвичай ні, оскільки VPC є конструкцією одного cloud-провайдера; AWS також підтримує спільне використання своїх підмереж між обліковими записами в межах однієї організації. VPS від незалежного провайдера працює в мережі цього провайдера. Якщо між ними потрібні приватні з’єднання, натомість створіть VPN-тунель між ними. Після цього VPS отримуватиме доступ до приватних підмереж через цей тунель.

Чому мій cloud bill вищий, ніж у еквівалентного VPS?

Вартість інстансу — лише частина витрат. У metered cloud сховище, snapshots, outbound traffic, load balancers і NAT gateways оплачуються окремими позиціями. Сам NAT gateway може коштувати на місяць дорожче, ніж невеликий VPS. VPS із фіксованою ціною включає диск і дозволений обсяг transfer в одну суму, тому те саме навантаження часто виглядає дешевшим у такій конфігурації.

Як перевірити, чи має мій сервер повноцінний доступ до ядра?

Виконайте systemd-detect-virt і прочитайте результат. kvm, xen або vmware (або amazon у новіших інстансах EC2) означають, що ви маєте власне ядро, а modprobe може завантажувати в нього модулі. lxc, lxc-libvirt або openvz означають, що ви спільно використовуєте ядро хоста; для завантаження модулів потрібні привілеї ядра хоста, тоді як параметри в просторі імен у /proc/sys, зокрема мережеві параметри, залишаються доступними для налаштування, якщо це дозволяє хост. Додатковим підтвердженням є uname -r, який на контейнерному плані часто показує версію ядра, яку ваш дистрибутив ніколи не випускав.

Чи була ця стаття корисною?

#vps#vm#vpc#cloud#basics