हमें VPC में निजी सबनेट की आवश्यकता क्यों है?


127

AWS VPC कॉन्फ़िगर में 4 परिदृश्य हैं । लेकिन आइए इन दोनों को देखें:

  • परिदृश्य 1: 1 सार्वजनिक सबनेट।
  • परिदृश्य 2: 1 सार्वजनिक सबनेट और 1 निजी सबनेट।

चूंकि सार्वजनिक सबनेट में लॉन्च किए गए किसी भी उदाहरण में EIP नहीं है (जब तक इसे असाइन नहीं किया गया है), यह पहले से ही इंटरनेट से पता करने योग्य नहीं है। फिर:

  • निजी सबनेट की आवश्यकता क्यों है?
  • निजी और सार्वजनिक सबनेट के बीच अंतर क्या हैं?

4
निजी सबनेट, सार्वजनिक IP को मशीनों में निर्दिष्ट करने के बाद भी, सार्वजनिक इंटरनेट से अभी भी अप्राप्य है। मैं एक सार्वजनिक सबनेट में वेब सर्वर के साथ उदाहरण के लिए VPC सेटअप बनाता हूं और मेरा डेटाबेस निजी सबनेट में बैकएंड करता है। मैं निजी और सार्वजनिक सबनेट पर मशीनों का उपयोग करने के लिए ग्राहक के प्रवेश द्वार से जुड़ सकता हूं।
user602525

जवाबों:


239

अपडेट: दिसंबर, 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) दोनों है।"


16
विस्तृत जवाब, लेकिन मुझे अभी भी आश्चर्य है। NAT उदाहरण के साथ एक निजी सबनेट पर एक सर्वर का क्या फायदा है और एक सख्त सुरक्षा नीति के साथ एक सर्वर सार्वजनिक सबनेट है?
abhillman

13
@abhillman यह वास्तव में एक लाभ के बारे में नहीं है। यह VPC में नेटवर्किंग के काम करने के तरीके के बारे में है। दिए गए सबनेट पर सभी उदाहरणों में एक ही डिफ़ॉल्ट गेटवे का उपयोग करना होता है, जो या तो "इंटरनेट गेटवे" वर्चुअल ऑब्जेक्ट होगा, जो NAT नहीं करेगा, या यह NAT उदाहरण होगा, जो NAT नहीं करेगा । जब तक आपकी सभी मशीनों में सार्वजनिक आईपी नहीं है, या उनमें से कोई भी नहीं करता है, आप दोनों प्रकार के सबनेट्स चाहते हैं। यदि सब कुछ एक इंटरनेट-फेसिंग वेब सर्वर है, तो निश्चित रूप से, आपको केवल सार्वजनिक सबनेट की आवश्यकता हो सकती है, और सही सुरक्षा कॉन्फ़िगरेशन के साथ, कोई नुकसान नहीं है।
माइकल - sqlbot

1
वास्तव में अब V3 aws.amazon.com/blogs/aws/new-vpc-endpoint-for-amazon-s3 के भीतर से कुछ AWS संसाधनों जैसे S3 को एक्सेस करना संभव है ।
avloss

2
@avloss मेरा ध्यान इस बिंदु पर वापस लाने और इस जवाब के लिए इसकी प्रासंगिकता के लिए धन्यवाद। बहुत सारे संपादन के बिना लगभग दो साल हो गए हैं और आप सही हैं - चीजें विकसित होती रहती हैं। मैं इसे VPC समापन बिंदुओं का उल्लेख करने के लिए अद्यतन करूंगा।
माइकल - sqlbot

4
@VirtualJasper आपको सभी-सार्वजनिक पतों का उपयोग नहीं करना चाहिए । जहां संभव हो निजी आईपीवी 4 पतों का उपयोग करना एक सर्वोत्तम अभ्यास है। यह आपके हमले की सतह को कम करता है। यह बेहतर ईजेशन कंट्रोल देता है। IPv4 पता स्थान दुर्लभ है और इसलिए ऐसा हो रहा है, इस संसाधन का अधिक से अधिक उपभोग करने का एक नैतिक पहलू है जिसकी आपको आवश्यकता है। यह आगे तर्कसंगत लगता है कि यदि आप अपने अनुमत पतों की संख्या बढ़ाने के लिए एडब्ल्यूएस समर्थन मांगते रहते हैं, तो वे कुछ बिंदुओं पर सवाल पूछना शुरू कर देंगे। वीपीसी को इस तरह से काम करने के लिए डिज़ाइन किया गया था। क्या आप सिस्टम को हिरन कर सकते हैं और सभी सार्वजनिक आईपी का उपयोग कर सकते हैं? हाँ। क्या यह एक अच्छा विचार है? नंबर
माइकल - sqlbot

