SSD Nodes Learn Hosting plans →
คู่มือ Matt Connorโดย Matt Connor · อัปเดตเมื่อ 2026-10-28

VPS, VM และ VPC ต่างกันอย่างไร สรุปความหมายที่ถูกต้อง

ทำความเข้าใจความแตกต่างของ VM, VPS และ VPC ให้ชัดเจน VM คือเทคโนโลยีจำลองเครื่อง VPS คือบริการเช่าเซิร์ฟเวอร์ และ VPC คือเครือข่ายส่วนตัวบนคลาวด์ที่คุณต้องกำหนดค่าเอง

VPS, VM และ VPC ในย่อหน้าเดียว

VM (virtual machine) คือคอมพิวเตอร์ที่สร้างขึ้นจากซอฟต์แวร์ โดย hypervisor จะแบ่งเซิร์ฟเวอร์ทางกายภาพหนึ่งเครื่องออกเป็นเครื่องอิสระหลายเครื่อง และแต่ละเครื่องจะรัน kernel ของตนเอง ส่วน VPS (virtual private server) คือเซิร์ฟเวอร์ที่คุณเช่าในฐานะผลิตภัณฑ์ ซึ่งมาพร้อมกับระบบปฏิบัติการ โดยปกติจะมีสิทธิ์ root และมีราคาแบบรายเดือน แผนบริการ VPS ส่วนใหญ่เป็น virtual machine แต่ผู้ให้บริการบางรายอาจขาย container ที่ใช้ kernel ร่วมกับโฮสต์ภายใต้ชื่อเดียวกันนี้ ส่วน VPC (virtual private cloud) ไม่ใช่เซิร์ฟเวอร์ แต่เป็นเครือข่ายส่วนตัวที่คุณกำหนดขึ้นภายในบัญชีคลาวด์เพื่อนำทรัพยากรต่างๆ ไปวางไว้ข้างใน VM คือเทคโนโลยีที่ใช้กันทั่วไป VPS คือผลิตภัณฑ์ และ VPC คือเครือข่ายที่ล้อมรอบผลิตภัณฑ์นั้น

คำศัพท์สองคำนี้อธิบายถึงตัวเครื่อง ส่วนคำที่สามอธิบายถึงเครือข่าย ความสับสนเกือบทั้งหมดเกิดจากความไม่สอดคล้องกันนี้ เนื่องจากผู้คนมักเปรียบเทียบคำเหล่านี้เสมือนว่าเป็นผลิตภัณฑ์สามอย่างที่วางอยู่บนชั้นเดียวกัน

VM คืออะไร

Hypervisor คือเลเยอร์ที่ทำหน้าที่จำลองฮาร์ดแวร์ โดยจะจัดสรร CPU เสมือน, หน่วยความจำ, ดิสก์เสมือน และการ์ดเครือข่ายเสมือนให้กับ Guest แต่ละตัว พร้อมทั้งป้องกันไม่ให้ Guest มองเห็นกันเอง KVM, Xen, Hyper-V และ VMware ESXi เป็นซอฟต์แวร์ที่นิยมใช้บนเซิร์ฟเวอร์ Hypervisor สมัยใหม่จะอาศัยส่วนขยายการทำ Virtualization ของ CPU (Intel VT-x, AMD-V) เพื่อให้คำสั่งของ Guest ทำงานบน CPU จริงด้วยความเร็วใกล้เคียงกับเครื่องปกติ แทนที่จะใช้วิธีการตีความคำสั่ง (interpreted)

ส่วนที่สำคัญสำหรับผู้ดูแลระบบคือ Kernel เนื่องจาก VM จะบูต Kernel ของตัวเอง คุณจึงสามารถเลือก Distribution, โหลด Kernel module และตั้งค่า sysctl ที่มีผลเฉพาะกับ VM ของคุณได้ ซึ่งแตกต่างจาก Container (LXC, Docker) ที่ใช้ Kernel ร่วมกับ Host และได้รับเพียงมุมมองของ Process และไฟล์ในส่วนของตนเองเท่านั้น

คุณสามารถตรวจสอบคำตอบได้บนเครื่อง Linux ทุกเครื่องด้วยคำสั่งเดียว

systemd-detect-virt

