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 machines होते हैं, लेकिन कुछ होस्ट ऐसे containers बेचते हैं जो उसी नाम के तहत होस्ट kernel साझा करते हैं। VPC (virtual private cloud) कोई सर्वर नहीं है। यह एक निजी नेटवर्क है जिसे आप क्लाउड अकाउंट के भीतर परिभाषित करते हैं, और आप इसमें संसाधन रखते हैं। 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-virt

kvm का अर्थ है कि आप KVM hypervisor पर एक virtual machine हैं। lxc या openvz का अर्थ है कि आप किसी और के kernel पर एक container में हैं। none का अर्थ है कि कोई समर्थित virtualisation नहीं पाया गया। यदि command मौजूद नहीं है, तो lscpu | grep -i hypervisor hypervisor की जानकारी दिखाता है, लेकिन containers की पहचान नहीं करता है।

VPS क्या है

VPS एक isolated सर्वर के चारों ओर बना एक व्यावसायिक आवरण (wrapper) है, जो अक्सर एक VM होता है। इसके पीछे की तकनीक वर्चुअलाइजेशन है, और "VPS" शब्द उन चीजों को जोड़ता है जो इसे बिक्री योग्य बनाती हैं: एक OS इमेज जिसे आप रीइंस्टॉल कर सकते हैं, एक IP एड्रेस, बैंडविड्थ की अनुमति, एक कंट्रोल पैनल, प्रति माह की कीमत और होस्ट के खराब होने पर संपर्क करने के लिए ईमेल सपोर्ट। "Private" शब्द का उपयोग इसे शेयर्ड होस्टिंग से अलग करने के लिए किया जाता है, जहाँ सैकड़ों साइटें एक ही ऑपरेटिंग सिस्टम और एक ही PHP कॉन्फ़िगरेशन साझा करती हैं।

चूंकि VPS एक प्रोडक्ट का नाम है न कि कोई तकनीकी शब्द, इसलिए इसका मतलब हमेशा एक पूर्ण VM नहीं होता। कुछ बजट प्लान इसी नाम के तहत कंटेनर बेचते हैं, और OpenVZ, जो उनमें से कई के पीछे का कंटेनर प्लेटफॉर्म है, अपने कंटेनरों को "वर्चुअल प्राइवेट सर्वर के रूप में भी जाना जाता है" के रूप में वर्णित करता है। अंतर तब सामने आता है जब आपको पहली बार कर्नल की आवश्यकता होती है। कंटेनर-आधारित प्लान पर कर्नल होस्ट का होता है और आपको इसे बदलने की अनुमति नहीं होती है। sudo modprobe wireguard विफल हो जाता है यदि वह कंटेनर की मॉड्यूल डायरेक्टरी में मॉड्यूल नहीं ढूंढ पाता है, भले ही होस्ट ने इसे पहले ही लोड कर लिया हो; एक गायब मॉड्यूल को लोड करने के लिए होस्ट कर्नल को बदलने की अनुमति भी चाहिए होती है। यदि होस्ट कर्नल में WireGuard सपोर्ट नहीं है, तो इंटरफ़ेस (ip link add dev wg0 type wireguard) बनाना RTNETLINK answers: Operation not supported के साथ विफल हो जाता है। wg-quick फिर एक यूजरस्पेस इम्प्लीमेंटेशन (डिफ़ॉल्ट रूप से wireguard-go) पर वापस चला जाता है यदि वह इंस्टॉल है, और यह संदेश प्रिंट करता है: "Missing WireGuard kernel module. Falling back to slow userspace implementation." उस फॉलबैक के लिए भी कंटेनर को TUN डिवाइस का उपयोग करने की अनुमति होनी चाहिए, जिसकी अनुमति हर होस्ट नहीं देता है, और यूजरस्पेस बाइनरी के बिना wg-quick त्रुटि पर रुक जाता है। KVM प्लान पर कर्नल आपका अपना होता है: आप WireGuard इंस्टॉल करते हैं, यदि मॉड्यूल पहले से लोड नहीं है तो उसे लोड करते हैं, इंटरफ़ेस कॉन्फ़िगर करते हैं, और टनल चालू हो जाती है। यदि आप सर्वर के अंदर Docker, VPN, कस्टम कर्नल या अपनी खुद की वर्चुअल मशीन चलाने की योजना बना रहे हैं, तो खरीदने से पहले वर्चुअलाइजेशन के प्रकार की जाँच करें। VPS के अंदर वर्चुअल मशीन चलाने के लिए होस्ट पर nested virtualisation के साथ KVM की आवश्यकता होती है, जो कि प्लान्स का एक और भी छोटा सेट है।

