SSD Nodes Learn Hosting plans →
가이드 Matt Connor작성자 Matt Connor · 업데이트됨 2026-08-07

VPS, VM, VPC 차이점과 개념 완벽 정리

VM은 가상화 기술, VPS는 이를 상품화한 서버, VPC는 클라우드 내 사설 네트워크입니다. 각 용어의 기술적 정의와 시스템 관리자가 반드시 알아야 할 차이점을 명확하게 설명합니다. 본인의 인프라 환경에 적합한 서비스를 선택하는 기준을 확인하십시오.

VPS, VM, VPC의 개념 정리

VM(virtual machine)은 소프트웨어로 구현된 컴퓨터입니다. 하이퍼바이저가 하나의 물리 서버를 여러 개의 독립적인 머신으로 분할하며, 각 머신은 고유한 커널을 실행합니다. VPS(virtual private server)는 이러한 가상 머신 중 하나를 운영체제, root 권한, 월 이용료가 포함된 상품 형태로 임대하는 것을 의미합니다. VPC(virtual private cloud)는 서버가 아닙니다. 이는 클라우드 계정 내에 사용자가 정의하는 사설 네트워크이며, 이 안에 리소스를 배치하게 됩니다. 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-virt

kvm는 KVM 하이퍼바이저 위에서 구동되는 가상 머신임을 의미합니다. lxc 또는 openvz는 다른 사람의 커널을 사용하는 컨테이너 환경임을 의미합니다. none는 베어메탈 서버임을 의미합니다. 만약 해당 명령어를 사용할 수 없다면, lscpu | grep -i hypervisor를 통해 CPU 플래그에서 동일한 정보를 확인할 수 있습니다.

VPS란 무엇인가

VPS는 가상 머신(VM)을 상용화한 형태입니다. 기반 기술은 가상화이며, "VPS"라는 명칭은 이를 상품화하기 위한 요소들, 즉 재설치가 가능한 OS 이미지, IP 주소, 대역폭 할당량, 제어판, 월 이용료, 그리고 호스트 장애 시 문의할 수 있는 고객 지원 등을 포함합니다. "Private"이라는 용어는 수백 개의 사이트가 하나의 운영 체제와 PHP 설정을 공유하는 공유 호스팅과 구분하기 위해 사용됩니다.

VPS는 기술 용어가 아닌 상품명이므로 항상 완전한 VM을 의미하지는 않습니다. 일부 저가형 플랜은 컨테이너 기술을 VPS라는 이름으로 판매하기도 합니다. 이러한 차이는 커널을 다뤄야 할 때 드러납니다. 컨테이너 기반 플랜에서는 sudo modprobe wireguard 명령이 RTNETLINK answers: Operation not supported 또는 modprobe: FATAL: Module wireguard not found 오류와 함께 실패하는데, 이는 호스트의 커널을 공유하므로 사용자가 이를 변경할 수 없기 때문입니다. 반면 KVM 플랜에서는 모듈이 로드되고 터널이 정상적으로 생성됩니다. Docker, VPN, 커스텀 커널을 실행하거나 서버 내부에서 직접 가상 머신을 구동할 계획이라면 구매 전에 가상화 유형을 확인해야 합니다. VPS 내부에서 가상 머신 실행을 위해서는 호스트에서 중첩 가상화(nested virtualisation)가 활성화된 KVM 환경이 필요하며, 이는 지원하는 플랜이 더욱 제한적입니다.

VPC란 무엇인가

VPC는 클라우드 공급자 내부의 소프트웨어 정의 네트워크입니다. 10.0.0.0/16과 같은 CIDR 표기법으로 주소 범위를 지정한 뒤, 서브넷을 나누고 라우팅 테이블을 연결하며 내부 리소스 앞에 방화벽 규칙(보안 그룹)을 배치합니다. 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는 라우팅과 주소 지정을 제어할 뿐, 인터넷이 해당 머신에 접근할 수 있는지 여부를 결정하지 않습니다. 인스턴스에 공인 IP가 할당되어 있고 보안 규칙이 0.0.0.0/0에서 포트 22로의 접근을 허용한다면, VPC 사용 여부와 관계없이 다른 서버와 동일하게 외부로 노출됩니다. VPC를 통해 얻는 격리란 리소스에 공인 주소를 전혀 부여하지 않을 수 있다는 점과, 어떤 서브넷이 어떤 서브넷과 통신할 수 있는지 정의하는 규칙을 설정할 수 있다는 점입니다.

또한 이 세 가지 용어는 서로 다른 종류의 격리를 보장합니다. VM은 컴퓨팅 자원을 격리합니다. 하이퍼바이저가 CPU 시간과 메모리를 분리하므로 다른 게스트가 사용자의 RAM을 읽을 수 없습니다. 하지만 디스크와 네트워크 측면에서의 격리는 상대적으로 약하며, 같은 호스트를 사용하는 이웃 인스턴스의 부하가 높으면 성능 저하가 발생할 수 있습니다. 컨테이너 기반 VPS는 하나의 커널을 공유하므로 커널 수준의 버그가 발생하면 위험을 공유하게 됩니다. VPC는 컴퓨팅 자원에 대해서는 전혀 격리 기능을 제공하지 않으며, 오직 네트워크 구조만을 제어합니다.