kvm หมายความว่าคุณกำลังใช้งาน Virtual Machine บน Hypervisor แบบ KVM ส่วน lxc หรือ openvz หมายความว่าคุณอยู่ใน Container ที่ใช้ Kernel ของผู้อื่น และ none หมายความว่าไม่พบการทำ Virtualization ที่รองรับ หากไม่มีคำสั่งดังกล่าว lscpu | grep -i hypervisor จะแสดงข้อมูลของ Hypervisor แต่จะไม่ระบุว่าเป็น Container

VPS คืออะไร

VPS เป็นผลิตภัณฑ์เชิงพาณิชย์ที่ครอบคลุมเซิร์ฟเวอร์แบบแยกส่วน ซึ่งส่วนใหญ่มักเป็น VM เทคโนโลยีเบื้องหลังคือการทำ virtualisation ส่วนคำว่า "VPS" ถูกเพิ่มเข้ามาเพื่อสร้างมูลค่าทางการค้า ได้แก่ อิมเมจ OS ที่คุณสามารถติดตั้งใหม่ได้, หมายเลข IP, ปริมาณ bandwidth ที่ได้รับ, แผงควบคุม, ราคาต่อเดือน และช่องทางติดต่อผู้ให้บริการเมื่อโฮสต์เกิดปัญหา คำว่า "Private" มีไว้เพื่อแยกความแตกต่างจาก shared hosting ซึ่งเป็นรูปแบบที่เว็บไซต์หลายร้อยแห่งใช้ระบบปฏิบัติการและค่าคอนฟิก PHP ชุดเดียวกัน

เนื่องจาก VPS เป็นชื่อผลิตภัณฑ์ไม่ใช่ศัพท์ทางเทคนิค จึงไม่ได้หมายความว่าเป็น VM เต็มรูปแบบเสมอไป แผนบริการราคาประหยัดบางแห่งขาย container ภายใต้ชื่อเดียวกัน และ OpenVZ ซึ่งเป็นแพลตฟอร์ม container ที่อยู่เบื้องหลังบริการเหล่านั้นจำนวนมาก ก็ระบุว่า container ของตน "เรียกอีกอย่างว่า virtual private servers" ความแตกต่างจะปรากฏชัดเมื่อคุณจำเป็นต้องใช้งาน kernel ในแผนบริการแบบ container นั้น kernel จะเป็นของโฮสต์และคุณไม่ได้รับอนุญาตให้เปลี่ยนแปลง sudo modprobe wireguard จะล้มเหลวหากไม่พบโมดูลในไดเรกทอรีโมดูลของ container แม้ว่าโฮสต์จะโหลดโมดูลนั้นไว้แล้วก็ตาม การโหลดโมดูลที่ขาดหายไปจำเป็นต้องได้รับสิทธิ์ในการแก้ไข 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." การทำงานสำรองดังกล่าวจำเป็นต้องให้ container ได้รับอนุญาตให้ใช้งานอุปกรณ์ TUN ซึ่งไม่ใช่ทุกโฮสต์ที่จะอนุญาต และหากไม่มีไบนารีสำหรับ userspace ตัว wg-quick จะหยุดทำงานพร้อมข้อความแจ้งเตือนความผิดพลาด ในแผนบริการแบบ KVM นั้น kernel เป็นของคุณเอง คุณสามารถติดตั้ง WireGuard, โหลดโมดูลหากยังไม่ได้โหลด, ตั้งค่าอินเทอร์เฟซ และ tunnel จะเริ่มทำงาน หากคุณวางแผนที่จะรัน Docker, VPN, kernel แบบปรับแต่งเอง หรือ virtual machine ของคุณเองภายในเซิร์ฟเวอร์ ให้ตรวจสอบประเภทของ virtualisation ก่อนตัดสินใจซื้อ การรัน virtual machines ภายใน VPS จำเป็นต้องใช้ KVM ที่เปิดใช้งาน nested virtualisation ที่ฝั่งโฮสต์ ซึ่งเป็นกลุ่มแผนบริการที่มีให้เลือกน้อยกว่า

VPC คืออะไร