VPC क्या है

VPC क्लाउड प्रदाता के भीतर एक सॉफ्टवेयर-परिभाषित नेटवर्क है। अधिकांश क्लाउड पर आप इसे CIDR नोटेशन में एक एड्रेस रेंज देते हैं, जैसे कि 10.0.0.0/16, और फिर इसमें से सबनेट बनाते हैं (Google Cloud नेटवर्क-व्यापी रेंज को छोड़ देता है और प्रत्येक क्षेत्रीय सबनेट को अपनी रेंज देता है)। आप इसमें रूट टेबल जोड़ते हैं और इसके भीतर मौजूद संसाधनों के सामने फायरवॉल नियम (सिक्योरिटी ग्रुप्स) लगाते हैं। इसमें न तो CPU होता है, न मेमोरी और न ही डिस्क। इसमें लॉग इन करने के लिए कुछ भी नहीं होता है। VPC में मौजूद हर सर्वर को डिलीट करने पर भी VPC वहीं बना रहता है, खाली और आमतौर पर मुफ्त।

VPC आपको प्राइवेट एड्रेसिंग की सुविधा देता है। एक ही VPC में दो सर्वर प्रदाता के इंटरनल फैब्रिक पर 10.0.1.15 जैसे एड्रेस के माध्यम से बात करते हैं, ताकि ट्रैफिक कभी भी पब्लिक इंटरनेट को न छुए और इसे इंटरनेट इग्रेस के रूप में बिल न किया जाए। इसके बाद एक डेटाबेस केवल अपने प्राइवेट एड्रेस पर लिसन कर सकता है, और दुनिया के लिए कोई भी पोर्ट एक्सपोज नहीं होता है।

ip -4 addr show

10.0.0.0/8, 172.16.0.0/12 या 192.168.0.0/16 के भीतर का एड्रेस प्राइवेट होता है। केवल एक पब्लिक एड्रेस होने से सर्वर इंटरनेट से एक्सेसिबल नहीं हो जाता है: इसके लिए राउटिंग और फायरवॉल नियमों को भी एक्सेस की अनुमति देनी चाहिए।

क्या VPC मेरे सर्वर को private बनाता है?

नहीं, और इन तीन शब्दों के बारे में यह सबसे महंगी गलतफहमी है। एक VPC राउटिंग और एड्रेसिंग को नियंत्रित करता है। यह तय नहीं करता कि इंटरनेट किसी मशीन तक पहुँच सकता है या नहीं। यदि किसी instance के पास public IP है, उसका subnet इंटरनेट तक राउट करता है, और security rules 0.0.0.0/0 से port 22 की अनुमति देते हैं, तो वह किसी भी अन्य सर्वर की तरह ही exposed है, चाहे VPC हो या न हो। एक default VPC में इंटरनेट का वह रास्ता पहले से ही मौजूद होता है। VPC से आपको जो isolation मिलती है, वह यह है कि आप किसी resource को कोई public address न दें, साथ ही ऐसे नियम बना सकें जो यह तय करें कि कौन से subnet किससे बात कर सकते हैं।

