EC2: एक उदाहरण सार्वजनिक DNS स्थिर है? क्या मैं इस पर भरोसा कर सकता हूं कि यह नहीं बदल रहा है?


41

मैंने अपना पहला उदाहरण लॉन्च किया है, और मैं इसे एक वेब सर्वर के रूप में उपयोग कर रहा हूं। मैं देखता हूं कि इसका एक सार्वजनिक DNS (एक सार्वजनिक URL) है, उदाहरण के लिए:

ec2-123-45-6-789.compute-1.amazonaws.com

मैं अपने ब्राउज़र में सफलतापूर्वक इस सर्वर पर जा सकता हूं, इसे cURL के माध्यम से हिट कर सकता हूं, आदि।

मैं इस वेब सर्वर का उपयोग मेरे द्वारा बनाए जा रहे ऐप में बैक-एंड सेवा के लिए करना चाहता हूं, इसलिए मैंने इस URL को अपने ऐप के कॉन्फ़िगरेशन में रखा है, और यह बहुत अच्छा काम करता है।

लेकिन जब मैं मैन्युअल रूप से रुकता हूं और अपनी आवृत्ति को फिर से शुरू करता हूं, तो मैं देखता हूं कि सार्वजनिक डीएनएस बदल जाता है! मैंने पढ़ा है कि ऐसा तब होता है जब आप स्पष्ट रूप से रुकते हैं और फिर से शुरू करते हैं, लेकिन ऐसा नहीं होता है यदि आप सिर्फ "रिबूट" करते हैं।

मैं कभी भी इस सर्वर को स्पष्ट रूप से रोकने और फिर से शुरू करने की योजना नहीं बनाता, लेकिन मेरा सवाल यह है: क्या यह सार्वजनिक डीएनएस किसी भी कारण से कभी भी अपने आप बदल जाएगा? जैसे अगर मशीन असामान्य रूप से दुर्घटनाग्रस्त हो जाए, या जो भी हो।

दूसरे शब्दों में, क्या इस URL पर वायर्ड किए गए ऐप को सुरक्षित करना सुरक्षित है?

जवाबों:


67

सार्वजनिक DNS नाम हमेशा सार्वजनिक आईपी पते से मेल खाता है।

सार्वजनिक IP पता उदाहरण के लिए वही रहता है जब तक कि इसे समाप्त या रोक नहीं दिया जाता है। एक रिबूट सार्वजनिक आईपी पते को नहीं बदलता है।

यदि EC2 का उदाहरण VPC में है, तो यह एक ही सार्वजनिक IP पते को एक स्टॉप और प्रारंभ के दौरान बनाए रखेगा।

यदि एक EC2 उदाहरण जो VPC में नहीं है, उसे रोक दिया जाता है और फिर से शुरू किया जाता है, तो यह संभवतः एक अलग सार्वजनिक आईपी पता प्राप्त करेगा।

उदाहरण विफल हो सकते हैं। जब आप एक असफल या समाप्त उदाहरण को बदलने के लिए एक नया उदाहरण शुरू करते हैं, तो यह संभवतः एक अलग सार्वजनिक आईपी पता प्राप्त करेगा।

क्योंकि उदाहरण विफल हो सकते हैं, और क्योंकि आप किसी इंस्टेंस के आकार (स्टॉप / स्टार्ट के साथ) को बदलना चाहते हैं, तो यह "सार्वजनिक आईपी पते] (या DNS नाम) के लिए वायर्ड किए गए ऐप को शिप करने की अनुशंसा नहीं की जाती है। एक बार जब आपका उदाहरण बंद हो जाता है / समाप्त हो जाता है / विफल हो जाता है, तो दूसरा उपयोगकर्ता उस आईपी पते को अपने उदाहरण के लिए असाइन कर सकता है और आपका सारा ट्रैफ़िक उनके पास चला जाएगा।

सार्वजनिक सेवाओं को अपने उदाहरण से जोड़ने के लिए इलास्टिक आईपी एड्रेस का उपयोग करने की सिफारिश की जाती है। आपको इलास्टिक IP पता रखने के लिए मिलता है और आप इसे किसी भी उदाहरण के लिए समय के साथ निर्दिष्ट कर सकते हैं, भले ही यह एक स्टॉप / स्टार्ट के बाद एक ही उदाहरण हो।

प्रत्येक इलास्टिक IP पता एक सार्वजनिक DNS नाम के साथ आता है, लेकिन आप शायद अपने खुद के होस्टनाम को Elastic IP पते पर मैप करना बेहतर होगा ताकि यह नाम मनुष्यों के लिए अधिक समझ में आए।

यहाँ लोचदार आईपी पते के लिए एक गाइड है:

http://aws.amazon.com/articles/1346

यहाँ मैंने एक लेख लिखा है जो एक उदाहरण के रिबूट और स्टॉप / स्टार्ट के बीच अंतर के बारे में बताता है:

रिबूटिंग बनाम स्टॉप / स्टार्ट ऑफ़ अमेजन EC2 इंस्टेंस
http://alestic.com/2011/09/ec2-reboot-stat-art

यहां मैंने एक लेख लिखा है जो एक कारण प्रदान करता है जिसे आप एक उदाहरण को रोकना / शुरू करना चाहते हैं, भले ही आपको नहीं लगता कि आप आज करेंगे:

एक ईसी 2 इंस्टेंस को एक बड़े आकार में ले जाना
http://alestic.com/2011/02/ec2-change-type


अच्छी तरह से प्रति जानकारी मैं अपने ec2 उदाहरण रिबूट किया है और अभी पता चला है कि सार्वजनिक dns एक नया आईपी में बदल गया। हो सकता है कि उदाहरण बीच में दुर्घटनाग्रस्त हो गया हो, लेकिन मुझे इस पर यकीन नहीं है।
निकोलस मंज़िनी

अमेज़ॅन केवल अनुशंसा करता है कि लोचदार आईपी का उपयोग लोड बैलेन्सर के लिए किया जाता है। इसलिए यदि आपके पास एक ec2 उदाहरण पर एक निजी सेवा है, तो आपको ips को मैन्युअल रूप से अपडेट करना होगा। docs.aws.amazon.com/AWSEC2/latest/UserGuide/…
जेसी

@ जेसे ईएलबी (इलास्टिक लोड बैलेंसर) इलास्टिक आईपी पते का उपयोग नहीं करते हैं। वास्तव में, ईएलबी हर समय आईपी पते बदलते हैं और उन्हें स्थायी नहीं बनाया जा सकता है। EC2 इंस्टेंस पर इलास्टिक IP लगाए जाते हैं और मूल प्रश्न के लिए ठीक उसी तरह की आवश्यकता होती है।
एरिक हैमंड
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.