VPS, VM और VPC में क्या अंतर है? सरल हिंदी गाइड
VM, VPS और VPC के बीच के अंतर को समझें। VM एक तकनीक है, VPS एक रेंटल प्रोडक्ट है और VPC एक प्राइवेट नेटवर्क है। इन तीनों के बीच का सटीक अंतर जानकर सही विकल्प चुनें।
VPS, VM और VPC एक ही पैराग्राफ में
VM (virtual machine) सॉफ्टवेयर से बना एक कंप्यूटर है: एक hypervisor एक physical server को कई स्वतंत्र मशीनों में विभाजित करता है, और प्रत्येक का अपना kernel चलता है। VPS (virtual private server) उन virtual machines में से एक है जिसे आपको एक उत्पाद के रूप में किराए पर दिया जाता है, जिसमें operating system, root access और मासिक मूल्य शामिल होता है। VPC (virtual private cloud) कोई सर्वर नहीं है। यह एक private network है जिसे आप cloud account के भीतर परिभाषित करते हैं, और आप इसमें resources रखते हैं। VM तकनीक है। VPS उत्पाद है। VPC उत्पाद के चारों ओर का नेटवर्क है।
इनमें से दो शब्द एक मशीन का वर्णन करते हैं। तीसरा एक नेटवर्क का वर्णन करता है। लगभग सारा भ्रम इसी बेमेल स्थिति से पैदा होता है, क्योंकि लोग इनकी तुलना ऐसे करते हैं जैसे वे एक ही शेल्फ पर रखे तीन उत्पाद हों।
VM क्या है
Hypervisor वह परत है जो हार्डवेयर होने का दिखावा करती है। यह प्रत्येक guest को एक virtual CPU, memory का एक block, एक virtual disk और एक virtual network card प्रदान करता है, और फिर guests को एक-दूसरे को देखने से रोकता है। KVM, Xen, Hyper-V और VMware ESXi सर्वर पर उपयोग किए जाने वाले सामान्य hypervisors हैं। आधुनिक hypervisors CPU virtualisation extensions (Intel VT-x, AMD-V) पर निर्भर करते हैं, इसलिए guest instructions वास्तविक CPU पर native गति के करीब चलते हैं, न कि interpret किए जाते हैं।
Sysadmin के लिए जो हिस्सा मायने रखता है वह kernel है। एक VM अपना स्वयं का kernel boot करता है, इसलिए आप distribution चुनते हैं, आप kernel modules load करते हैं, और आप sysctl values सेट करते हैं जो केवल आप पर लागू होती हैं। यह container (LXC, Docker) से अलग है, जो host kernel को साझा करता है और केवल processes और files का अपना view प्राप्त करता है।
आप किसी भी Linux box पर एक command में उत्तर देख सकते हैं।
systemd-detect-virtkvm का अर्थ है कि आप KVM hypervisor पर एक virtual machine हैं। lxc या openvz का अर्थ है कि आप किसी और के kernel पर एक container में हैं। none का अर्थ है कि hardware आपका है। यदि command मौजूद नहीं है, तो lscpu | grep -i hypervisor CPU flags से वही जानकारी दिखाता है।
VPS क्या है
VPS एक VM के चारों ओर एक व्यावसायिक आवरण है। इसके पीछे की तकनीक वर्चुअलाइजेशन है, और "VPS" शब्द उन चीजों को जोड़ता है जो इसे बिक्री योग्य बनाती हैं: एक OS इमेज जिसे आप पुनः इंस्टॉल कर सकते हैं, एक IP एड्रेस, बैंडविड्थ की अनुमति, एक कंट्रोल पैनल, प्रति माह एक मूल्य और होस्ट के खराब होने पर ईमेल करने के लिए कोई व्यक्ति। "Private" शब्द का उपयोग इसे शेयर्ड होस्टिंग से अलग करने के लिए किया जाता है, जहाँ सैकड़ों साइटें एक ही ऑपरेटिंग सिस्टम और एक ही PHP कॉन्फ़िगरेशन साझा करती हैं।
चूंकि VPS एक उत्पाद का नाम है न कि कोई तकनीकी शब्द, इसलिए इसका मतलब हमेशा एक पूर्ण VM नहीं होता है। कुछ बजट प्लान इसी शब्द के तहत कंटेनर बेचते हैं। अंतर तब स्पष्ट होता है जब आपको पहली बार कर्नल की आवश्यकता होती है। कंटेनर-आधारित प्लान पर, sudo modprobe wireguard, RTNETLINK answers: Operation not supported या modprobe: FATAL: Module wireguard not found के साथ विफल हो जाता है, क्योंकि कर्नल होस्ट का होता है और आपको इसे बदलने की अनुमति नहीं होती है। KVM प्लान पर मॉड्यूल लोड हो जाता है और टनल चालू हो जाती है। यदि आप सर्वर के अंदर Docker, VPN, कस्टम कर्नल, या अपनी खुद की वर्चुअल मशीन चलाने की योजना बना रहे हैं, तो खरीदने से पहले वर्चुअलाइजेशन के प्रकार की जाँच करें। VPS के अंदर वर्चुअल मशीन चलाने के लिए होस्ट पर नेस्टेड वर्चुअलाइजेशन के साथ KVM की आवश्यकता होती है, जो कि प्लान्स का एक और छोटा समूह है।
VPC क्या है
VPC एक क्लाउड प्रदाता के भीतर एक सॉफ्टवेयर-परिभाषित नेटवर्क है। आप इसे CIDR नोटेशन में एक एड्रेस रेंज देते हैं, जैसे कि 10.0.0.0/16, फिर इसमें से सबनेट बनाते हैं, रूट टेबल जोड़ते हैं, और इसके भीतर मौजूद संसाधनों के सामने फायरवॉल नियम (सिक्योरिटी ग्रुप्स) लगाते हैं। इसमें न तो CPU होता है, न मेमोरी और न ही डिस्क। इसमें लॉग इन करने के लिए कुछ भी नहीं होता है। VPC में मौजूद हर सर्वर को डिलीट करने पर भी VPC वहीं बना रहता है, खाली और आमतौर पर मुफ्त।
VPC आपको प्राइवेट एड्रेसिंग की सुविधा देता है। एक ही VPC में मौजूद दो सर्वर प्रदाता के इंटरनल फैब्रिक पर 10.0.1.15 जैसे एड्रेस के माध्यम से बात करते हैं, ताकि ट्रैफिक कभी भी पब्लिक इंटरनेट तक न पहुँचे और इसके लिए इंटरनेट इग्रेस (egress) का शुल्क न लगे। इसके बाद एक डेटाबेस केवल अपने प्राइवेट एड्रेस पर लिसन (listen) कर सकता है, और दुनिया के लिए कोई भी पोर्ट एक्सपोज नहीं होता है।
ip -4 addr show10.0.0.0/8, 172.16.0.0/12 या 192.168.0.0/16 के भीतर का एड्रेस प्राइवेट होता है। उसी बॉक्स पर एक पब्लिक एड्रेस का मतलब है कि सर्वर इंटरनेट से सीधे एक्सेस किया जा सकता है, चाहे वह किसी भी नेटवर्क ऑब्जेक्ट में स्थित हो।
क्या VPC मेरे सर्वर को प्राइवेट बनाता है?
नहीं, और यह इन तीनों शब्दों के बारे में सबसे महंगी गलतफहमी है। एक VPC राउटिंग और एड्रेसिंग को नियंत्रित करता है। यह यह तय नहीं करता कि इंटरनेट किसी मशीन तक पहुँच सकता है या नहीं। यदि किसी instance के पास public IP है और security rules 0.0.0.0/0 से port 22 की अनुमति देते हैं, तो वह किसी भी अन्य सर्वर की तरह ही exposed है, चाहे वह VPC में हो या न हो। VPC से आपको जो isolation मिलती है, वह किसी resource को public address न देने की क्षमता है, साथ ही ऐसे नियम जो यह तय करते हैं कि कौन से subnets आपस में बात कर सकते हैं।
ये तीनों शब्द अलग-अलग प्रकार की isolation का वादा भी करते हैं। एक VM compute को isolate करता है: hypervisor CPU time और memory को अलग करता है, ताकि कोई अन्य guest आपकी RAM को न पढ़ सके। यह isolation disk और network के लिए कमजोर है, जहाँ एक ही host पर मौजूद व्यस्त पड़ोसी अभी भी आपकी गति धीमी कर सकता है। एक container आधारित VPS एक ही kernel साझा करता है, इसलिए kernel स्तर का bug एक साझा जोखिम है। एक VPC compute के बारे में कुछ भी isolate नहीं करता है। यह केवल network को आकार देता है।
मूल्य निर्धारण का मानसिक मॉडल
VPS आमतौर पर एक निश्चित मशीन के लिए एक निश्चित मासिक मूल्य पर बेचा जाता है। महीने की शुरुआत से पहले ही आपको बिल का पता होता है, और डिस्क तथा ट्रांसफर की अनुमति इसमें शामिल होती है। छोटे वर्कलोड के लिए क्लाउड इंस्टेंस की तुलना में VPS चुनने का मुख्य कारण यही पूर्वानुमानित खर्च है।
क्लाउड VM का बिल उपयोग के आधार पर (metered) आता है। इंस्टेंस का बिल प्रति घंटा या प्रति सेकंड के आधार पर बनता है, और डिस्क, स्नैपशॉट्स, लोड बैलेंसर तथा आउटबाउंड ट्रैफिक का बिल अलग से आता है। VPC आमतौर पर मुफ्त होता है, लेकिन इससे जुड़े प्रबंधित (managed) घटक मुफ्त नहीं होते: एक NAT gateway जो प्राइवेट इंस्टेंस को इंटरनेट तक पहुँचने की अनुमति देता है, उसका बिल प्रति घंटा और प्रति गीगाबाइट के आधार पर आता है, और उपलब्धता क्षेत्रों (availability zones) के बीच के ट्रैफिक का भी शुल्क लिया जाता है। जुलाई 2026 तक, प्रमुख क्लाउड प्रदाता अभी भी हर नए इंस्टेंस को स्वचालित रूप से एक डिफ़ॉल्ट VPC में रखते हैं, इसलिए आप इसका उपयोग कर रहे होते हैं, चाहे आपने इसके लिए कहा हो या न कहा हो।
आपको वास्तव में किसकी आवश्यकता है
- वेबसाइट, ऐप, गेम सर्वर या VPN के लिए एक सर्वर: एक VPS। नए VPS पर पहले दस मिनट उस प्लान के नाम से कहीं अधिक महत्वपूर्ण हैं।
- कई सर्वर जिन्हें निजी पतों (private addresses) पर एक-दूसरे तक पहुँचना आवश्यक है: एक VPC, या वह निजी नेटवर्क सुविधा जो आपका VPS प्रदाता किसी अन्य नाम से प्रदान करता है।
- एक ऐसा वर्कलोड जिसे पूरे डेटासेंटर के बंद होने के बावजूद जीवित रहना है: कई ज़ोन वाला क्लाउड, जिसका अर्थ है एक VPC के भीतर VMs।
- कर्नल का पूर्ण नियंत्रण, या उसके ऊपर अपना हाइपरवाइजर: एक KVM आधारित VPS या एक डेडिकेटेड सर्वर, और तुलना करते समय प्लान के पीछे के डिस्क प्रकार की जाँच करें।
अधिकांश सिंगल-सर्वर प्रोजेक्ट्स को कभी भी VPC की आवश्यकता नहीं होती है। VPS के साथ बंडल की गई निजी नेटवर्क सुविधा कुछ मशीनों के लिए वही काम पूरा कर देती है।
FAQ
क्या VPS और VM एक ही चीज़ हैं?
VPS एक ऐसी VM है जिसे कोई आपको बेचता है। KVM, Xen या VMware पर बनी हर VPS एक वर्चुअल मशीन होती है, लेकिन हर वर्चुअल मशीन VPS नहीं होती, क्योंकि VirtualBox के तहत आपके लैपटॉप पर चल रही VM किसी का उत्पाद नहीं है। VPS के रूप में लेबल की गई कुछ सस्ती योजनाएं पूर्ण VM के बजाय कंटेनर होती हैं, इसलिए kernel access पर निर्भर होने से पहले systemd-detect-virt के साथ पुष्टि कर लें।
क्या मैं VPC के अंदर VPS डाल सकता हूँ?
आमतौर पर नहीं, क्योंकि VPC एक क्लाउड प्रदाता का निर्माण है और इसमें केवल उसी खाते में बनाए गए संसाधन होते हैं। एक स्वतंत्र प्रदाता का VPS उस प्रदाता के नेटवर्क पर रहता है। यदि आपको दोनों के बीच निजी लिंक की आवश्यकता है, तो आप उनके बीच एक VPN टनल बनाएं, और फिर VPS इसके माध्यम से निजी सबनेट तक पहुंच जाएगा।
मेरा क्लाउड बिल समान VPS से अधिक क्यों है?
इंस्टेंस की कीमत इसका केवल एक हिस्सा है। स्टोरेज, स्नैपशॉट, आउटबाउंड ट्रैफिक, लोड बैलेंसर और NAT गेटवे एक मीटर वाले क्लाउड में अलग-अलग लाइन आइटम होते हैं, और केवल एक NAT गेटवे की कीमत एक छोटे VPS से अधिक हो सकती है। एक निश्चित कीमत वाला VPS डिस्क और ट्रांसफर अलाउंस को एक ही संख्या में जोड़ देता है, यही कारण है कि समान वर्कलोड वहां अक्सर सस्ता दिखता है।
मैं यह कैसे जांचूं कि मेरे सर्वर के पास वास्तविक kernel access है या नहीं?
systemd-detect-virt चलाएं और उत्तर पढ़ें। kvm, xen या vmware का मतलब है कि आपके पास अपना kernel है और modprobe काम करता है। lxc, lxc-libvirt या openvz का मतलब है कि आप होस्ट kernel साझा करते हैं, और जो कमांड मॉड्यूल लोड करते हैं या /proc/sys में लिखते हैं, वे Operation not supported के साथ विफल हो जाएंगे। एक दूसरी पुष्टि uname -r है, जो कंटेनर प्लान पर अक्सर एक ऐसा kernel संस्करण रिपोर्ट करती है जिसे आपके वितरण ने कभी जारी नहीं किया था।