가격 책정의 사고방식

VPS는 일반적으로 고정된 사양의 장비에 대해 매달 고정된 금액으로 판매됩니다. 월이 시작되기 전에 청구 금액을 알 수 있으며, 디스크와 데이터 전송 허용량이 요금에 포함되어 있습니다. 이러한 예측 가능성이 소규모 워크로드 운영 시 클라우드 인스턴스 대신 VPS를 선택하는 주된 이유입니다.

클라우드 VM은 사용량 기반으로 과금됩니다. 인스턴스는 시간당 또는 초당 요금이 부과되며, 디스크, 스냅샷, 로드 밸런서, 아웃바운드 트래픽은 별도로 청구됩니다. VPC 자체는 보통 무료이지만, 여기에 연결된 관리형 구성 요소는 그렇지 않습니다. 프라이빗 인스턴스가 인터넷에 접속할 수 있게 해주는 NAT gateway는 시간당 및 기가바이트당 요금이 부과되며, 가용 영역 간 트래픽에도 비용이 발생합니다. 2026년 7월 기준으로 주요 클라우드 서비스는 여전히 모든 새 인스턴스를 기본 VPC에 자동으로 배치하므로, 사용자가 요청했는지 여부와 관계없이 VPC를 사용하게 됩니다.

실제로 필요한 것은 무엇인가

  • 웹사이트, 애플리케이션, 게임 서버 또는 VPN을 위한 서버 한 대: VPS가 적합합니다. 새 VPS에서의 첫 10분은 요금제 명칭보다 훨씬 중요합니다.
  • 사설 주소로 서로 통신해야 하는 여러 대의 서버: VPC 또는 VPS 제공업체가 다른 이름으로 제공하는 사설 네트워크 기능이 필요합니다.
  • 데이터센터 전체가 마비되어도 생존해야 하는 워크로드: 여러 영역(zone)을 갖춘 클라우드 환경, 즉 VPC 내부의 VM이 필요합니다.
  • 커널에 대한 완전한 제어권 또는 그 위에 직접 하이퍼바이저를 올리는 경우: KVM 기반 VPS나 전용 서버(dedicated server)가 필요하며, 비교 시 요금제 이면의 디스크 유형을 확인해야 합니다.

대부분의 단일 서버 프로젝트는 VPC가 필요하지 않습니다. VPS와 함께 제공되는 사설 네트워크 기능만으로도 소규모 서버 군의 요구사항을 충분히 해결할 수 있습니다.

FAQ

VPS와 VM은 같은 것입니까?

VPS는 누군가에게 구매하는 VM입니다. KVM, Xen 또는 VMware 기반의 모든 VPS는 가상 머신이지만, 모든 가상 머신이 VPS인 것은 아닙니다. 예를 들어 VirtualBox를 사용하여 노트북에서 실행하는 VM은 상품이 아니기 때문입니다. VPS라고 표시된 일부 저가형 플랜은 완전한 VM이 아니라 컨테이너인 경우가 있으므로, 커널 접근 권한이 필요하다면 systemd-detect-virt을 통해 확인하십시오.

VPC 안에 VPS를 넣을 수 있습니까?

일반적으로는 불가능합니다. VPC는 특정 클라우드 제공업체의 구성 요소이며, 동일한 계정 내에서 생성된 리소스만 포함할 수 있기 때문입니다. 독립적인 제공업체의 VPS는 해당 제공업체의 네트워크에서 실행됩니다. 두 환경 사이에 사설 연결이 필요하다면 대신 VPN 터널을 구축해야 하며, VPS는 해당 터널을 통해 사설 서브넷에 접근하게 됩니다.

왜 클라우드 비용이 동일한 사양의 VPS보다 더 많이 나옵니까?

인스턴스 가격은 전체 비용의 일부일 뿐입니다. 종량제 클라우드에서는 스토리지, 스냅샷, 아웃바운드 트래픽, 로드 밸런서, NAT 게이트웨이가 별도의 항목으로 청구되며, NAT 게이트웨이 하나만으로도 소형 VPS의 월 비용보다 더 많은 비용이 발생할 수 있습니다. 고정 가격제 VPS는 디스크와 데이터 전송 허용량을 하나의 금액에 포함하므로, 동일한 워크로드라도 VPS에서 운영하는 것이 더 저렴해 보이는 경우가 많습니다.

서버에 실제 커널 접근 권한이 있는지 어떻게 확인합니까?

systemd-detect-virt을 실행하고 결과를 확인하십시오. kvm, xen 또는 vmware이 출력되면 자체 커널을 사용 중인 것이며 modprobe이 정상 작동합니다. lxc, lxc-libvirt 또는 openvz가 출력되면 호스트 커널을 공유하는 상태이며, 모듈을 로드하거나 /proc/sys에 쓰기를 시도하는 명령은 Operation not supported 오류와 함께 실패합니다. 두 번째 확인 방법은 uname -r을 사용하는 것인데, 컨테이너 플랜에서는 해당 배포판에서 제공한 적 없는 커널 버전이 보고되는 경우가 많습니다.

#vps#vm#vpc#cloud#basics