ये तीन शब्द अलग-अलग प्रकार की isolation का वादा भी करते हैं। एक VM compute को isolate करता है: hypervisor CPU time और memory को अलग रखता है, ताकि कोई अन्य guest आपकी RAM को न पढ़ सके। disk और network के लिए वह isolation कमजोर होती है, जहाँ एक ही host पर मौजूद व्यस्त पड़ोसी अभी भी आपकी गति धीमी कर सकता है। एक container आधारित VPS एक ही kernel साझा करता है, इसलिए kernel स्तर का bug एक साझा जोखिम है। एक VPC compute के बारे में कुछ भी isolate नहीं करता है। यह केवल network को आकार देता है।

मूल्य निर्धारण का मानसिक मॉडल

VPS आमतौर पर एक निश्चित मशीन के लिए निश्चित मासिक मूल्य पर बेचा जाता है। महीने की शुरुआत से पहले ही आपको बिल का पता होता है, और डिस्क तथा ट्रांसफर की अनुमति इसमें शामिल होती है। यही पूर्वानुमानित खर्च वह मुख्य कारण है कि लोग छोटे वर्कलोड के लिए क्लाउड इंस्टेंस के बजाय VPS चुनते हैं।

क्लाउड VM मीटर के आधार पर बिल किया जाता है। इंस्टेंस का बिल प्रति घंटा या प्रति सेकंड के हिसाब से आता है, और डिस्क, स्नैपशॉट, लोड बैलेंसर तथा आउटबाउंड ट्रैफिक का बिल अलग से आता है। VPC आमतौर पर मुफ्त होता है, लेकिन इससे जुड़े प्रबंधित हिस्से मुफ्त नहीं होते: एक NAT gateway जो प्राइवेट इंस्टेंस को इंटरनेट तक पहुँचने की अनुमति देता है, उसका बिल प्रति घंटे के हिसाब से आता है, और इसके ट्रैफिक का शुल्क प्रदाता पर निर्भर करता है। AWS NAT gateway द्वारा प्रोसेस किए गए प्रत्येक गीगाबाइट के लिए शुल्क जोड़ता है, जबकि OVHcloud का कहना है कि उसके Public Cloud Gateway का शुल्क प्रति घंटा और उपयोग के आधार पर लिया जाता है, जिसमें ट्रैफिक शामिल होता है। AWS पर, जो ट्रैफिक अवेलेबिलिटी ज़ोन को पार करता है, उसका भी बिल लिया जाता है, जबकि Azure एक ही क्षेत्र में अपने ज़ोन के बीच ट्रैफिक के लिए शुल्क नहीं लेता है। 27 अक्टूबर, 2026 तक, AWS VPC गाइड के अनुसार प्रत्येक क्षेत्र में आपके पास एक डिफ़ॉल्ट VPC होता है, जबकि AWS VPC FAQ के अनुसार 18 मार्च, 2013 से पहले बनाए गए खाते उन सक्षम क्षेत्रों में डिफ़ॉल्ट VPC का उपयोग कर सकते हैं जहाँ उन्होंने पहले EC2 इंस्टेंस लॉन्च नहीं किए हैं या ELB, RDS, ElastiCache या Redshift संसाधनों का प्रावधान नहीं किया है। एक डिलीट किए गए डिफ़ॉल्ट VPC को फिर से बनाया जा सकता है लेकिन रिस्टोर नहीं किया जा सकता। Google Cloud प्रत्येक नए प्रोजेक्ट को एक डिफ़ॉल्ट नेटवर्क देता है जब तक कि कोई एडमिनिस्ट्रेटर उसे बंद न कर दे, और यदि आप कोई मौजूदा वर्चुअल नेटवर्क नहीं चुनते हैं तो Azure एक नए VM के साथ एक वर्चुअल नेटवर्क बनाता है। किसी भी स्थिति में, आपका क्लाउड VM इन नेटवर्कों में से एक के अंदर स्थित होता है, चाहे आपने इसके लिए कहा हो या नहीं।

