Perbezaan VPS, VM dan VPC: Panduan Mudah
Ketahui perbezaan antara VM sebagai teknologi, VPS sebagai produk pelayan, dan VPC sebagai rangkaian peribadi. Artikel ini menjelaskan fungsi setiap istilah dengan tepat.
VPS, VM dan VPC dalam satu perenggan
VM (virtual machine) ialah komputer yang dibina daripada perisian: hypervisor membahagikan satu pelayan fizikal kepada beberapa mesin bebas, dan setiap satunya menjalankan kernel sendiri. VPS (virtual private server) ialah salah satu daripada mesin maya tersebut yang disewakan kepada anda sebagai produk, lengkap dengan sistem pengendalian, akses root dan harga bulanan. VPC (virtual private cloud) bukanlah sebuah pelayan. Ia merupakan rangkaian peribadi yang anda tentukan di dalam akaun awan, dan anda meletakkan sumber ke dalamnya. VM ialah teknologinya. VPS ialah produknya. VPC ialah rangkaian di sekeliling produk tersebut.
Dua daripada istilah ini menerangkan tentang mesin. Istilah ketiga menerangkan tentang rangkaian. Hampir semua kekeliruan berpunca daripada ketidakpadanan tersebut, kerana orang ramai membandingkannya seolah-olah ia adalah tiga produk yang berada di atas rak yang sama.
Apakah itu VM
Hypervisor ialah lapisan yang menyamar sebagai perkakasan. Ia memberikan setiap tetamu CPU maya, blok memori, cakera maya dan kad rangkaian maya, kemudian menghalang tetamu daripada melihat satu sama lain. KVM, Xen, Hyper-V dan VMware ESXi adalah yang biasa digunakan pada pelayan. Hypervisor moden bergantung pada sambungan virtualisasi CPU (Intel VT-x, AMD-V), supaya arahan tetamu berjalan pada CPU sebenar pada kelajuan yang hampir asli dan bukannya ditafsirkan.
Bahagian yang penting bagi pentadbir sistem ialah kernel. VM memuatkan kernelnya sendiri, jadi anda memilih pengedaran, anda memuatkan modul kernel, dan anda menetapkan nilai sysctl yang hanya terpakai kepada anda. Ini berbeza daripada kontena (LXC, Docker), yang berkongsi kernel hos dan hanya mendapat pandangan proses serta failnya sendiri.
Anda boleh melihat jawapannya pada mana-mana mesin Linux dengan satu arahan.
systemd-detect-virtkvm bermakna anda adalah mesin maya pada hypervisor KVM. lxc atau openvz bermakna anda berada dalam kontena pada kernel orang lain. none bermakna perkakasan itu milik anda. Jika arahan tersebut tiada, lscpu | grep -i hypervisor menunjukkan perkara yang sama daripada flag CPU.
Apakah itu VPS
VPS ialah bungkusan komersial bagi sebuah VM. Teknologi di sebaliknya ialah virtualisasi, dan istilah "VPS" menambah ciri-ciri yang menjadikannya boleh dijual: imej OS yang boleh dipasang semula, alamat IP, peruntukan lebar jalur, panel kawalan, harga bulanan dan pihak yang boleh dihubungi melalui e-mel apabila hos mengalami kegagalan. Perkataan "Private" digunakan untuk membezakannya daripada pengehosan kongsi, di mana ratusan laman web berkongsi satu sistem pengendalian dan satu konfigurasi PHP.
Oleh sebab VPS ialah nama produk dan bukannya istilah teknikal, ia tidak semestinya bermaksud VM penuh. Sesetengah pelan bajet menjual kontena di bawah istilah yang sama. Perbezaannya akan ketara apabila anda perlu mengakses kernel. Pada pelan berasaskan kontena, sudo modprobe wireguard gagal dengan RTNETLINK answers: Operation not supported atau modprobe: FATAL: Module wireguard not found, kerana kernel tersebut milik hos dan anda tidak dibenarkan mengubahnya. Pada pelan KVM, modul tersebut dimuatkan dan tunnel akan berfungsi. Jika anda bercadang untuk menjalankan Docker, VPN, kernel tersuai atau mesin maya anda sendiri di dalam pelayan, semak jenis virtualisasi sebelum membeli. Menjalankan mesin maya di dalam VPS memerlukan KVM dengan virtualisasi bersarang (nested virtualisation) diaktifkan pada hos, yang merupakan set pelan yang lebih terhad.
Apakah itu VPC
VPC ialah rangkaian yang ditakrifkan oleh perisian di dalam penyedia awan. Anda memberikan julat alamat dalam notasi CIDR, seperti 10.0.0.0/16, kemudian membahagikannya kepada subnet, melampirkan jadual laluan (route tables), dan meletakkan peraturan firewall (security groups) di hadapan sumber di dalamnya. Ia tidak mempunyai CPU, memori, atau cakera. Tiada apa-apa untuk dilog masuk. Memadamkan setiap pelayan dalam VPC akan membiarkan VPC tersebut kekal di situ, kosong dan biasanya percuma.
Apa yang anda peroleh daripada VPC ialah pengalamatan peribadi. Dua pelayan dalam VPC yang sama berkomunikasi melalui alamat seperti 10.0.1.15 pada fabrik dalaman penyedia, supaya trafik tidak pernah menyentuh internet awam dan tidak dibilkan sebagai trafik keluar (egress) internet. Pangkalan data kemudiannya boleh mendengar pada alamat peribadinya sahaja, dan tiada port yang terdedah kepada dunia luar sama sekali.
ip -4 addr showAlamat di dalam 10.0.0.0/8, 172.16.0.0/12 atau 192.168.0.0/16 adalah peribadi. Alamat awam pada mesin yang sama bermakna pelayan tersebut boleh dicapai secara terus daripada internet, tidak kira apa jua objek rangkaian yang menempatkannya.
Adakah VPC menjadikan pelayan saya peribadi?
Tidak, dan ini merupakan salah faham paling mahal antara ketiga-tiga istilah tersebut. VPC mengawal penghalaan dan pengalamatan. Ia tidak menentukan sama ada internet boleh mencapai sesebuah mesin. Jika satu instans mempunyai IP awam dan peraturan keselamatan membenarkan port 22 daripada 0.0.0.0/0, ia terdedah sama seperti mana-mana pelayan lain, sama ada menggunakan VPC atau tidak. Pengasingan yang anda peroleh daripada VPC ialah keupayaan untuk tidak memberikan alamat awam langsung kepada sesuatu sumber, ditambah dengan peraturan yang menentukan subnet mana yang boleh berhubung dengan subnet yang lain.
Ketiga-tiga perkataan tersebut juga menjanjikan jenis pengasingan yang berbeza. VM mengasingkan pengkomputeran: hypervisor memisahkan masa CPU dan memori, supaya tetamu lain tidak boleh membaca RAM anda. Pengasingan itu lebih lemah untuk cakera dan rangkaian, di mana jiran yang sibuk pada hos yang sama masih boleh melambatkan prestasi anda. VPS berasaskan kontena berkongsi satu kernel, jadi pepijat pada tahap kernel merupakan risiko yang dikongsi bersama. VPC tidak mengasingkan apa-apa tentang pengkomputeran. Ia hanya membentuk rangkaian.
Model mental penetapan harga
VPS biasanya dijual pada harga bulanan tetap untuk mesin yang tetap. Anda mengetahui jumlah bil sebelum bulan bermula, dan peruntukan cakera serta pemindahan data sudah termasuk di dalamnya. Kebolehramalan itulah sebab utama orang memilih VPS berbanding cloud instance untuk beban kerja yang kecil.
Cloud VM pula menggunakan sistem meter. Instance dibilkan mengikut jam atau saat, manakala cakera, snapshot, load balancer dan trafik keluar dibilkan secara berasingan. VPC itu sendiri biasanya percuma, tetapi komponen terurus yang disambungkan kepadanya tidak: NAT gateway yang membolehkan instance peribadi mencapai internet dibilkan mengikut jam dan gigabait, begitu juga trafik antara availability zone. Sehingga Julai 2026, penyedia cloud utama masih meletakkan setiap instance baharu ke dalam VPC lalai secara automatik, jadi anda tetap menggunakannya sama ada anda memintanya atau tidak.
Yang mana satu yang anda sebenarnya perlukan
- Satu pelayan untuk laman web, aplikasi, pelayan permainan atau VPN: VPS. Sepuluh minit pertama pada VPS baharu lebih penting daripada label pada pelan tersebut.
- Beberapa pelayan yang perlu berhubung antara satu sama lain melalui alamat peribadi: VPC, atau ciri rangkaian peribadi yang ditawarkan oleh penyedia VPS anda di bawah nama yang berbeza.
- Beban kerja yang mesti bertahan sekiranya keseluruhan pusat data terputus: awan dengan berbilang zon, yang bermaksud VM di dalam VPC.
- Kawalan penuh ke atas kernel, atau hypervisor anda sendiri di atasnya: VPS berasaskan KVM atau pelayan dedikasi, dan semak jenis cakera di sebalik pelan tersebut semasa anda membuat perbandingan.
Kebanyakan projek pelayan tunggal tidak memerlukan VPC. Ciri rangkaian peribadi yang disertakan bersama VPS sudah memadai untuk beberapa buah mesin.
FAQ
Adakah VPS sama dengan VM?
VPS ialah VM yang dijual kepada anda. Setiap VPS yang dibina menggunakan KVM, Xen atau VMware adalah mesin maya, tetapi bukan semua mesin maya ialah VPS, kerana VM yang dijalankan pada komputer riba anda menggunakan VirtualBox bukanlah produk komersial. Sesetengah pelan murah yang dilabelkan sebagai VPS sebenarnya adalah kontena dan bukannya VM penuh, jadi sahkan dengan systemd-detect-virt sebelum anda bergantung pada akses kernel.
Bolehkah saya meletakkan VPS di dalam VPC?
Biasanya tidak, kerana VPC ialah binaan daripada satu penyedia awan dan ia hanya menempatkan sumber yang dicipta dalam akaun yang sama. VPS daripada penyedia bebas berada pada rangkaian penyedia tersebut. Jika anda memerlukan pautan peribadi antara kedua-duanya, anda perlu membina terowong VPN di antara mereka, dan VPS tersebut kemudiannya akan mencapai subnet peribadi melaluinya.
Mengapakah bil awan saya lebih tinggi daripada VPS yang setara?
Harga instans hanyalah sebahagian daripadanya. Storan, snapshot, trafik keluar, load balancer dan NAT gateway adalah item baris berasingan dalam awan bermeter, dan NAT gateway sahaja boleh menelan kos lebih tinggi sebulan berbanding VPS kecil. VPS dengan harga tetap menggabungkan cakera dan peruntukan pemindahan data ke dalam satu angka, itulah sebabnya beban kerja yang sama sering kelihatan lebih murah di sana.
Bagaimanakah cara saya menyemak sama ada pelayan saya mempunyai akses kernel sebenar?
Jalankan systemd-detect-virt dan baca jawapannya. kvm, xen atau vmware bermakna anda mempunyai kernel sendiri dan modprobe akan berfungsi. lxc, lxc-libvirt atau openvz bermakna anda berkongsi kernel hos, dan arahan yang memuatkan modul atau menulis ke /proc/sys akan gagal dengan Operation not supported. Pengesahan kedua ialah uname -r, yang pada pelan kontena sering melaporkan versi kernel yang tidak pernah dikeluarkan oleh pengedaran anda.