अपडेट: दिसंबर, 2015 के अंत में, AWS ने एक नई सुविधा की घोषणा की , a VPC के लिए प्रबंधित NAT गेटवे । यह वैकल्पिक सेवा इंटरनेट एक्सेस करने के लिए एक निजी सबनेट में वीपीसी के उदाहरणों के लिए एक वैकल्पिक तंत्र प्रदान करती है, जहां पहले, आम समाधान VPC के भीतर एक सार्वजनिक सबनेट पर EC2 उदाहरण था, "नेट उदाहरण" के रूप में कार्य करना, नेटवर्क एड्रेस ट्रांसलेशन प्रदान करना ( तकनीकी रूप से, अन्य, निजी सबनेट में उदाहरणों के लिए पोर्ट एड्रेस ट्रांसलेशन), उन मशीनों को अपने आउटबाउंड इंटरनेट एक्सेस के लिए NAT इंस्टेंस पब्लिक आईपी एड्रेस का उपयोग करने की अनुमति देता है।
नई प्रबंधित NAT सेवा मूल रूप से निम्न जानकारी की प्रयोज्यता को नहीं बदलती है, लेकिन इस विकल्प का अनुसरण उस सामग्री में नहीं किया जाता है। एक NAT उदाहरण को अभी भी वर्णित किया जा सकता है, या इसके बजाय प्रबंधित NAT गेटवे सेवा का प्रावधान किया जा सकता है। इस उत्तर का एक विस्तारित संस्करण NAT गेटवे के बारे में अधिक जानकारी को एकीकृत करता है और एक NAT उदाहरण की तुलना कैसे करता है यह आगामी होगा, क्योंकि ये दोनों VPC में निजी / सार्वजनिक सबनेट प्रतिमान के लिए प्रासंगिक हैं।
ध्यान दें कि इंटरनेट गेटवे और NAT गेटवे दो अलग-अलग विशेषताएं हैं। इंटरनेट एक्सेस के साथ सभी वीपीसी कॉन्फ़िगरेशन में इंटरनेट गेटवे वर्चुअल ऑब्जेक्ट होगा।
अमेज़ॅन वीपीसी में "निजी" और "सार्वजनिक" सबनेट के बीच अंतर को समझने के लिए आईपी राउटिंग और नेटवर्क एड्रेस ट्रांसलेशन (एनएटी) सामान्य रूप से कैसे काम करते हैं और यह कैसे वे विशेष रूप से वीपीसी में लागू किए जाते हैं, यह समझने की आवश्यकता है।
VPC में सार्वजनिक और निजी सबनेट के बीच मुख्य अंतर को परिभाषित किया जाता है कि VPC रूट तालिका में सबनेट का डिफ़ॉल्ट मार्ग क्या है।
यह कॉन्फ़िगरेशन, बदले में, उस विशेष सबनेट पर इंस्टेंसेस पर सार्वजनिक आईपी पते का उपयोग करने, या उपयोग न करने की वैधता को निर्धारित करता है।
प्रत्येक सबनेट में एक डिफ़ॉल्ट मार्ग होता है, जो केवल दो चीजों में से एक हो सकता है:
- VPC के "इंटरनेट गेटवे" ऑब्जेक्ट, "सार्वजनिक" सबनेट के मामले में, या
- एक NAT डिवाइस - वह है, या तो NAT गेटवे या EC2 उदाहरण, "NAT उदाहरण" भूमिका, एक "निजी" सबनेट के मामले में।
इंटरनेट गेटवे सार्वजनिक आईपी पते के बिना इंस्टेंस के लिए कोई नेटवर्क एड्रेस ट्रांसलेशन नहीं करता है, इसलिए एक सार्वजनिक आईपी पते के बिना एक उदाहरण इंटरनेट से बाहर नहीं जुड़ सकता है - सॉफ्टवेयर अपडेट डाउनलोड करने या एस 3 1 और एसक्यूएस जैसे अन्य एडब्ल्यूएस संसाधनों तक पहुंचने जैसी चीजें करने के लिए। - यदि इसके VPC सबनेट पर डिफ़ॉल्ट मार्ग इंटरनेट गेटवे ऑब्जेक्ट है। इसलिए, यदि आप "सार्वजनिक" सबनेट पर एक उदाहरण हैं, तो आपको एक सार्वजनिक आईपी पते की आवश्यकता होती है ताकि महत्वपूर्ण संख्या में ऐसी चीजें कर सकें जो सर्वर को आमतौर पर करने की आवश्यकता होती है।
केवल एक निजी आईपी पते वाले उदाहरणों के लिए, इंटरनेट पर आउटबाउंड एक्सेस का एक वैकल्पिक तरीका है। यह वह जगह है जहाँ नेटवर्क एड्रेस ट्रांसलेशन और एक NAT उदाहरण आता है।
एक निजी सबनेट पर मशीनों से इंटरनेट का उपयोग कर सकते हैं क्योंकि एक निजी सबनेट पर डिफ़ॉल्ट मार्ग है नहीं VPC "इंटरनेट गेटवे" वस्तु - यह एक EC2 उदाहरण एक नेट उदाहरण के रूप में विन्यस्त है।
एक NAT उदाहरण सार्वजनिक आईपी के साथ सार्वजनिक सबनेट पर एक उदाहरण है, और विशिष्ट कॉन्फ़िगरेशन। एएमआई ऐसे हैं जो ऐसा करने के लिए पूर्व-निर्मित हैं, या आपके अपने स्वयं के निर्माण कर सकते हैं।
जब निजी-संबोधित मशीनें ट्रैफ़िक को बाहर की ओर भेजती हैं, तो VPC द्वारा NAT उदाहरण के लिए, ट्रैफ़िक भेजा जाता है, जो पैकेट पर स्रोत IP पते (निजी मशीन का निजी IP पता) को अपने स्वयं के सार्वजनिक IP पते के साथ भेजता है, ट्रैफ़िक भेजता है इंटरनेट से बाहर, प्रतिक्रिया पैकेट को स्वीकार करता है, और उन्हें मूल मशीन के निजी पते पर वापस भेज देता है। (यह स्रोत पोर्ट को फिर से लिख सकता है, और किसी भी मामले में, यह मैपिंग को याद करता है ताकि यह पता चले कि किस आंतरिक मशीन को प्रतिक्रिया पैकेट प्राप्त करना चाहिए)। एक NAT उदाहरण किसी भी "अप्रत्याशित" इनबाउंड ट्रैफ़िक को निजी उदाहरणों तक पहुंचने की अनुमति नहीं देता है, जब तक कि ऐसा करने के लिए विशेष रूप से कॉन्फ़िगर नहीं किया गया हो।
इस प्रकार, जब एक निजी सबनेट से बाहरी इंटरनेट संसाधन का उपयोग किया जाता है, तो ट्रैफिक NAT उदाहरण का पता लगाता है, और NAT उदाहरण के सार्वजनिक आईपी पते से उत्पन्न हुआ है ... तो प्रतिक्रिया यातायात NAT उदाहरण पर वापस आ जाता है। NAT समूह को न तो सुरक्षा समूह को सौंपा गया है और न ही निजी समूह को सौंपे गए सुरक्षा समूह को इस प्रतिक्रिया ट्रैफ़िक को "अनुमति" देने के लिए कॉन्फ़िगर करने की आवश्यकता है, क्योंकि सुरक्षा समूह स्टेटफुल हैं। वे महसूस करते हैं कि प्रतिक्रिया यातायात आंतरिक रूप से उत्पन्न सत्रों से संबंधित है, इसलिए यह स्वचालित रूप से अनुमत है। बेशक, जब तक सुरक्षा समूह को इसकी अनुमति देने के लिए कॉन्फ़िगर नहीं किया जाता है, तब तक अप्रत्याशित ट्रैफ़िक से इनकार किया जाता है।
पारंपरिक आईपी रूटिंग के विपरीत, जहां आपका डिफ़ॉल्ट गेटवे आपके उसी सबनेट पर होता है, वीपीसी में काम करने का तरीका अलग होता है: किसी भी दिए गए निजी सबनेट के लिए NAT उदाहरण हमेशा अलग सबनेट पर होता है, और यह कि अन्य सबनेट हमेशा एक सार्वजनिक सबनेट होता है, क्योंकि NAT उदाहरण के लिए एक सार्वजनिक बाहरी IP होना चाहिए, और इसके डिफ़ॉल्ट गेटवे को VPC "इंटरनेट गेटवे" ऑब्जेक्ट होना चाहिए।
इसी तरह ... आप एक निजी सबनेट पर एक सार्वजनिक आईपी के साथ एक उदाहरण को तैनात नहीं कर सकते। यह काम नहीं करता है, क्योंकि एक निजी सबनेट पर डिफ़ॉल्ट मार्ग एक NAT उदाहरण (जो यातायात पर NAT करता है) है, और इंटरनेट गेटवे ऑब्जेक्ट नहीं है (जो नहीं करता है)। इंटरनेट से इनबाउंड ट्रैफ़िक उदाहरण के सार्वजनिक IP को हिट करेगा, लेकिन उत्तर NAT उदाहरण के माध्यम से बाहर की ओर जाने का प्रयास करेगा, जो या तो ट्रैफ़िक को छोड़ देगा (क्योंकि यह उन कनेक्शनों के उत्तरों से बना होगा जिनके बारे में उन्हें जानकारी नहीं है, इसलिए उन्हें पता नहीं है 'डी अमान्य माना जाता है) या अपने स्वयं के सार्वजनिक आईपी पते का उपयोग करने के लिए उत्तर ट्रैफ़िक को फिर से लिखेगा, जो तब काम नहीं करेगा जब तक कि बाहरी उत्पत्ति उन उत्तरों को स्वीकार नहीं करेगी जो एक आईपी पते से आए थे, जिनके साथ वे संचार शुरू करने की कोशिश कर रहे थे। ।
संक्षेप में, फिर, "निजी" और "सार्वजनिक" पदनाम वास्तव में इंटरनेट से पहुंच या अक्षमता के बारे में नहीं हैं। वे उस प्रकार के पते के बारे में हैं जो उस सबनेट पर उदाहरणों को सौंपा जाएगा, जो अनुवाद करने की आवश्यकता के कारण प्रासंगिक है - या अनुवाद से बचने के लिए - इंटरनेट इंटरैक्शन के लिए उन आईपी पते।
चूंकि VPC में सभी VPC सबनेट से अन्य सभी VPC सबनेट से रूट निहित हैं, इसलिए डिफ़ॉल्ट मार्ग आंतरिक VPC ट्रैफ़िक में कोई भूमिका नहीं निभाता है। निजी आईपी पते के साथ उदाहरण VPC के अन्य निजी आईपी पते से "उनके निजी आईपी पते से" जुड़ेंगे, न कि उनके सार्वजनिक आईपी पते से (यदि उनका एक है) ... जब तक कि गंतव्य का पता एक और निजी पता है वीपीसी के भीतर।
यदि किसी भी परिस्थिति में निजी आईपी पते के साथ आपके उदाहरण कभी भी आउटबाउंड इंटरनेट ट्रैफ़िक को उत्पन्न करने की आवश्यकता नहीं है, तो वे तकनीकी रूप से "सार्वजनिक" सबनेट पर तैनात किए जा सकते हैं और फिर भी इंटरनेट से दुर्गम होंगे ... लेकिन इस तरह के कॉन्फ़िगरेशन के तहत उनके लिए इंटरनेट की ओर आउटबाउंड ट्रैफ़िक उत्पन्न करना असंभव है, जिसमें अन्य AWS अवसंरचना सेवाओं के साथ कनेक्शन शामिल हैं, जैसे S3 1 या SQS।
1. S3 के बारे में, विशेष रूप से, यह कहने के लिए कि इंटरनेट एक्सेस की हमेशा आवश्यकता होती है, एक ओवरसिप्लाईफिकेशन है जो संभवतः समय के साथ दायरे में बढ़ेगा और अन्य AWS सेवाओं में फैल जाएगा, क्योंकि VPC की क्षमताएं बढ़ती और विकसित होती रहती हैं। एक अपेक्षाकृत नई अवधारणा है जिसे वीपीसी एंडपॉइंट कहा जाता हैयह आपके उदाहरणों को अनुमति देता है, जिनमें केवल निजी आईपी पते वाले लोग शामिल हैं, वीपीसी के भीतर चयनित सबनेट से सीधे एस 3 तक पहुंचने के लिए, "इंटरनेट" को छूने के बिना और नेट उदाहरण या नेट गेटवे का उपयोग किए बिना, लेकिन इसके लिए अतिरिक्त कॉन्फ़िगरेशन की आवश्यकता होती है, और आपके VPC के समान AWS क्षेत्र में केवल बाल्टियों का उपयोग करने के लिए उपयोग करने योग्य है। डिफ़ॉल्ट रूप से, S3 - जो, इस लेखन के रूप में, एकमात्र सेवा है जिसने VPC एंडपॉइंट बनाने की क्षमता को उजागर किया है - केवल इंटरनेट के माध्यम से VPC के अंदर से सुलभ है। जब आप एक VPC समापन बिंदु बनाते हैं, तो यह एक उपसर्ग सूची बनाता है (pl-xxxxxxxx
) कि आप अपने VPC रूट टेबल का उपयोग करके उस विशेष AWS सेवा के लिए ट्रैफ़िक को वर्चुअल "VPC Endpoint" ऑब्जेक्ट के माध्यम से सीधे सेवा के लिए भेज सकते हैं। यह विशेष रूप से S3 के लिए आउटबाउंड एक्सेस को प्रतिबंधित करने की समस्या को हल करता है, क्योंकि उपसर्ग सूची का उपयोग आउटबाउंड सुरक्षा समूहों में किया जा सकता है, एक गंतव्य आईपी पते या ब्लॉक के स्थान पर - और एक S3 VPC समापन बिंदु अतिरिक्त प्रबंधन के अधीन हो सकता है , अंदर से बाल्टी का उपयोग प्रतिबंधित, जैसा कि वांछित है।
2. जैसा कि दस्तावेज़ीकरण में उल्लेख किया गया है, वास्तव में यहां चर्चा की जा रही है, पोर्ट के साथ-साथ नेटवर्क एड्रेस ट्रांसलेशन भी है। यह आम है, हालांकि तकनीकी रूप से थोड़ा सा प्रभाव है, संयुक्त ऑपरेशन को "एनएटी" के रूप में संदर्भित करने के लिए। जब हम वास्तव में "टीएलएस" का अर्थ करते हैं, तो हम में से कई लोग "एसएसएल" कहने के लिए कुछ हद तक परेशान होते हैं। हम जानते हैं कि हम किस बारे में बात कर रहे हैं, लेकिन हम इसका वर्णन करने के लिए सबसे सही शब्द का उपयोग नहीं करते हैं। "ध्यान दें कि हम इस प्रलेखन में NAT शब्द का उपयोग सामान्य आईटी अभ्यास का पालन करने के लिए करते हैं, हालांकि NAT डिवाइस की वास्तविक भूमिका पता ट्रांसलेशन और पोर्ट एड्रेस ट्रांसलेशन (PAT) दोनों है।"