VPC คือเครือข่ายที่กำหนดด้วยซอฟต์แวร์ภายในผู้ให้บริการคลาวด์ ในคลาวด์ส่วนใหญ่ คุณต้องกำหนดช่วงที่อยู่ IP ในรูปแบบ CIDR เช่น 10.0.0.0/16 จากนั้นจึงแบ่งเป็น subnet ย่อยๆ (Google Cloud จะข้ามการกำหนดช่วงเครือข่ายแบบกว้าง และให้แต่ละ regional subnet มีช่วง IP ของตนเอง) คุณสามารถแนบตารางเส้นทาง (route tables) และกำหนดกฎไฟร์วอลล์ (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 ถือเป็นที่อยู่ส่วนตัว การมีที่อยู่สาธารณะเพียงอย่างเดียวไม่ได้ทำให้เซิร์ฟเวอร์เข้าถึงได้จากอินเทอร์เน็ต แต่การกำหนดเส้นทาง (routing) และกฎไฟร์วอลล์จะต้องอนุญาตให้เข้าถึงได้ด้วยเช่นกัน

VPC ทำให้เซิร์ฟเวอร์ของฉันเป็นส่วนตัวหรือไม่?

ไม่ และนี่คือความเข้าใจผิดที่สร้างความเสียหายมากที่สุดในบรรดาสามคำศัพท์นี้ VPC ทำหน้าที่ควบคุมการกำหนดเส้นทาง (routing) และการกำหนดที่อยู่ (addressing) เท่านั้น มันไม่ได้เป็นตัวตัดสินว่าอินเทอร์เน็ตจะเข้าถึงเครื่องได้หรือไม่ หาก instance มี public IP, subnet มีเส้นทางเชื่อมต่อไปยังอินเทอร์เน็ต และกฎความปลอดภัยอนุญาตให้เข้าถึงพอร์ต 22 จาก 0.0.0.0/0 ได้ เซิร์ฟเวอร์นั้นก็จะถูกเปิดเผยต่อสาธารณะไม่ต่างจากเซิร์ฟเวอร์อื่น ไม่ว่าจะมี VPC หรือไม่ก็ตาม ใน VPC ค่าเริ่มต้น เส้นทางที่เชื่อมต่อไปยังอินเทอร์เน็ตนั้นถูกตั้งค่าไว้เรียบร้อยแล้ว การแยกส่วน (isolation) ที่คุณได้รับจาก VPC คือความสามารถในการกำหนดให้ทรัพยากรไม่มี public address เลย รวมถึงการตั้งกฎว่า subnet ใดสามารถสื่อสารกับ subnet ใดได้บ้าง

คำศัพท์ทั้งสามคำนี้ยังให้คำมั่นสัญญาถึงการแยกส่วนในรูปแบบที่แตกต่างกัน VM ทำการแยกส่วนในระดับการประมวลผล (compute): hypervisor จะแยกเวลา CPU และหน่วยความจำออกจากกัน เพื่อไม่ให้ guest อื่นสามารถอ่าน RAM ของคุณได้ การแยกส่วนนี้จะอ่อนกว่าในส่วนของ disk และเครือข่าย ซึ่งเพื่อนบ้านที่ใช้งานหนักบน host เดียวกันยังคงทำให้ประสิทธิภาพของคุณลดลงได้ VPS ที่ใช้ container จะใช้ kernel ร่วมกัน ดังนั้นข้อผิดพลาดในระดับ kernel จึงเป็นความเสี่ยงที่ใช้ร่วมกัน ส่วน VPC ไม่ได้แยกส่วนในด้านการประมวลผลเลย มันทำหน้าที่เพียงจัดรูปแบบเครือข่ายเท่านั้น

รูปแบบความคิดด้านราคา

โดยปกติแล้ว VPS จะขายในราคาคงที่ต่อเดือนสำหรับเครื่องที่กำหนดไว้ คุณจะทราบยอดค่าใช้จ่ายก่อนเริ่มเดือน และค่าดิสก์รวมถึงโควตาการรับส่งข้อมูลจะรวมอยู่ในนั้นแล้ว ความสามารถในการคาดการณ์นี้เป็นเหตุผลหลักที่ผู้คนเลือกใช้ VPS แทน cloud instance สำหรับภาระงานขนาดเล็ก

Cloud VM จะคิดค่าบริการตามการใช้งานจริง โดย instance จะคิดค่าบริการเป็นรายชั่วโมงหรือรายวินาที ส่วนดิสก์, snapshot, load balancer และการรับส่งข้อมูลขาออกจะถูกคิดแยกต่างหาก ตัว VPC เองโดยปกติจะไม่มีค่าใช้จ่าย แต่ส่วนประกอบที่มีการจัดการที่เชื่อมต่ออยู่จะมีค่าใช้จ่าย เช่น NAT gateway ที่ช่วยให้ private instance เข้าถึงอินเทอร์เน็ตได้จะคิดค่าบริการเป็นรายชั่วโมง และวิธีการคิดค่าบริการการรับส่งข้อมูลจะขึ้นอยู่กับผู้ให้บริการ AWS จะคิดค่าบริการเพิ่มสำหรับข้อมูลทุกกิกะไบต์ที่ NAT gateway ประมวลผล ในขณะที่ OVHcloud ระบุว่า Public Cloud Gateway จะคิดค่าบริการเป็นรายชั่วโมงและตามการใช้งาน โดยรวมค่ารับส่งข้อมูลไว้แล้ว สำหรับ AWS การรับส่งข้อมูลที่ข้าม availability zones จะถูกคิดค่าบริการด้วย ในขณะที่ Azure ไม่คิดค่าบริการสำหรับการรับส่งข้อมูลระหว่างโซนภายในภูมิภาคเดียวกัน ณ วันที่ 27 ตุลาคม 2026 คู่มือ AWS VPC ระบุว่าคุณจะมี default VPC ในแต่ละภูมิภาค ในขณะที่ AWS VPC FAQ ระบุว่าบัญชีที่สร้างก่อนวันที่ 18 มีนาคม 2013 สามารถใช้ default VPC ในภูมิภาคที่เปิดใช้งานซึ่งพวกเขาไม่เคยเปิดใช้งาน EC2 instance หรือจัดเตรียมทรัพยากร ELB, RDS, ElastiCache หรือ Redshift มาก่อน default VPC ที่ถูกลบไปแล้วสามารถสร้างใหม่ได้แต่ไม่สามารถกู้คืนได้ Google Cloud จะกำหนดเครือข่ายเริ่มต้นให้กับทุกโปรเจกต์ใหม่เว้นแต่ผู้ดูแลระบบจะปิดใช้งาน และ Azure จะสร้าง virtual network ควบคู่ไปกับ VM ใหม่หากคุณไม่ได้เลือกเครือข่ายที่มีอยู่เดิม ไม่ว่าจะด้วยวิธีใด cloud VM ของคุณจะอยู่ในเครือข่ายเหล่านี้ไม่ว่าคุณจะต้องการหรือไม่ก็ตาม

คุณจำเป็นต้องใช้แบบใดกันแน่

  • เซิร์ฟเวอร์เดียวสำหรับเว็บไซต์, แอปพลิเคชัน, เซิร์ฟเวอร์เกม หรือ VPN: ให้ใช้ VPS โดย สิบนาทีแรกบน VPS ใหม่ นั้นมีความสำคัญมากกว่าชื่อเรียกของแพ็กเกจ
  • เซิร์ฟเวอร์หลายเครื่องที่ต้องติดต่อสื่อสารกันผ่าน private address: ให้ใช้ VPC หรือฟีเจอร์เครือข่ายส่วนตัวที่ผู้ให้บริการ VPS ของคุณนำเสนอภายใต้ชื่ออื่น
  • เวิร์กโหลดที่ต้องทำงานได้ต่อเนื่องแม้ศูนย์ข้อมูลทั้งแห่งจะล่ม: ให้ใช้ระบบคลาวด์ที่มีหลายโซน ซึ่งหมายถึงการใช้ VM ภายใน VPC
  • การควบคุม kernel อย่างเต็มรูปแบบ หรือการติดตั้ง hypervisor ของคุณเอง: ให้ใช้ VPS ที่อิงตาม KVM (โดยเปิดใช้งาน nested virtualisation หากคุณต้องการรัน hypervisor) หรือเซิร์ฟเวอร์แบบ dedicated และควรตรวจสอบ ประเภทของดิสก์ที่อยู่เบื้องหลังแพ็กเกจ ในขณะที่คุณเปรียบเทียบ

โปรเจกต์ที่ใช้เซิร์ฟเวอร์เดียวส่วนใหญ่ไม่จำเป็นต้องใช้ VPC ฟีเจอร์เครือข่ายส่วนตัวที่มาพร้อมกับ VPS ก็เพียงพอสำหรับการใช้งานกับเครื่องจำนวนไม่กี่เครื่องแล้ว

FAQ

VPS เหมือนกับ VM หรือไม่?

โดยปกติแล้วใช่ แต่ไม่ใช่เสมอไป VPS ทุกตัวที่สร้างบน KVM, Xen หรือ VMware คือ virtual machine แต่ไม่ใช่ virtual machine ทุกตัวจะเป็น VPS เพราะ VM ที่รันบนแล็ปท็อปของคุณผ่าน VirtualBox ไม่ใช่ผลิตภัณฑ์ของใคร และไม่ใช่ VPS ทุกตัวจะเป็น VM เช่นกัน แผนบริการที่สร้างบน OpenVZ หรือ LXC คือ container ที่ใช้ kernel ร่วมกับ host และตัว OpenVZ เองก็เรียก container ของตนว่า virtual private servers โปรดตรวจสอบกับ systemd-detect-virt ก่อนที่คุณจะพึ่งพาการเข้าถึง kernel

ฉันสามารถนำ VPS ไปไว้ใน VPC ได้หรือไม่?

โดยปกติไม่ได้ เพราะ VPC เป็นโครงสร้างของผู้ให้บริการคลาวด์รายหนึ่งๆ เท่านั้น AWS ยังรองรับการแชร์ subnet ข้ามบัญชีภายในองค์กรเดียวกันได้ แต่ VPS จากผู้ให้บริการอิสระจะอยู่บนเครือข่ายของผู้ให้บริการรายนั้น หากคุณต้องการการเชื่อมต่อส่วนตัวระหว่างทั้งสอง คุณต้องสร้าง VPN tunnel เชื่อมต่อระหว่างกันแทน แล้ว VPS จึงจะสามารถเข้าถึง private subnet ผ่านทางนั้นได้

ทำไมค่าใช้จ่ายคลาวด์ของฉันถึงสูงกว่า VPS ที่มีสเปกเท่ากัน?

ราคา instance เป็นเพียงส่วนหนึ่งเท่านั้น พื้นที่จัดเก็บข้อมูล, snapshot, ปริมาณการรับส่งข้อมูลขาออก, load balancer และ NAT gateway เป็นรายการค่าใช้จ่ายแยกต่างหากในระบบคลาวด์แบบคิดเงินตามการใช้งานจริง และเฉพาะค่า NAT gateway เพียงอย่างเดียวอาจมีราคาสูงกว่า VPS ขนาดเล็กต่อเดือนเสียอีก VPS ที่มีราคาคงที่นั้นรวมค่าดิสก์และโควตาการรับส่งข้อมูลไว้ในตัวเลขเดียว ซึ่งเป็นเหตุผลว่าทำไม workload เดียวกันจึงมักดูมีราคาถูกกว่าเมื่อรันบน VPS

ฉันจะตรวจสอบได้อย่างไรว่าเซิร์ฟเวอร์ของฉันมีการเข้าถึง kernel จริงหรือไม่?

รันคำสั่ง systemd-detect-virt แล้วอ่านผลลัพธ์ที่ได้ หากเป็น kvm, xen หรือ vmware (หรือ amazon บน EC2 instance รุ่นใหม่) หมายความว่าคุณมี kernel ของตัวเองและ modprobe สามารถโหลดโมดูลเข้าไปได้ หากเป็น lxc, lxc-libvirt หรือ openvz หมายความว่าคุณใช้ kernel ร่วมกับ host การโหลดโมดูลจำเป็นต้องได้รับสิทธิ์ระดับ host kernel ในขณะที่การตั้งค่าแบบ namespaced ภายใต้ /proc/sys รวมถึงการตั้งค่าเครือข่าย ยังคงสามารถกำหนดค่าได้หาก host อนุญาต การยืนยันอีกวิธีหนึ่งคือ uname -r ซึ่งบนแผนบริการแบบ container มักจะแสดงเวอร์ชัน kernel ที่ distribution ของคุณไม่เคยจัดส่งมาให้

บทความนี้มีประโยชน์หรือไม่

#vps#vm#vpc#cloud#basics