आपको वास्तव में किसकी आवश्यकता है

  • वेबसाइट, ऐप, गेम सर्वर या VPN के लिए एक सर्वर: एक VPS। नए VPS पर पहले दस मिनट प्लान के नाम से कहीं अधिक महत्वपूर्ण होते हैं।
  • कई सर्वर जिन्हें निजी पतों (private addresses) पर एक-दूसरे तक पहुँचना आवश्यक है: एक VPC, या वह निजी नेटवर्क सुविधा जो आपका VPS प्रदाता किसी अन्य नाम से प्रदान करता है।
  • ऐसा वर्कलोड जिसे पूरे डेटासेंटर के बंद होने की स्थिति में भी चलते रहना है: कई ज़ोन वाला क्लाउड, जिसका अर्थ है एक VPC के भीतर VM।
  • कर्नल पर पूर्ण नियंत्रण, या उसके ऊपर अपना हाइपरवाइज़र: एक KVM आधारित VPS (यदि आप हाइपरवाइज़र चाहते हैं तो nested virtualisation सक्षम करें) या एक डेडिकेटेड सर्वर, और तुलना करते समय प्लान के पीछे के डिस्क प्रकार की जाँच करें।

अधिकांश सिंगल सर्वर प्रोजेक्ट्स को कभी VPC की आवश्यकता नहीं होती है। VPS के साथ बंडल की गई निजी नेटवर्क सुविधा कुछ मशीनों के लिए वही काम पूरा कर देती है।

FAQ

क्या VPS और VM एक ही चीज़ हैं?

आमतौर पर हाँ, लेकिन हमेशा नहीं। KVM, Xen या VMware पर बना हर VPS एक virtual machine होता है, लेकिन हर virtual machine एक VPS नहीं होती, क्योंकि आपके laptop पर VirtualBox के अंदर चल रही VM किसी का product नहीं है। हर VPS एक VM भी नहीं है: OpenVZ या LXC पर आधारित plans ऐसे containers होते हैं जो host kernel को साझा करते हैं, और OpenVZ खुद अपने containers को virtual private servers कहता है। kernel access पर निर्भर होने से पहले systemd-detect-virt के साथ पुष्टि करें।

क्या मैं VPS को VPC के अंदर रख सकता हूँ?

आमतौर पर नहीं, क्योंकि VPC एक cloud provider की संरचना है; AWS एक ही organization के accounts के बीच अपने subnets को साझा करने की सुविधा भी देता है। एक स्वतंत्र provider का VPS उसी provider के network पर रहता है। यदि आपको दोनों के बीच private links की आवश्यकता है, तो इसके बजाय उनके बीच एक VPN tunnel बनाएँ, और फिर VPS उसके माध्यम से private subnets तक पहुँच सकता है।

मेरा cloud bill एक समान VPS से अधिक क्यों है?

instance की कीमत उसका केवल एक हिस्सा है। metered cloud में storage, snapshots, outbound traffic, load balancers और NAT gateways अलग-अलग line items होते हैं, और केवल एक NAT gateway की मासिक लागत एक छोटे VPS से अधिक हो सकती है। एक fixed price वाला VPS disk और transfer allowance को एक ही संख्या में शामिल कर लेता है, यही कारण है कि वही workload वहाँ अक्सर सस्ता दिखता है।

मैं यह कैसे जाँचूँ कि मेरे सर्वर के पास वास्तविक kernel access है या नहीं?

systemd-detect-virt चलाएँ और उत्तर पढ़ें। kvm, xen या vmware (या नए EC2 instances पर amazon) का मतलब है कि आपके पास अपना kernel है और modprobe इसमें modules load कर सकता है। lxc, lxc-libvirt या openvz का मतलब है कि आप host kernel साझा करते हैं; modules load करने के लिए host kernel के विशेषाधिकारों की आवश्यकता होती है, जबकि /proc/sys के तहत namespaced settings, जिसमें network settings भी शामिल हैं, तब भी configurable रहती हैं जब host इसकी अनुमति देता है। एक दूसरी पुष्टि uname -r है, जो container plan पर अक्सर एक ऐसा kernel version बताती है जिसे आपकी distribution ने कभी release ही नहीं किया था।

क्या यह लेख उपयोगी था?

#vps#vm#vpc#cloud#basics