27

मैं एक अलग डील सुझाता हूँ - खाई "निजी" सबनेट और NAT इंस्टेंस / गेटवे। वे आवश्यक नहीं हैं। यदि आप नहीं चाहते कि मशीन इंटरनेट से सुलभ हो, तो उसे ऐसे सुरक्षा समूह में न रखें जो इस तरह की पहुंच की अनुमति देता हो।

NAT उदाहरण / गेटवे को डिच करके, आप इंस्टेंस / गेटवे की रनिंग कॉस्ट को समाप्त कर रहे हैं, और आप गति सीमा को समाप्त कर देते हैं (जैसा कि यह 250mbit या 10gbit है)।

यदि आपके पास एक मशीन है जिसे सीधे इंटरनेट तक पहुंचने की आवश्यकता नहीं है, (और मैं पूछूंगा कि आप इसे कैसे * * पैच कर रहे हैं), तो हर तरह से, एक सार्वजनिक आईपी पता निर्दिष्ट न करें।

* यदि यहाँ उत्तर किसी प्रकार का छद्म है, तो ठीक है, आप ओवरहेड कर रहे हैं, लेकिन प्रत्येक अपने स्वयं के लिए।


5
मैं और अधिक सहमत नहीं हो सकता। मैं जितने अधिक प्रश्नों के साथ काम करता हूं, निजी सबनेट के लिए उतना ही कम उपयोग करता हूं। यह ऐसा लगता है कि ऑन-प्रिमाइसेस नेटवर्क कैसे दिखते थे और उनका अस्तित्व मुख्य रूप से परिचितता में है। मुझे यकीन है कि किनारे के मामले हैं जहां वे अभी भी मान्य हो सकते हैं लेकिन सामान्य शब्दों में, मैं कहता हूं कि उनका उपयोग न करें। यह तथ्य कि इस सवाल का शीर्ष (और बहुत लंबा उत्तर) वास्तविक प्रश्न को स्वीकार नहीं करता है, यह उनके अतिरेक का संकेत है।
कार्ल

1
मैं यहां सिद्धांत से पूरी तरह सहमत हूं, लेकिन व्यवहार में मैंने पाया है कि AWS आपको डिफ़ॉल्ट रूप से प्रति क्षेत्र 20 EIP तक सीमित करता है, और मुझे संदेह है कि वे सैकड़ों सार्वजनिक IPv4 पतों की अनुमति देने के लिए उस सीमा को बढ़ाने के लिए तैयार होंगे। वे इंटरनेट पर दुर्लभ संसाधन हैं।
निक

1
@ यदि आपको EIP की आवश्यकता नहीं है, तो याद रखें, यह NAT को खोदने के बारे में है - हमें परवाह नहीं है कि किसी एक फेसलेस मशीन का सार्वजनिक आईपी क्या है, और अगर यह बदलता है, तो हमें परवाह नहीं है।
फिल

1
आज, AWS ने वैश्विक स्तर पर IPv6 जारी किया। IPv4 को मरने दो। :-)
फिल

3
निजी सबनेट्स को खोद कर निकालना स्वाभाविक है कि गलतियाँ कभी नहीं होती हैं। दर्जनों उदाहरणों और सैकड़ों सुरक्षा नियमों के कारण उनके बीच और अनुरक्षण में शामिल कई कर्मियों के साथ, संभावना है कि कोई व्यक्ति गलती से दुनिया के लिए एक बंदरगाह खोल देता है, उसे नजरअंदाज नहीं किया जा सकता है। एक रक्षात्मक आसन जो कुछ जरूरतों के लिए डिजाइन द्वारा सार्वजनिक पहुंच को सीमित करता है, सुरक्षा के लिए एक बेहतर दृष्टिकोण है। आप में से जो अचूक हैं, उनके लिए रॉक ऑन करें। हम में से बाकी के लिए केवल नश्वरता, सावधानी के पक्ष में गलती करना इतना भयानक विचार नहीं है।
जिम वॉकर

