В чем разница между VPS, VM и VPC
Разбираем ключевые отличия терминов. VM это технология виртуализации, VPS является готовым продуктом для аренды, а VPC представляет собой изолированную сеть внутри облака.
VPS, VM и VPC в одном абзаце
VM (виртуальная машина) — это программная реализация компьютера: гипервизор разделяет один физический сервер на несколько независимых машин, каждая из которых запускает собственное ядро. VPS (виртуальный выделенный сервер) — это одна из таких виртуальных машин, предоставляемая вам как продукт с операционной системой, root-доступом и ежемесячной оплатой. VPC (виртуальное частное облако) — это вовсе не сервер. Это частная сеть, которую вы определяете внутри облачного аккаунта и в которую помещаете ресурсы. VM — это технология. VPS — это продукт. VPC — это сеть вокруг продукта.
Два из этих терминов описывают машину. Третий описывает сеть. Почти вся путаница возникает из-за этого несоответствия, так как люди сравнивают их так, будто это три продукта на одной полке.
Что такое виртуальная машина
Гипервизор — это уровень, который имитирует аппаратное обеспечение. Он предоставляет каждой гостевой системе виртуальный процессор, блок оперативной памяти, виртуальный диск и виртуальную сетевую карту, а также изолирует гостевые системы друг от друга. KVM, Xen, Hyper-V и VMware ESXi — наиболее распространенные решения на серверах. Современные гипервизоры используют аппаратные расширения виртуализации процессора (Intel VT-x, AMD-V), поэтому инструкции гостевой системы выполняются на реальном процессоре почти с нативной скоростью, а не интерпретируются.
Для системного администратора ключевым компонентом является ядро. Виртуальная машина загружает собственное ядро, поэтому вы выбираете дистрибутив, загружаете модули ядра и устанавливаете параметры sysctl, которые применяются только к вашей системе. Это отличается от контейнера (LXC, Docker), который использует общее ядро хоста и получает лишь собственное представление процессов и файлов.
Ответ можно получить на любой Linux-системе с помощью одной команды.
systemd-detect-virtkvm означает, что вы находитесь в виртуальной машине на гипервизоре KVM. lxc или openvz означают, что вы работаете в контейнере на чужом ядре. none означает, что вы работаете на «железе». Если команда отсутствует, lscpu | grep -i hypervisor показывает ту же информацию через флаги процессора.
Что такое VPS
VPS — это коммерческая оболочка для виртуальной машины (VM). В основе лежит технология виртуализации, а термин «VPS» добавляет характеристики, делающие услугу пригодной для продажи: образ ОС с возможностью переустановки, IP-адрес, лимит трафика, панель управления, ежемесячная стоимость и техническая поддержка на случай отказа хоста. Слово «Private» используется для отделения от виртуального хостинга, где сотни сайтов используют одну операционную систему и общую конфигурацию PHP.
Поскольку VPS — это название продукта, а не технический термин, он не всегда означает полноценную виртуальную машину. Некоторые бюджетные тарифы предлагают под этим названием контейнеры. Разница проявляется в момент, когда вам требуется доступ к ядру. В тарифных планах на базе контейнеров команда sudo modprobe wireguard завершается ошибкой RTNETLINK answers: Operation not supported или modprobe: FATAL: Module wireguard not found, так как ядро принадлежит хосту и его изменение запрещено. В планах на базе KVM модуль загружается, и туннель поднимается. Если вы планируете запускать Docker, VPN, собственные ядра или виртуальные машины внутри сервера, уточните тип виртуализации перед покупкой. Для запуска виртуальных машин внутри VPS требуется KVM с включенной на хосте вложенной виртуализацией (nested virtualisation), что поддерживается лишь ограниченным числом тарифных планов.
Что такое VPC
VPC — это программно-определяемая сеть внутри облачной инфраструктуры. Вы задаете для неё диапазон адресов в нотации CIDR, например 10.0.0.0/16, затем разбиваете его на подсети, подключаете таблицы маршрутизации и устанавливаете правила межсетевого экрана (группы безопасности) перед ресурсами внутри сети. У 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), балансировщик нагрузки и исходящий трафик оплачиваются отдельно. Сам VPC обычно бесплатен, но подключенные к нему управляемые компоненты — нет: NAT gateway, позволяющий приватным инстансам выходить в интернет, оплачивается за час работы и за гигабайт, также оплачивается трафик между зонами доступности. По состоянию на июль 2026 года основные облачные провайдеры по-прежнему автоматически помещают каждый новый инстанс в 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?
Цена инстанса — это лишь часть расходов. Хранилище, снимки (snapshots), исходящий трафик, балансировщики нагрузки и NAT-шлюзы — это отдельные пункты в счёте облачного провайдера, и один только NAT-шлюз может стоить в месяц больше, чем небольшой VPS. Фиксированная цена VPS включает диск и лимит трафика в одну сумму, поэтому одна и та же рабочая нагрузка там часто обходится дешевле.
Как проверить, есть ли у моего сервера реальный доступ к ядру?
Выполните systemd-detect-virt и изучите результат. kvm, xen или vmware означают, что у вас собственное ядро и modprobe будет работать. lxc, lxc-libvirt или openvz означают, что вы используете общее ядро хоста, и команды для загрузки модулей или записи в /proc/sys завершатся с ошибкой Operation not supported. Вторым способом проверки является uname -r, который в контейнерных тарифах часто сообщает версию ядра, которая никогда не поставлялась с вашим дистрибутивом.