VPS คืออะไร อธิบายการทำงานแบบเข้าใจง่ายสำหรับมือใหม่
VPS คือการแบ่งเซิร์ฟเวอร์จริงด้วยเทคโนโลยี hypervisor เพื่อให้คุณได้รับสิทธิ์ root และทรัพยากรส่วนตัว เรียนรู้ข้อดีและข้อจำกัดของการใช้งานเซิร์ฟเวอร์เสมือนจริงก่อนเริ่มเช่าใช้งานจริง
VPS คืออะไร
VPS (virtual private server) คือส่วนหนึ่งของคอมพิวเตอร์จริงในศูนย์ข้อมูลที่ถูกแบ่งออกมาให้คุณเช่าเสมือนเป็นเครื่องคอมพิวเตอร์ทั้งเครื่องของคุณเอง ซอฟต์แวร์บนคอมพิวเตอร์เครื่องนั้นจะแบ่งทรัพยากรออกเป็นเซิร์ฟเวอร์อิสระหลายเครื่อง และคุณจะได้รับหนึ่งในนั้น โดยคุณจะมีหน่วยความจำ พื้นที่จัดเก็บข้อมูล หมายเลข IP และสิทธิ์ root เป็นของตนเอง ซึ่งช่วยให้คุณติดตั้งซอฟต์แวร์ใดๆ ก็ได้ตามต้องการ เซิร์ฟเวอร์นี้จะทำงานตลอดเวลาและตอบสนองต่อคำขอผ่านที่อยู่สาธารณะบนอินเทอร์เน็ต
เมื่อแยกคำทั้งสามคำออกจากกัน ผลิตภัณฑ์นี้จะอธิบายตัวมันเองได้ชัดเจน Server คือคอมพิวเตอร์ที่เปิดทำงานตลอดเวลาและคอยตอบสนองต่อคำขอผ่านเครือข่าย Virtual หมายถึงสิ่งที่ถูกสร้างขึ้นด้วยซอฟต์แวร์ เซิร์ฟเวอร์ของคุณคือส่วนหนึ่งที่ถูกแบ่งออกมาจากเครื่องจริงขนาดใหญ่ Private หมายถึงส่วนที่แบ่งออกมานั้นเป็นของคุณเพียงผู้เดียว ไฟล์และโปรแกรมที่คุณรันอยู่จะไม่สามารถมองเห็นได้โดยผู้ที่เช่าพื้นที่ส่วนอื่นที่อยู่ติดกับคุณ
หากคุณไม่เคยมีสิทธิ์ root บนระบบใดมาก่อน ส่วนสุดท้ายนี้คือส่วนที่สำคัญที่สุด VPS เป็นโฮสติ้งประเภทแรกที่คุณทำหน้าที่เป็นผู้ดูแลระบบของเครื่องนั้น ไม่มีสิ่งใดถูกตั้งค่าไว้ให้คุณล่วงหน้า และไม่มีสิ่งใดมาขัดขวางการทำงานของคุณเช่นกัน
สิ่งที่ hypervisor แบ่งส่วนและสิ่งที่ใช้ร่วมกัน
โปรแกรมที่ทำหน้าที่แบ่งทรัพยากรเรียกว่า hypervisor ซึ่งทำงานอยู่บนเครื่องจริงที่เรียกว่า host ในแต่ละลูกค้า hypervisor จะจัดสรรฮาร์ดแวร์จำลองให้ ได้แก่ หน่วยประมวลผล, หน่วยความจำ, ดิสก์ และการ์ดเครือข่าย ระบบปฏิบัติการจะถูกติดตั้งลงบนฮาร์ดแวร์จำลองนั้นและบูตขึ้นมาเสมือนว่าเป็นเจ้าของคอมพิวเตอร์จริง ระบบ guest นั้นก็คือ VPS ของคุณ โดยทั่วไป KVM (kernel-based virtual machine) จะเป็น hypervisor ที่ใช้บน Linux host ส่วน Xen, VMware ESXi และ Microsoft Hyper-V ก็ทำหน้าที่ในลักษณะเดียวกัน
หน่วยความจำและดิสก์จะถูกแบ่งด้วยพื้นที่ ส่วนหน่วยประมวลผลจะถูกแบ่งด้วยเวลา ความแตกต่างเพียงจุดนี้อธิบายถึงสิ่งที่มักทำให้ผู้ใช้งานประหลาดใจในภายหลังได้เกือบทั้งหมด หน่วยความจำที่ถูกจัดสรรให้คุณคือหน่วยความจำที่ guest รายอื่นไม่สามารถนำไปใช้ได้ ดิสก์ของคุณคือไฟล์หรือ logical volume บนพื้นที่จัดเก็บข้อมูลของ host และจะเป็นของคุณจนกว่าคุณจะลบมันทิ้ง ส่วน virtual core ของคุณคือคิวที่รอเข้าใช้งาน core จริงของ host โดย hypervisor จะเป็นผู้ตัดสินใจนับพันครั้งต่อวินาทีว่า guest รายใดจะได้ทำงานต่อไป
คำสั่งเดียวสามารถบอกคุณได้ว่าคุณซื้อบริการเวอร์ชวลไลเซชันประเภทใดมา
systemd-detect-virt
uname -rsystemd-detect-virt จะแสดงผลเป็น kvm บน VPS ปกติ ซึ่งหมายความว่ามี hypervisor เต็มรูปแบบที่บูต kernel ซึ่งเป็นของคุณเพียงผู้เดียว มันจะแสดงผลเป็น lxc, openvz หรือ container ในกรณีที่เป็น container virtualisation ซึ่งเซิร์ฟเวอร์ของคุณเป็นเพียงพื้นที่ที่ถูกกั้นไว้ภายในระบบปฏิบัติการของ host เอง และมีการใช้ kernel ร่วมกับลูกค้ารายอื่นทั้งหมดบนเครื่องนั้น และจะแสดงผลเป็น none บน bare metal ความแตกต่างนี้ส่งผลกระทบอย่างแท้จริง เพราะ kernel ที่ใช้ร่วมกันคือ kernel ที่คุณไม่สามารถเปลี่ยนแปลงได้ คุณไม่สามารถโหลดโมดูลเพิ่มเติมได้ ดังนั้นฟีเจอร์ระดับ kernel เช่น โมดูล WireGuard VPN จะล้มเหลวด้วยข้อผิดพลาด Operation not supported และ uname -r จะรายงานเวอร์ชันที่คุณไม่ได้เลือกและไม่สามารถอัปเกรดได้
คำว่า virtual ในบริบทนี้หมายถึงอะไร
เนื่องจากเซิร์ฟเวอร์ถูกสร้างขึ้นจากซอฟต์แวร์ มันจึงพร้อมใช้งานภายในเวลาประมาณหนึ่งนาทีหลังจากที่คุณชำระเงิน โดยไม่มีใครต้องมาติดตั้งฮาร์ดแวร์ให้คุณ เซิร์ฟเวอร์ถูกสร้างขึ้นจากอิมเมจต้นแบบ ดังนั้นการสร้างใหม่ (rebuild) จึงทำให้คุณได้ Ubuntu ที่สะอาดกลับมาภายในเวลาไม่กี่นาที และความผิดพลาดที่อาจทำให้การติดตั้งบนฮาร์ดแวร์จริงเสียหาย จะทำให้คุณเสียเวลาอย่างมากที่สุดเพียงแค่ช่วงบ่าย แผงควบคุมของผู้ให้บริการส่วนใหญ่ยังสามารถทำ snapshot ของดิสก์ก่อนที่คุณจะทดลองสิ่งที่เสี่ยงได้ สามารถปรับขนาดแผนบริการด้วยการรีบูต และย้าย guest ของคุณไปยังฮาร์ดแวร์อื่นเมื่อโฮสต์ที่อยู่เบื้องล่างจำเป็นต้องได้รับการบำรุงรักษา
ราคาที่เกิดขึ้นมาจากข้อเท็จจริงเดียวกันนี้ คือเครื่องฮาร์ดแวร์หนึ่งเครื่องถูกจ่ายค่าเช่าโดยลูกค้าหลายรายพร้อมกัน ซึ่งเป็นเหตุผลว่าทำไม VPS จึงมีราคาเท่าที่เห็น เมื่อเทียบกับการเช่าเซิร์ฟเวอร์ทั้งเครื่อง
ต้นทุนมาพร้อมกับผลประโยชน์ ฮาร์ดแวร์ที่อยู่เบื้องล่างถูกใช้งานร่วมกัน ดังนั้นเพื่อนบ้านที่ใช้งานหนักจึงกลายเป็นปัญหาของคุณด้วยเช่นกัน ส่วนของข้อจำกัดด้านล่างมีคำสั่งที่ใช้สำหรับวัดค่าดังกล่าว
คำว่า private ในบริบทนี้หมายถึงอะไร
Private หมายถึงการแยกส่วน (isolation) ซึ่งควรระบุให้ชัดเจนว่าแยกส่วนในระดับใด คุณจะได้รับ kernel ของตัวเอง, root filesystem ของตัวเอง, บัญชีผู้ใช้ของตัวเอง, รายการ process ของตัวเอง, กฎ firewall ของตัวเอง และ IP address ของตัวเอง ลูกค้ารายอื่นที่อยู่บน host เดียวกันไม่สามารถดูรายการ process หรืออ่านไฟล์ของคุณได้ เนื่องจาก guest ของพวกเขาไม่มีเส้นทางเข้าถึงหน่วยความจำหรือ virtual disk ของคุณ ทั้งสองเป็นระบบปฏิบัติการที่แยกจากกันโดยสิ้นเชิงเพียงแค่ใช้แหล่งจ่ายไฟร่วมกันเท่านั้น อย่างไรก็ตาม ความเป็นส่วนตัวจะสิ้นสุดลงที่ตัว host เอง เพราะใครก็ตามที่ดูแล hypervisor สามารถอ่านหน่วยความจำของ guest ของคุณได้ทุกเมื่อที่ต้องการ และการปิดช่องว่างสุดท้ายนี้ต้องอาศัยฮาร์ดแวร์ที่รองรับการเข้ารหัสหน่วยความจำตามที่อธิบายไว้ใน confidential computing on a VPS
Shared hosting ทำงานในทางตรงกันข้าม คุณจะได้รับ directory บนเครื่องที่ให้บริการเว็บไซต์อื่นอีกหลายร้อยแห่ง, แผงควบคุม (control panel) และซอฟต์แวร์ใดก็ตามที่ผู้ให้บริการเลือกติดตั้งไว้ ไม่มีการทำ apt install ในรูปแบบนี้ เพราะการติดตั้ง package จะส่งผลกระทบต่อทั้งเครื่อง และคุณไม่มีสิทธิ์เปลี่ยนแปลงเครื่องนั้นได้ทั้งหมด Shared hosting เทียบกับ VPS ได้อธิบายถึงข้อแลกเปลี่ยนเหล่านี้ไว้อย่างละเอียด สรุปสั้นๆ คือ shared hosting เป็นการเช่าบัญชีผู้ใช้ ส่วน VPS เป็นการเช่าคอมพิวเตอร์ทั้งเครื่อง
ข้อมูลจำเพาะของ VPS ทีละบรรทัด
VPS ทุกเครื่องจะถูกขายโดยระบุรายการตัวเลขสั้นๆ นี่คือแผนระดับกลางประเภทที่ผู้ให้บริการมักโฆษณา ซึ่งจะใช้เป็นตัวอย่างประกอบด้านล่าง ตัวเลขเหล่านี้เป็นตัวเลขทั่วไปที่เผยแพร่ ณ เดือนสิงหาคม 2026 ไม่ใช่ใบเสนอราคา
The data behind this chart
[
{
"plan": "Example mid-range VPS",
"vcpu_cores": 4,
"ram_gb": 16,
"nvme_gb": 160,
"bandwidth_tb": 8,
"ipv4_addresses": 1
}
]บรรทัดเดียวนั้นคือผลิตภัณฑ์ทั้งหมด ให้คุณอ่านจากซ้ายไปขวา
4 vCPU. vCPU (virtual central processing unit) คือหนึ่งเธรดของโปรเซสเซอร์บนเครื่องโฮสต์ที่ hypervisor จัดสรรให้คุณ เว้นแต่แผนจะระบุว่าเป็น dedicated มันจะเป็นเพียงส่วนแบ่งของเธรดนั้น ไม่ใช่การจองทรัพยากรไว้ให้คุณโดยเฉพาะ ภายในเซิร์ฟเวอร์ nproc จะแสดงค่า 4 และ lscpu จะแสดงชื่อรุ่นซึ่งอาจเป็น CPU จริงของโฮสต์หรือรุ่น QEMU ทั่วไป ขึ้นอยู่กับการตั้งค่าของโฮสต์
16 GB of RAM. หน่วยความจำเป็นการจองทรัพยากรแบบตายตัวและเป็นเพดานสูงสุดเช่นกัน free -h จะรายงานค่าที่น้อยกว่าที่คุณซื้อเล็กน้อย โดยจะอยู่ที่ประมาณ 15Gi สำหรับแผน 16 GB เนื่องจาก kernel และพื้นที่หน่วยความจำที่ถูกจองไว้บางส่วนจะถูกหักออกก่อนที่ Linux จะนับจำนวนหน่วยความจำที่ใช้งานได้จริง เมื่อคุณใช้งานจนหมด ระบบจะไม่สามารถยืมทรัพยากรจากโฮสต์ได้
160 GB of NVMe. NVMe (non-volatile memory express) คือวิธีการเชื่อมต่อไดรฟ์ภายในโฮสต์ ซึ่งเร็วกว่า SATA SSD ที่ใช้ในแผนรุ่นเก่ามาก ส่วนแบ่งของคุณจะปรากฏเป็นดิสก์เสมือน โดยปกติคือ /dev/vda ภายใต้ KVM df -h / จะแสดงค่าที่น้อยกว่า 160 GB เล็กน้อย และตัวเลขพื้นที่ว่างจะต่ำกว่านั้นอีก เนื่องจาก ext4 จะสำรองพื้นที่ไว้ 5 เปอร์เซ็นต์ของระบบไฟล์สำหรับ root โดยค่าเริ่มต้น ความหมายที่แท้จริงของ SSD ใน VPS และ วิธีตรวจสอบดิสก์ที่คุณได้รับ จะอธิบายรายละเอียดเชิงลึกเพิ่มเติม
8 TB of transfer. นี่คือปริมาณข้อมูลที่รับส่งต่อเดือน โดยปกติจะนับเฉพาะขาออกเท่านั้น นี่เป็นปริมาณข้อมูล ส่วนความเร็วพอร์ตจะเป็นตัวเลขแยกต่างหาก ซึ่งมักอยู่ที่ 1 Gbit/s การใช้งานเกินโควตาอาจทำให้เกิดค่าใช้จ่ายเพิ่มเติมหรือถูกจำกัดความเร็วขึ้นอยู่กับผู้ให้บริการ ดังนั้นควรอ่านเงื่อนไขส่วนนี้ก่อนโฮสต์วิดีโอ sudo apt install vnstat จะช่วยให้คุณนับปริมาณข้อมูลด้วยตนเองผ่าน vnstat -m โดยเริ่มนับตั้งแต่วันที่คุณติดตั้ง
1 IPv4 address. หมายเลข IP นี้เป็นของคุณตราบเท่าที่คุณเช่าเซิร์ฟเวอร์ คุณสามารถชี้โดเมนมาที่ IP นี้ รับ traffic บนพอร์ตใดก็ได้ และโดยปกติสามารถตั้งค่า reverse DNS record ได้ในแผงควบคุมของผู้ให้บริการ ซึ่งเป็นสิ่งที่เมลเซิร์ฟเวอร์ใช้ตรวจสอบ แผนราคาถูกมากบางครั้งอาจให้ลูกค้าหลายรายใช้หมายเลข IP ร่วมกัน ซึ่งเรียกว่า NAT VPS ในกรณีนี้ ip -4 addr show จะรายงานเป็นหมายเลข IP ภายใน เช่น 10.0.0.5 และพอร์ตขาเข้าจะถูกจำกัด
คำสั่งสี่รายการต่อไปนี้จะช่วยยืนยันทรัพยากรที่คุณได้รับ
nproc
free -h
df -h /
ip -4 addr showหากค่าใดๆ เหล่านี้ไม่ตรงกับข้อมูลจำเพาะเกินกว่าค่าความคลาดเคลื่อนที่อธิบายไว้ข้างต้น คุณควรเปิด support ticket ก่อนที่จะเริ่มสร้างระบบใดๆ บนเครื่องนี้
ความหมายของสิทธิ์ root ในทางปฏิบัติ
Root คือบัญชีผู้ดูแลระบบบน Linux โดยมี user ID เป็น 0 หากคุณรันคำสั่ง id -u คุณจะเห็น 0 เมื่อคุณใช้งานในฐานะ root บัญชี root สามารถติดตั้งแพ็กเกจสำหรับทั้งระบบ, เปิดพอร์ตที่ต่ำกว่า 1024 (kernel สงวนพอร์ตเหล่านี้ไว้สำหรับกระบวนการที่มีสิทธิ์สูง ซึ่งเป็นเหตุผลว่าทำไมผู้ใช้ทั่วไปจึงไม่สามารถเริ่มเว็บเซิร์ฟเวอร์บนพอร์ต 80 ได้), โหลด kernel module, แทนที่ kernel, อ่านและแก้ไขไฟล์ใดๆ บนดิสก์ และทำลายระบบได้ด้วยคำสั่งเดียวที่ขาดความระมัดระวัง ซึ่งไม่มีใครสามารถกู้คืนให้คุณได้
ความแตกต่างในทางปฏิบัติสรุปได้สั้นๆ คือ บน shared hosting คุณต้องเปิด support ticket เพื่อขอติดตั้งซอฟต์แวร์ แต่บน VPS คุณเพียงแค่พิมพ์คำสั่งนี้
sudo apt update
sudo apt install -y nginx
systemctl status nginxsystemctl status nginx ควรแสดงผลเป็น active (running) ภายในหนึ่งหรือสองวินาที และเมื่อเข้าถึง IP address ของเซิร์ฟเวอร์ผ่านเบราว์เซอร์ ควรจะแสดงหน้าเริ่มต้นของ nginx หากสถานะแสดงเป็น failed ให้รันคำสั่ง journalctl -u nginx -n 50 แล้วอ่านบรรทัดท้ายๆ เนื่องจาก service จะบันทึกสาเหตุที่ปฏิเสธการเริ่มทำงานไว้ สาเหตุที่พบบ่อยคือการพิมพ์ผิดในไฟล์ config หรือมีโปรแกรมอื่นใช้งานพอร์ต 80 อยู่แล้ว
Root ยังเป็นขอบเขตความปลอดภัยทั้งหมดของคุณ และมันมาพร้อมกับรหัสผ่านที่ผู้ให้บริการสร้างขึ้น การเข้าใช้งานครั้งแรกบนเซิร์ฟเวอร์ใหม่ไม่ใช่เวลาสำหรับการติดตั้งแอปพลิเคชัน คุณควรสร้างผู้ใช้ทั่วไป, ย้ายการล็อกอินไปใช้ SSH key และติดตั้ง firewall หน้าพอร์ตต่างๆ สิบนาทีแรกบน VPS ใหม่ คือรายการตรวจสอบตามลำดับ, พื้นฐาน SSH key ครอบคลุมเรื่องการล็อกอิน, พื้นฐาน ufw firewall ครอบคลุมเรื่องพอร์ต และ ผู้ใช้ที่มีสิทธิ์น้อยที่สุด ครอบคลุมเรื่องสิทธิ์ที่บริการของคุณควรใช้หลังจากนั้น เซิร์ฟเวอร์ที่ล็อกอินด้วยรหัสผ่านและไม่มี firewall จะถูกสุ่มโจมตีหลายพันครั้งต่อวัน และคุณสามารถเฝ้าดูการโจมตีเหล่านั้นได้ด้วย journalctl -u ssh -f
ข้อจำกัดของ VPS มีอะไรบ้าง
หน่วยประมวลผลถูกใช้งานร่วมกันและคุณสามารถวัดการแบ่งปันนั้นได้ Steal time คือสัดส่วนเวลาที่ virtual CPU ของคุณพร้อมทำงานแต่ไม่ได้รับเวลาประมวลผล เนื่องจาก hypervisor จัดสรร physical core ให้กับ guest รายอื่นไปแล้ว
vmstat 1 5คอลัมน์สุดท้ายคือ st ซึ่งแสดงค่า steal time ค่าที่ระดับ 1 หรือ 2 เปอร์เซ็นต์เป็นครั้งคราวถือเป็นเรื่องปกติบนโฮสต์ที่ใช้งานร่วมกัน แต่หากค่านี้สูงถึงระดับสองหลักอย่างต่อเนื่องในขณะที่กระบวนการทำงานของคุณไม่ได้ใช้งาน CPU แสดงว่าโฮสต์มีการใช้งานเกินขีดจำกัด (oversubscribed) ซึ่งการปรับแต่งภายในเซิร์ฟเวอร์ของคุณจะไม่สามารถแก้ไขปัญหานี้ได้ เพราะการรอคอยเกิดขึ้นภายนอกเซิร์ฟเวอร์ของคุณ การทำ Benchmarking VPS อย่างถูกวิธี จะแสดงวิธีพิสูจน์ปัญหานี้ก่อนที่คุณจะแจ้งผู้ให้บริการ ค่า steal จะถูกรายงานโดย guest ที่ใช้ KVM และ Xen ส่วนบน container virtualization ค่านี้จะคงที่อยู่ที่ศูนย์และไม่สามารถบ่งบอกข้อมูลใดๆ ได้
หน่วยความจำมีขนาดคงที่และมีเพดานจำกัดอย่างชัดเจน เมื่อการจัดสรรหน่วยความจำล้มเหลว OOM (out of memory) killer ของ kernel จะเลือกกระบวนการทำงานหนึ่งและยุติการทำงานด้วย SIGKILL
sudo dmesg -T | grep -i "out of memory"บรรทัดเดียวสามารถอธิบายสาเหตุของระบบล่มที่ดูเหมือนเป็นปริศนาได้:
Out of memory: Killed process 2412 (mysqld) total-vm:2183104kB, anon-rss:1897224kB, file-rss:0kBโดยปกติแล้ว log ของแอปพลิเคชันจะไม่แสดงข้อมูลใดๆ เพราะ SIGKILL ไม่เปิดโอกาสให้กระบวนการทำงานเขียนข้อมูลใดๆ ลงไปได้ สาเหตุจะปรากฏอยู่ใน kernel log เท่านั้น VPS หลายแห่งไม่มีการตั้งค่า swap file มาให้ตั้งแต่ต้น ซึ่งทำให้เพดานหน่วยความจำถึงขีดจำกัดได้ง่ายขึ้น การเพิ่ม swap file ขนาดเล็กจึงเป็นการเปลี่ยนแปลงแรกที่นิยมทำกัน
ดิสก์มีความเร็วสูงแต่ถูกใช้งานร่วมกัน NVMe ของโฮสต์มีความเร็วสูง แต่ส่วนแบ่งของคุณต้องแข่งขันกับ guest รายอื่นในการทำ input และ output operations การทำ benchmark ในช่วงเวลาที่คนใช้งานน้อยไม่ใช่การรับประกันประสิทธิภาพในช่วงเวลาที่มีการใช้งานสูงสุด
คุณไม่สามารถเข้าถึงฮาร์ดแวร์ได้ คุณไม่สามารถเชื่อมต่ออุปกรณ์ใดๆ เพิ่มเติมได้ ไม่ว่าจะเป็นอุปกรณ์ USB, capture card หรือการ์ดจอ เว้นแต่ว่าแพ็กเกจที่คุณเลือกจะรองรับการทำ pass-through ซึ่งเป็นผลิตภัณฑ์แยกต่างหากและมีราคาสูงกว่า เช่น VPS ที่มาพร้อม GPU
มีเพียงเครื่องเดียวเท่านั้น VPS คือเครื่องจักรเครื่องเดียว หากโฮสต์เกิดข้อผิดพลาด เซิร์ฟเวอร์ของคุณจะหยุดทำงานจนกว่าโฮสต์จะกลับมาใช้งานได้ปกติ และจะไม่มีการทำ failover เว้นแต่คุณจะสร้างระบบ failover ขึ้นมาเอง การสำรองข้อมูลเป็นหน้าที่ของคุณ ดังนั้น การสำรองข้อมูลด้วย restic จาก VPS จึงเป็นสิ่งที่ควรอยู่ในรายการตั้งค่า Snapshot จากผู้ให้บริการนั้นสะดวกสบาย แต่ไม่ใช่การสำรองข้อมูล เพราะมันถูกเก็บอยู่บนโครงสร้างพื้นฐานเดียวกับสิ่งที่มันปกป้องอยู่
การสนับสนุนสิ้นสุดที่ระดับ hypervisor ในแพ็กเกจแบบ unmanaged ผู้ให้บริการจะดูแลเฉพาะฮาร์ดแวร์ เครือข่าย และชั้น virtualization ให้ทำงานได้ปกติ ทุกอย่างตั้งแต่ระบบปฏิบัติการขึ้นไปเป็นความรับผิดชอบของคุณ รวมถึงการอัปเดตความปลอดภัย ความแตกต่างระหว่าง Managed และ Unmanaged hosting ได้ระบุขอบเขตนี้ไว้ และ การตั้งค่า unattended upgrades บน Ubuntu เป็นสิ่งที่ควรเปิดใช้งานเป็นอย่างน้อยที่สุด
การเปรียบเทียบ VPS กับสิ่งที่มักสับสนกัน
Virtual machine เป็นแนวคิดทั่วไป ส่วน VPS คือรูปแบบเชิงพาณิชย์รูปแบบหนึ่งของมัน คือ virtual machine ที่เช่าเป็นรายเดือน โดยมีระบบปฏิบัติการ, public address และเครือข่ายติดตั้งมาให้พร้อม ส่วน VPC (virtual private cloud) คือเครือข่ายส่วนตัวภายในระบบคลาวด์ขนาดใหญ่ ซึ่งมีเซิร์ฟเวอร์ทำงานอยู่ภายใน จึงเป็นคำตอบสำหรับคำถามที่ต่างออกไปโดยสิ้นเชิง VPS เทียบกับ VM เทียบกับ VPC จะแยกความแตกต่างของทั้งสามคำนี้อย่างชัดเจน
Dedicated server คือเครื่องเซิร์ฟเวอร์ทางกายภาพทั้งเครื่อง โดยไม่มี hypervisor และไม่มีเครื่องอื่นมาแชร์ทรัพยากรด้วย มีค่าใช้จ่ายรายเดือนสูงกว่าหลายเท่า และเป็นคำตอบที่เหมาะสมเมื่อปัญหาคอขวดที่แท้จริงของคุณคือ steal time หรือการแย่งชิงทรัพยากรดิสก์ VPS เทียบกับ dedicated server จะระบุปัจจัยในการตัดสินใจไว้
VPN (virtual private network) มีตัวอักษรสองตัวที่เหมือนกับ VPS แต่ไม่มีส่วนใดที่เกี่ยวข้องกันเลย VPN คืออุโมงค์เข้ารหัสระหว่างเครื่อง ส่วน VPS คือตัวเครื่อง และการใช้งานยอดนิยมอย่างหนึ่งของ VPS คือการรัน VPN ของคุณเอง ซึ่งเป็นจุดเริ่มต้นของความสับสน VPS เทียบกับ VPN จะช่วยให้เข้าใจความแตกต่างของทั้งสองคำนี้
ฮาร์ดแวร์ที่คุณเป็นเจ้าของเอง หรือ hypervisor เช่น Proxmox บนเครื่องที่บ้าน ให้ทรัพยากรที่คุ้มค่ากว่าเมื่อเทียบกับราคา และมีการเชื่อมต่อแบบที่พักอาศัยซึ่งบริการหลายแห่งมักมองด้วยความสงสัย นอกจากนี้ยังทำให้คุณได้สิทธิ์ควบคุมตัวโฮสต์โดยตรง ทำให้ guest สามารถรัน hypervisor ของตัวเองได้เมื่อคุณ เปิดใช้งาน nested virtualization ใน Proxmox ซึ่งเป็นสิ่งที่ VPS แบบเช่ามักไม่อนุญาต Proxmox เทียบกับ VPS จะเปรียบเทียบเรื่องประสิทธิภาพ, เสียงรบกวน และ uptime กับค่าใช้จ่ายรายเดือน
ผู้คนรันอะไรบน VPS บ้าง
คำตอบตามตรงคือ ทุกอย่างที่รันบน Linux ได้ ตัวเลือกที่พบบ่อยได้แก่ เว็บไซต์พร้อมฐานข้อมูล, VPN ส่วนตัว, เซิร์ฟเวอร์เกม, ระบบตรวจสอบสถานะ, เซิร์ฟเวอร์อีเมล, คลังสื่อ หรือ coding agent ที่ทำงานต่อเนื่องในขณะที่คุณปิดแล็ปท็อป ทุกบริการที่คุณรันจะฟังบนพอร์ต ดังนั้น พอร์ตบน Linux คืออะไร จึงเป็นแนวคิดถัดไปที่ควรเรียนรู้ และ คุณสามารถทำอะไรกับ VPS ได้บ้าง มีรายการที่ยาวกว่าพร้อมระบุทรัพยากรที่ต้องใช้สำหรับแต่ละบริการ
FAQ
VPS เหมือนกับ virtual machine หรือไม่?
VPS คือ virtual machine ที่บริษัทให้คุณเช่า โดยมาพร้อมกับระบบปฏิบัติการ, public IP address และราคาค่าบริการรายเดือน เทคโนโลยีเบื้องหลังนั้นเหมือนกัน คำทั้งสองคำครอบคลุมขอบเขตที่ต่างกัน: "virtual machine" อธิบายถึง guest ใดๆ ที่รันอยู่บน hypervisor รวมถึงเครื่องที่รันบนแล็ปท็อปของคุณเอง ในขณะที่ "VPS" อธิบายถึงผลิตภัณฑ์ที่คุณซื้อ ส่วน VPC เป็นอีกเรื่องหนึ่ง ซึ่งหมายถึงเครือข่ายส่วนตัวภายในผู้ให้บริการคลาวด์ ไม่ใช่ตัวเซิร์ฟเวอร์
ฉันจำเป็นต้องรู้ Linux เพื่อใช้ VPS หรือไม่?
คุณจำเป็นต้องรู้เพียงเล็กน้อย และสามารถเรียนรู้ส่วนที่เหลือได้ในระหว่างการใช้งาน ชุดทักษะเริ่มต้นคือการเชื่อมต่อด้วย ssh, การย้ายตำแหน่งด้วย cd และ ls, การแก้ไขไฟล์ด้วย nano, การติดตั้งซอฟต์แวร์ด้วย apt และการอ่าน log ด้วย journalctl บริการ VPS แบบ unmanaged กำหนดให้คุณต้องจัดการการอัปเดตและ firewall ด้วยตนเอง หากนั่นเป็นภาระเกินไป แผนบริการแบบ managed หรือการใช้ control panel จะช่วยแบ่งเบาภาระบางส่วนให้คุณโดยแลกกับราคาต่อเดือนที่สูงขึ้น
ทำไม VPS ของฉันถึงแสดง RAM น้อยกว่าที่ระบุไว้ในแผน?
Linux จะรายงานหน่วยความจำที่ใช้งานได้จริง ในขณะที่แผนบริการจะโฆษณาหน่วยความจำที่จัดสรรไว้ให้ kernel image และพื้นที่หน่วยความจำที่ถูกจองไว้บางส่วนจะถูกหักออกก่อนที่จะคำนวณยอดรวมใน free -h ดังนั้นแผน 16 GB มักจะแสดงผลประมาณ 15Gi ช่องว่างขนาดไม่กี่ร้อยเมกะไบต์ถือเป็นเรื่องปกติ แต่หากช่องว่างมีขนาดหลายกิกะไบต์ถือว่าไม่ปกติ และกรณีนี้ควรเปิด support ticket เพื่อตรวจสอบ
steal time คืออะไร และฉันควรต้องกังวลหรือไม่?
Steal time คือเปอร์เซ็นต์ของเวลาที่ virtual CPU ของคุณพร้อมทำงานแต่ต้องรอ เนื่องจาก hypervisor จัดสรร physical core ให้กับ guest อื่น คอลัมน์ st ของ vmstat 1 จะแสดงค่านี้ ค่าที่เกิดขึ้นเป็นช่วงสั้นๆ ประมาณหนึ่งหรือสองเปอร์เซ็นต์ถือเป็นเรื่องปกติบนฮาร์ดแวร์ที่ใช้ร่วมกัน แต่หากค่าสูงถึงสองหลักอย่างต่อเนื่องในขณะที่โหลดของคุณเองต่ำ หมายความว่า physical host มีการใช้งานเกินขีดจำกัด วิธีแก้ไขคือการเปลี่ยน host หรือเปลี่ยนแผนบริการ เนื่องจากไม่มีสิ่งใดภายในเซิร์ฟเวอร์ของคุณที่สามารถควบคุมตัวจัดตารางเวลา (scheduler) ของ host ได้
ฉันสามารถรันมากกว่าหนึ่งบริการบน VPS เดียวได้หรือไม่?
ได้ นั่นคือจุดประสงค์ของการมีสิทธิ์ root: เครื่องนี้เป็นเครื่องอเนกประสงค์ และบริการต่างๆ สามารถอยู่ร่วมกันได้ตราบเท่าที่หน่วยความจำเพียงพอและแต่ละบริการฟังบนพอร์ตของตนเอง โดยปกติหน่วยความจำจะเป็นข้อจำกัดแรกที่คุณจะพบ และความเร็วของดิสก์จะเป็นข้อจำกัดที่สอง บริการอีเมลเป็นข้อยกเว้นที่ยุ่งยาก เนื่องจากการส่งอีเมลขึ้นอยู่กับชื่อเสียงของ IP address ของคุณ และ IP address ใหม่จากผู้ให้บริการโฮสติ้งมักจะถูกระบบอีเมลขนาดใหญ่ไม่ไว้วางใจตั้งแต่เริ่มต้น