23

मेरे पास ऊपर दिए गए माइकल के उत्तर के लिए एक टिप्पणी जोड़ने की प्रतिष्ठा नहीं है, इसलिए एक उत्तर के रूप में मेरी टिप्पणी को जोड़ना।

यह ध्यान देने योग्य है कि एडब्ल्यूएस प्रबंधित गेटवे अपने स्वयं के उदाहरण को चलाने की तुलना में दिनांक पर ~ 3 गुना अधिक महंगा है। यह निश्चित रूप से माना जाता है कि आपको केवल एक NAT उदाहरण की आवश्यकता है (यानी आपके पास कई NAT उदाहरण नहीं हैं जो विफलता के लिए कॉन्फ़िगर किए गए हैं, आदि) जो कि आमतौर पर अधिकांश छोटे से मध्यम उपयोग के मामले परिदृश्यों के लिए सही है। NAT गेटवे के माध्यम से 100GB के मासिक डेटा ट्रांसफर को मानते हुए,

प्रबंधित NAT आवृत्ति मासिक लागत = $ 33.48 / महीना (एक महीने में $ 0.045 / घंटा * 744 घंटे) + $ 4.50 ($ 0.045 प्रति GB संसाधित डेटा * 100GB) + $ 10 ($ .10 / GB मानक AWS डेटा शुल्क) सभी डेटा के माध्यम से स्थानांतरित किए गए। नैट गेटवे) = $ 47.98

t2.nano उदाहरण को NAT उदाहरण = $ 4.84 / माह ($ 0.0065 * 744 घंटे एक महीने में) + $ 10 ($ .10 / GB मानक AWS डेटा अंतरण शुल्क NAT उदाहरण के माध्यम से हस्तांतरित) = $ 14,0004 के रूप में कॉन्फ़िगर किया गया।

जब आप AWS प्रबंधित NAT गेटवे को उच्च उपलब्धता के लिए निर्मित अतिरेक में करते हैं, तो यह निश्चित रूप से तब होता है जब आप निरर्थक NAT उदाहरणों के लिए जाते हैं। यदि आप अतिरिक्त $ 33 / माह की परवाह नहीं करते हैं, तो प्रबंधित NAT उदाहरण निश्चित रूप से एक और उदाहरण बनाए रखने के लिए कम सिरदर्द के लायक है। यदि आप वीपीसी के भीतर अपने उदाहरणों तक पहुंच के लिए एक वीपीएन (जैसे ओपनवीपीएन) उदाहरण चला रहे हैं, तो आप बस उस उदाहरण को अपने नैट गेटवे के रूप में कार्य करने के लिए कॉन्फ़िगर कर सकते हैं, और फिर आपको केवल एनएटी के लिए एक अतिरिक्त उदाहरण बनाए रखने की आवश्यकता नहीं है ( हालांकि कुछ लोग वीपीएन और एनएटी के संयोजन के विचार पर भड़क सकते हैं)।


4
सहमत - हालांकि, t2.nano उदाहरण के साथ, आपको NAT गेटवे से चिल्ला 10 चोटी / सेक की तुलना में शायद 250Mbit / सेकंड का अधिकतम थ्रूपुट दिखाई देगा। मुझे गलत मत समझो, मैं मूल्य निर्धारण को थोड़ा स्थिर समझता हूं, और अन्य सीमाएं भी हैं - मैं अभी भी लगभग हर जगह NAT उदाहरणों का उपयोग कर रहा हूं ... लेकिन, निष्पक्षता में, आप भुगतान कर रहे हैं, भाग में, के लिए गेटवे के साथ कुछ बहुत गंभीर कच्चे पैकेट स्विचिंग पावर और नेटवर्क कनेक्टिविटी।
माइकल - sqlbot

1
लेकिन नेट गेटवे इतना महंगा क्यों है? क्या पते का अनुवाद करने के लिए बहुत सारे कंप्यूटर संसाधनों की आवश्यकता होती है? मैं समझ सकता हूं कि वास्तव में विशाल एप्लिकेशन के लिए NAT VPC से बहुत सारे अनुरोधों को प्रॉक्सी कर सकता है, लेकिन अगर हम सामान्य मध्य व्यवसाय और छोटी परियोजनाओं के बारे में $ 0.045 प्रति घंटे की बात करते हैं और प्रत्येक जीबी काफी overestimated है।
सर्गी चेरेपोनोव

