अपडेट:दिसंबर 2015 तक AWS प्रबंधित EC2 NAT गेटवे प्रदान करता है। इसलिए अब आपके निजी सबनेट के लिए NAT को मैन्युअल रूप से तैनात और प्रबंधित करने की आवश्यकता नहीं है। फिर भी अगर किसी कारण से आपको अपने स्वयं के NAT सर्वर परिनियोजित करने की आवश्यकता है तो आप नीचे दिए गए निर्देशों का उपयोग कर सकते हैं।
Amazon Virtual Private Cloud (Amazon VPC) आपको Amazon Web Services (AWS) क्लाउड के एक निजी, पृथक अनुभाग का प्रावधान करने देता है जहां आप वर्चुअल नेटवर्क में AWS संसाधनों को लॉन्च कर सकते हैं जिसे आप परिभाषित करना। वीपीसी के साथ, आप अपने सबनेट को परिभाषित कर सकते हैं और अपने सबनेट के बीच मार्गों को भी नियंत्रित कर सकते हैं। आप यह भी तय कर सकते हैं कि क्या आप अपने सबनेट को इंटरनेट पर दिखाना चाहते हैं। VPC "निजी" सबनेट आपके MongoDB सर्वर के लिए आदर्श होस्ट हैं। एक NAT कॉन्फ़िगर के साथ सबनेट पर आपकी मशीनें इंटरनेट तक पहुंच सकती हैं लेकिन इंटरनेट पर कोई भी आपके सर्वर तक नहीं पहुंच सकता है। आप ऑन-प्रिमाइसेस से अपने मोंगो इंस्टेंस तक पहुंचने के लिए एक साइट टू साइट वीपीएन कनेक्शन भी सेट कर सकते हैं।
ScaleGrid VPC सबनेट में MongoDB होस्टिंग इंस्टेंसेस को परिनियोजित और प्रबंधित करना आसान बनाता है। एडब्ल्यूएस पर मोंगोडीबी की सभी मौजूदा सुविधाएं जैसे बैकअप, रिकवरी, निगरानी, अलर्ट इत्यादि एक वीपीसी वातावरण में पूरी तरह कार्यात्मक हैं।
Mongo परिनियोजन के लिए उपयोग किए जाने वाले निजी VPC सबनेट के लिए इंटरनेट तक आउटबाउंड एक्सेस की आवश्यकता होती है - इसलिए सुनिश्चित करें कि आप अपने mongo इंस्टेंसेस को परिनियोजित करने से पहले एक NAT सेटअप करें। यदि आप एक प्रतिकृति सेट परिनियोजित कर रहे हैं, तो कृपया एक अलग उपलब्धता क्षेत्र में प्रत्येक तीन सबनेट बनाएं।
यहाँ एक उदाहरण VPC (10.20.0.0/16) है जिसे मैंने EU क्षेत्र में चार सबनेट के साथ सेटअप किया है:
- सबनेट 1 (10.20.0.0/24) - सार्वजनिक सबनेट
- सबनेट 2 (10.20.1.0/24) - उपलब्धता क्षेत्र के लिए मैप किए गए निजी सबनेट ईयू-वेस्ट-1ए
- सबनेट 3 (10.20.2.0/24) - उपलब्धता क्षेत्र के लिए मैप किए गए निजी सबनेट ईयू-वेस्ट-1बी
- सबनेट 4 (10.20.3.0/24) - उपलब्धता क्षेत्र के लिए मैप किए गए निजी सबनेट eu-west-1c
इस पोस्ट का लक्ष्य एक 3 नोड MongoDB प्रतिकृति सेट करना है, जिसमें प्रत्येक सबनेट 2, 3 और 4 में से प्रत्येक में एक प्रतिकृति है।
निजी सबनेट 2, 3 और 4 से इंटरनेट एक्सेस की अनुमति देने के लिए सार्वजनिक सबनेट में एक NAT इंस्टेंस सेट किया गया है। मैंने एक सुरक्षा समूह - "MongoSecurityGroup" भी बनाया है जिसमें MongoDB मशीनें हैं सबनेट 2,3 और 4 के साथ संबद्ध किया जाएगा। यहाँ NAT के लिए सुरक्षा समूह सेटअप का विवरण दिया गया है (NAT सेटअप का मुश्किल हिस्सा यह सुनिश्चित करना है कि सुरक्षा समूह NAT के साथ इनबाउंड और आउटबाउंड संचार की अनुमति दें)।
NAT सुरक्षा समूह
आउटबाउंड: सभी की अनुमति है (यह डिफ़ॉल्ट है)
इनबाउंड: MongoSecurity group से 80,443 और 5671 को अनुमति दें
मोंगो सुरक्षा समूह
आउटबाउंड: सभी की अनुमति है (यह डिफ़ॉल्ट है)
इनबाउंड: एप्लिकेशन सुरक्षा समूह और मोंगो सुरक्षा समूह से 27017, मोंगो सुरक्षा समूह से 27019 (शार्ड के लिए)
समस्या निवारण
एक बार जब आप अपने सुरक्षा समूह नियमों को सेट कर लेते हैं तो कृपया सत्यापित करें कि सब कुछ सही तरीके से सेटअप है। यह सत्यापित करने का एकमात्र वास्तविक तरीका है कि आपके सुरक्षा समूह सही तरीके से सेटअप हैं या नहीं, एक उदाहरण बनाना है:
- एडब्ल्यूएस कंसोल से एक इंस्टेंस बनाएं और इसे कॉन्फ़िगर किए गए सबनेट में से एक में रखें। उदाहरण में
- एसएसएच। "wget cnn.com" चलाकर इंटरनेट कनेक्टिविटी की जांच करें। यदि यह विफल हो जाता है तो आपकी आउटबाउंड इंटरनेट एक्सेस सही तरीके से सेटअप नहीं है।
कनेक्शन के काम न करने पर सत्यापन के चरण:
- NAT इंस्टेंस में SSH और wget कमांड चलाकर सत्यापित करें कि इसमें इंटरनेट से कनेक्टिविटी है।
- सत्यापित करें कि निजी सबनेट पर आपके इंस्टेंस में पोर्ट 80, 443 और 5671 पर NAT इंस्टेंस से कनेक्टिविटी है
एक बार जब आप अपना सेटअप सत्यापित कर लेते हैं तो यहां एक विस्तृत चरण दर चरण प्रक्रिया है कि कैसे अपने Mongo उदाहरणों को VPC सबनेट में परिनियोजित किया जाए।
चरण 1:प्रति VPC सबनेट के लिए एक मशीन पूल बनाएं
मशीन पूल या क्लाउड प्रोफाइल टैब पर नेविगेट करें और अपने AWS क्लाउड अकाउंट से कनेक्ट करने के लिए क्रिएट पर क्लिक करें। अपनी Amazon API कुंजी और गुप्त कुंजी दर्ज करें
उस क्षेत्र का चयन करें जिसमें आपने VPC बनाया है।
VPC परिनियोजन कॉन्फ़िगरेशन चुनें और अपना VPC, सबनेट और सुरक्षा समूह चुनें। यदि आप अपने प्रतिकृति सेट को सबनेट में वितरित करना चाहते हैं तो आपको प्रति सबनेट मशीन पूल बनाने की आवश्यकता है और फिर बनाएँ विज़ार्ड में प्रत्येक उदाहरण के लिए सही मशीन पूल चुनें।
चरण 2:अपने Mongo उदाहरणों को VPC सबनेट के मशीन पूल में परिनियोजित करें
डिप्लॉयमेंट टैब पर नेविगेट करें और एक नया MongoDB क्लस्टर बनाने के लिए Create पर क्लिक करें। विज़ार्ड में मशीन पूल चुनें जिसे आपने अभी परिनियोजन लक्ष्य के रूप में बनाया है। यह आपके द्वारा चुने गए विशेष वीपीसी सबनेट में आपके मोंगो इंस्टेंस बनाएगा।
यदि आपके पास अन्य प्रश्न/टिप्पणियां या फीचर अनुरोध हैं तो हमें आपसे सुनना अच्छा लगेगा। आप हमें [email protected] पर ईमेल कर सकते हैं।