VPS, VM na VPC: Tofauti na Maana ya Kila Moja
Jifunze kwa nini VM ni teknolojia, VPS ni bidhaa ya kukodisha yenye root, na VPC ni mtandao binafsi wa cloud, kisha chagua unachohitaji.
VPS, VM na VPC katika aya moja
VM (virtual machine) ni kompyuta inayoundwa na programu: hypervisor hugawanya server moja ya kimwili kuwa mashine kadhaa huru, na kila mashine huendesha kernel yake. VPS (virtual private server) ni mojawapo ya mashine hizo pepe unayokodishwa kama bidhaa, ikiwa na mfumo wa uendeshaji, ufikiaji wa root na bei ya kila mwezi. VPC (virtual private cloud) si server hata kidogo. Ni mtandao binafsi unaoufafanua ndani ya akaunti ya cloud, kisha unaweka rasilimali ndani yake. VM ni teknolojia. VPS ni bidhaa. VPC ni mtandao unaozunguka bidhaa hiyo.
Maneno mawili kati ya haya yanaeleza mashine. La tatu linaeleza mtandao. Karibu mkanganyiko wote unatokana na tofauti hiyo, kwa sababu watu huyalinganisha kana kwamba ni bidhaa tatu zilizo kwenye rafu moja.
Mashine pepe ni nini
Hypervisor ni tabaka la programu linalowakilisha maunzi. Humpa kila mgeni CPU pepe, kumbukumbu pepe, diski pepe na kadi ya mtandao pepe. Pia huwazuia wageni wasione kila mmoja. KVM, Xen, Hyper-V na VMware ESXi ndizo zinazotumiwa sana kwenye seva. Hypervisor za kisasa hutumia viendelezi vya uhalisia-pepe vya CPU (Intel VT-x, AMD-V). Kwa hiyo, maagizo ya mgeni huendeshwa kwenye CPU halisi kwa kasi inayokaribia kasi asilia, badala ya kutafsiriwa.
Jambo muhimu kwa msimamizi wa mfumo ni kernel. VM huanzisha kernel yake yenyewe. Kwa hiyo, unachagua distribution, unapakia kernel modules, na unaweka thamani za sysctl zinazotumika kwako pekee. Hii ni tofauti na container (LXC, Docker), ambayo hushiriki kernel ya host na hupata tu mwonekano wake wa processes na files.
Unaweza kuona jibu kwenye kompyuta yoyote ya Linux kwa amri moja.
systemd-detect-virtkvm inamaanisha kuwa uko kwenye mashine pepe inayotumia hypervisor ya KVM. lxc au openvz inamaanisha kuwa uko kwenye container inayotumia kernel ya mtu mwingine. none inamaanisha kuwa maunzi halisi ni yako. Ikiwa amri hiyo haipo, lscpu | grep -i hypervisor huonyesha jambo hilo hilo kutoka kwenye CPU flags.
VPS ni nini
VPS ni kifurushi cha kibiashara kinachowekwa juu ya VM. Teknolojia ya msingi ni uvirtuaji, na neno "VPS" linaongeza vipengele vinavyofanya huduma hiyo iweze kuuzwa: picha ya OS unayoweza kusakinisha upya, anwani ya IP, kiwango cha bandwidth, paneli ya udhibiti, bei ya kila mwezi na mtu wa kumtumia barua pepe seva mwenyeji inapoharibika. "Private" hutenganisha huduma hii na hosting ya pamoja, ambapo tovuti nyingi hushiriki mfumo mmoja wa uendeshaji na usanidi mmoja wa PHP.
Kwa kuwa VPS ni jina la bidhaa, si istilahi ya kiufundi, haimaanishi kila mara VM kamili. Baadhi ya mipango ya bei nafuu huuza containers kwa jina hilo hilo. Tofauti huonekana mara ya kwanza unapohitaji kernel. Kwenye mpango unaotumia containers, sudo modprobe wireguard inashindwa kwa RTNETLINK answers: Operation not supported au modprobe: FATAL: Module wireguard not found, kwa sababu kernel ni ya host na huruhusiwi kuibadilisha. Kwenye mpango wa KVM, module hupakiwa na tunnel huanzishwa. Ikiwa unapanga kutumia Docker, VPN, kernels maalum au virtual machines zako ndani ya seva, hakikisha aina ya uvirtuaji kabla ya kununua. Kuendesha virtual machines ndani ya VPS kunahitaji KVM yenye nested virtualisation iliyowashwa kwenye host, jambo linalopatikana kwenye mipango michache zaidi.
VPC ni nini
VPC ni mtandao unaofafanuliwa na programu ndani ya mtoa huduma wa wingu. Unaipa anuwai ya anwani kwa muundo wa CIDR, kama vile 10.0.0.0/16, kisha unatengeneza subneti ndani yake, unaambatisha majedwali ya uelekezaji, na unaweka sheria za ngome (security groups) mbele ya rasilimali zilizo ndani yake. Haina CPU, kumbukumbu wala diski. Hakuna kitu cha kuingia ndani yake. Ukifuta kila seva katika VPC, VPC hubaki hapo ikiwa tupu na kwa kawaida bila gharama.
VPC hukupa anwani za faragha. Seva mbili zilizo katika VPC moja huwasiliana kwa kutumia anwani kama 10.0.1.15 kupitia miundombinu ya ndani ya mtoa huduma. Kwa hiyo, trafiki hiyo haigusi intaneti ya umma na haitoziwi kama trafiki inayotoka kwenda intaneti. Kisha hifadhidata inaweza kusikiliza kwenye anwani yake ya faragha pekee, na hakuna porti inayowekwa wazi kwa ulimwengu.
ip -4 addr showAnwani iliyo ndani ya 10.0.0.0/8, 172.16.0.0/12 au 192.168.0.0/16 ni ya faragha. Anwani ya umma kwenye mashine hiyo hiyo inamaanisha kuwa seva inaweza kufikiwa moja kwa moja kutoka intaneti, bila kujali iko ndani ya kifaa gani cha mtandao.
Je, VPC hufanya seva yangu iwe ya faragha?
Hapana, na huu ndio mkanganyiko wa gharama kubwa zaidi kati ya istilahi hizo tatu. VPC hudhibiti uelekezaji na anwani. Haiamui kama intaneti inaweza kufikia mashine. Ikiwa instance ina anwani ya umma na sheria za usalama zinaruhusu port 22 kutoka 0.0.0.0/0, imefichuliwa kwa kiwango sawa na seva nyingine yoyote, iwe ndani ya VPC au la. Utengaji unaopata kutoka kwa VPC ni uwezo wa kutoweka anwani ya umma kabisa kwenye rasilimali, pamoja na kuweka sheria zinazoeleza ni subnet zipi zinaweza kuwasiliana.
Maneno hayo matatu pia yanaahidi aina tofauti za utengaji. VM hutenga rasilimali za kompyuta: hypervisor hutenganisha muda wa CPU na kumbukumbu, hivyo guest nyingine haiwezi kusoma RAM yako. Utengaji huo ni dhaifu zaidi kwa diski na mtandao, ambapo jirani mwenye shughuli nyingi kwenye host hiyo hiyo bado anaweza kupunguza kasi yako. VPS inayotumia container hushiriki kernel moja, hivyo hitilafu ya kiwango cha kernel huwa hatari ya pamoja. VPC haitengi chochote kuhusu rasilimali za kompyuta. Huunda tu muundo wa mtandao.
Muundo wa gharama
VPS kwa kawaida huuzwa kwa bei maalum ya kila mwezi kwa mashine maalum. Unajua bili kabla ya mwezi kuanza, na diski pamoja na kiwango cha uhamishaji data vimejumuishwa ndani yake. Utabirika huu ndio sababu kuu inayowafanya watu kuchagua VPS badala ya cloud instance kwa mzigo mdogo wa kazi.
Cloud VM hupimwa kulingana na matumizi. Instance hutozwa kwa saa au kwa sekunde, huku diski, snapshots, load balancer na outbound traffic zikitozwa kando. VPC yenyewe kwa kawaida ni bure, lakini vipengele vinavyodhibitiwa vilivyounganishwa nayo si bure: NAT gateway inayowezesha instances za faragha kufikia intaneti hutozwa kwa saa na kwa gigabyte, na traffic kati ya availability zones pia hutozwa. Kufikia Julai 2026, cloud providers wakuu bado huweka kila instance mpya kwenye default VPC kiotomatiki, kwa hiyo unatumia VPC hiyo hata kama hukuomba.
Unahitaji ipi hasa
- Seva moja kwa ajili ya tovuti, programu, game server au VPN: VPS. Dakika kumi za kwanza kwenye VPS mpya ni muhimu zaidi kuliko jina la mpango.
- Seva kadhaa zinazopaswa kufikiana kupitia anwani za faragha: VPC, au kipengele cha mtandao wa faragha ambacho mtoa huduma wako wa VPS hutoa kwa jina tofauti.
- Mzigo wa kazi unaopaswa kuendelea kufanya kazi hata kituo kizima cha data kisipopatikana: cloud yenye zones nyingi, ambayo inamaanisha VMs zilizo ndani ya VPC.
- Udhibiti kamili wa kernel, au hypervisor yako mwenyewe juu yake: VPS inayotumia KVM au seva maalum. Pia, angalia aina ya diski iliyo nyuma ya mpango unapolinganisha.
Miradi mingi ya seva moja haihitaji VPC kamwe. Kipengele cha mtandao wa faragha kinachokuja pamoja na VPS hufanya kazi hiyo hiyo kwa mashine chache.
FAQ
Je, VPS ni kitu sawa na VM?
VPS ni VM ambayo mtu anakuuza. Kila VPS iliyoundwa kwa kutumia KVM, Xen au VMware ni mashine pepe, lakini si kila mashine pepe ni VPS, kwa sababu VM inayoendesha kwenye laptop yako kupitia VirtualBox si bidhaa ya mtu mwingine. Baadhi ya mipango ya bei nafuu iliyoandikwa VPS ni containers badala ya VM kamili, kwa hiyo thibitisha kwa systemd-detect-virt kabla ya kutegemea ufikiaji wa kernel.
Je, ninaweza kuweka VPS ndani ya VPC?
Kwa kawaida, huwezi, kwa sababu VPC ni muundo wa mtoa huduma mmoja wa cloud na huhifadhi tu rasilimali zilizoundwa katika akaunti hiyo hiyo. VPS kutoka kwa mtoa huduma huru iko kwenye mtandao wa mtoa huduma huyo. Ikiwa unahitaji viungo vya faragha kati ya hizo mbili, unatengeneza handaki la VPN kati yao, kisha VPS hufikia subnets za faragha kupitia handaki hilo.
Kwa nini bili yangu ya cloud ni kubwa kuliko ya VPS yenye uwezo unaolingana?
Bei ya instance ni sehemu tu ya gharama. Hifadhi, snapshots, traffic ya kutoka, load balancers na NAT gateways huonyeshwa kama vipengele tofauti vya gharama katika cloud inayotoza kwa matumizi, na NAT gateway pekee inaweza kugharimu zaidi kwa mwezi kuliko VPS ndogo. VPS yenye bei isiyobadilika hujumuisha diski na kiwango cha uhamishaji katika namba moja, ndiyo maana mzigo uleule wa kazi mara nyingi huonekana kuwa wa bei nafuu zaidi huko.
Ninawezaje kuangalia ikiwa server yangu ina ufikiaji halisi wa kernel?
Endesha systemd-detect-virt na usome jibu. kvm, xen au vmware humaanisha una kernel yako mwenyewe na modprobe inafanya kazi. lxc, lxc-libvirt au openvz humaanisha unashiriki kernel ya host, na amri zinazopakia modules au kuandika kwenye /proc/sys zitashindwa kwa Operation not supported. Uthibitisho wa pili ni uname -r, ambayo kwenye mpango wa container mara nyingi huripoti toleo la kernel ambalo distribution yako haikuwahi kutoa.