15

माइकल द्वारा जवाब - sqlbot अनुमान लगाता है कि निजी आईपी पते की आवश्यकता है। मुझे लगता है कि यह मानना ​​सार्थक है कि क्या हमें पहली जगह में निजी आईपी पते का उपयोग करने की आवश्यकता है? कम से कम एक टिप्पणीकार ने एक ही सवाल पूछा।

नैट उदाहरण के साथ एक निजी सबनेट पर सर्वर का क्या फायदा है [बनाम] एक सर्वर [क] सार्वजनिक सबनेट में एक सख्त सुरक्षा नीति के साथ? - abhillman जून 24 '14 को 23:45 पर

उस परिदृश्य की कल्पना करें जहां आप VPC का उपयोग कर रहे हैं और आप अपने EC2 सभी उदाहरणों के लिए सार्वजनिक IP पते असाइन करते हैं। चिंता न करें, इसका मतलब यह नहीं है कि वे जरूरी इंटरनेट पर उपलब्ध हैं, क्योंकि आप सुरक्षा समूहों का उपयोग उसी तरह से प्रतिबंधित करते हैं जैसे कि EC2 क्लासिक के साथ काम किया। सार्वजनिक आईपी पते का उपयोग करने से आपको एलएलबी जैसी किसी चीज का उपयोग करने की आवश्यकता के बिना सीमित दर्शकों तक कुछ सेवाओं को आसानी से उजागर करने में सक्षम होने का लाभ मिलता है। यह आपको NAT उदाहरण या NAT गेटवे सेट करने की आवश्यकता से मुक्त करता है। और जब से आपको आधे से अधिक सबनेट की आवश्यकता होती है, आप अपने VPC के लिए एक छोटे CIDR आवंटन का उपयोग करना चुन सकते हैं या आप एक ही आकार के VPC के साथ बड़े सबनेट बना सकते हैं। और कम सबनेट्स का मतलब है कि आप अंतर-AZ ट्रैफ़िक के लिए भी कम भुगतान करेंगे।

तो, हम ऐसा क्यों नहीं करते? AWS का कहना है कि निजी IP का उपयोग करना सबसे अच्छा अभ्यास क्यों है?

अमेज़ॅन वेब सर्विसेज के पास सार्वजनिक आईपीवी 4 पतों की सीमित आपूर्ति है क्योंकि संपूर्ण के रूप में इंटरनेट के पास सार्वजनिक आईपीवी 4 पतों की सीमित आपूर्ति है। निजी IP पतों का उपयोग करना आपके लिए उनके सर्वोत्तम हित में है, जो कि प्रभावी रूप से असीमित हैं, बजाय अत्यधिक सार्वजनिक IPv4 पतों के। आप इसका कुछ प्रमाण देख सकते हैं कि कैसे AWS की कीमतों में लोचदार IP; एक ईआईपी एक उदाहरण से जुड़ा हुआ है, लेकिन एक अप्रयुक्त ईआईपी में पैसा खर्च होता है।

लेकिन तर्क के लिए, मान लें कि हम इंटरनेट पर सार्वजनिक IPv4 पतों की कमी के बारे में परवाह नहीं करते हैं। आखिरकार, मेरा आवेदन विशेष है। आगे क्या होगा?

किसी VPC में EC2 उदाहरण के लिए सार्वजनिक IP पता संलग्न करने के केवल दो तरीके हैं।

1. एसोसिएट पब्लिक आईपी एड्रेस

एक नया EC2 उदाहरण लॉन्च करते समय आप सार्वजनिक आईपी पते का अनुरोध कर सकते हैं। यह विकल्प कंसोल में एक चेकबॉक्स के रूप में दिखाई देता है, aws-cli का उपयोग करते समय --associate-public-ip-address ध्वज के रूप में, और CloudFormation का उपयोग करते समय एम्बेडेड नेटवर्क इंटरफ़ेस ऑब्जेक्ट पर AssociatePublicIpAddress ध्वज के रूप में । किसी भी स्थिति में, सार्वजनिक आईपी पता eth0(DeviceIndex = 0) को सौंपा गया है । नया उदाहरण लॉन्च करते समय आप केवल इस दृष्टिकोण का उपयोग कर सकते हैं। हालाँकि, यह कुछ कमियों के साथ आता है।

एक नुकसान यह है कि एक अंतर्निहित नेटवर्क इंटरफ़ेस ऑब्जेक्ट का उपयोग करने वाले इंस्टेंस के सुरक्षा समूह को बदलना इंस्टेंस के तत्काल प्रतिस्थापन को मजबूर करेगा, कम से कम यदि आप CloudFormation का उपयोग कर रहे हैं।

एक और नुकसान यह है कि इस तरह से असाइन किए गए एक सार्वजनिक आईपी पते को खो दिया जाएगा जब उदाहरण बंद कर दिया जाएगा।

2. इलास्टिक आईपी

सामान्य तौर पर इलास्टिक आईपी के पसंदीदा दृष्टिकोण हैं क्योंकि वे सुरक्षित हैं। आपको एक ही आईपी पते का उपयोग जारी रखने की गारंटी दी जाती है, आप किसी भी EC2 इंस्टेंसेस को गलती से हटाने का जोखिम नहीं उठाते हैं, आप किसी भी समय एक लोचदार आईपी को स्वतंत्र रूप से संलग्न / अलग कर सकते हैं, और आपको अपने EC2 इंस्टेंसेस पर लागू सुरक्षा समूहों को बदलने की स्वतंत्रता है।

... लेकिन AWS आपको प्रति क्षेत्र 5 EIP तक सीमित करता है। आप अधिक अनुरोध कर सकते हैं, और आपका अनुरोध स्वीकृत हो सकता है। लेकिन एडब्ल्यूएस केवल इस बात से इनकार कर सकता है कि मेरे द्वारा बताए गए तर्क के आधार पर अनुरोध। तो आप शायद EIP पर भरोसा नहीं करना चाहते हैं यदि आप प्रति क्षेत्र 5 EC2 इंस्टेंसेस से परे अपने बुनियादी ढांचे को बढ़ाने की योजना बना रहे हैं।

अंत में, सार्वजनिक आईपी पते का उपयोग कुछ अच्छे लाभों के साथ होता है, लेकिन यदि आप विशेष रूप से सार्वजनिक आईपी पते का उपयोग करने का प्रयास करते हैं, तो आप प्रशासनिक या स्केलिंग समस्याओं में भाग लेंगे। उम्मीद है कि यह समझाने और समझाने में मदद करता है कि सबसे अच्छे तरीके वे क्यों हैं।


3
EIPs के लिए डिफ़ॉल्ट सीमा वास्तव में प्रति क्षेत्र 5 , नहीं 20. "सब के बाद, अपने आवेदन विशेष है।" यह वाक्य स्वयं के उत्थान के योग्य है।
माइकल - sqlbot

4
यह विचार कहां है कि आप एक सार्वजनिक आईपी के साथ एक मशीन के लिए मक्खी पर सुरक्षा समूहों को नहीं बदल सकते हैं जो कि ईआईपी नहीं है? यह सच नहीं है!
फिल

1
@ राष्ट्रीय सुधार। वह कथन झूठा है। यह कहते हुए कि आप एक ऐसे उदाहरण के सुरक्षा समूह को नहीं बदल सकते हैं, जिसके पास सार्वजनिक आईपी पता है, जो इस तरह से जुड़ा हुआ है, जो उसके पूरे उत्तर को रद्द कर देता है। मुझे पता है कि यह एक प्रकार से कठोर हो सकता है, लेकिन आप कैसे गलत बयानों के साथ पाठकों को गुमराह कर सकते हैं जो आपकी पोस्ट के मूल में हैं। वैसे भी मैं निक के साथ सहमत हूँ कि आप निजी सबनेट को खोद सकते हैं और बस जगह में एक उचित फ़ायरवॉल सेटअप के साथ सार्वजनिक उपयोग कर सकते हैं,
जियो सी।

1
मैंने अब सुरक्षा समूह को बदलने में सक्षम नहीं होने के बारे में गलत बयानों को हटा दिया है।
जेपी

उन बयानों में से कुछ अभी भी वहाँ हैं;)
टिम मालोन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.