पोस्टमार्टम करने की क्षमता खोए बिना अपरिवर्तनीय सर्वर पैटर्न को कैसे लागू किया जाए?


12

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

इस अनुशासन के कार्यान्वयन का एक लोकप्रिय पहलू सर्वर तक रिमोट एक्सेस के तरीकों को हटाना है जो एक बार लॉन्च किया गया है (एस्प एसएसएच एक्सेस को हटा रहा है)। रिमोट एक्सेस को हटाना यह सुनिश्चित करने का एक आसान तरीका है कि सर्वर का कॉन्फ़िगरेशन तैनाती स्वचालन द्वारा तैयार कॉन्फ़िगरेशन से मेल खाता है।

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

पोस्टमार्टम करने की क्षमता खोए बिना अपरिवर्तनीय सर्वर पैटर्न को कैसे लागू किया जाए?

जवाबों:


9

सबसे पहले, किसी अपरिवर्तनीय सर्वर पर ssh को हटाने की कोई गारंटी नहीं है कि इसमें कोई बदलाव नहीं होगा, यह अधिक है क्योंकि रिमोट एक्सेस चैनल को हटाकर आप हमले की सतह को कम करने के लिए कुछ बदलने की आवश्यकता नहीं होनी चाहिए।

एक तरह का पोस्टमार्टम रखने का तरीका लॉग सेंट्रलाइजेशन है। इसे प्राप्त करने के तरीकों का एक असंख्य है, ELK स्टैक, स्प्लंक, syslog ...

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

इस समाधान का मुख्य लाभ यह है कि आप समस्या के समय केवल असफल सिस्टम जानकारी प्राप्त करते हैं, समय-समय पर उन्हें प्राप्त करने की तुलना में बड़े informations को इकट्ठा करने की अनुमति देते हैं।

इसे कैसे प्राप्त किया जाए, इस पर अधिक विशिष्ट होना मुश्किल है, प्रत्येक वितरण में चीजों को प्राप्त करने का कुछ तरीका है और मेरे पास कोई सामान्य उदाहरण नहीं है।


7

तथ्य यह है कि आपके पास एसएसएच पहुंच नहीं है इसका मतलब यह नहीं है कि मशीन तक पहुंचने का कोई तरीका नहीं है। सबसे अधिक संभावना है कि आप इसे किसी क्लाउड ऑपरेटर पर चला रहे हैं, जहाँ आप निम्न कार्य भी कर सकते हैं:

  • मशीन का एक स्नैपशॉट लें। आप बस इसे नष्ट करने से पहले बॉक्स का एक स्नैपशॉट ले सकते हैं, बाद के विश्लेषण के लिए।
  • कंसोल के माध्यम से मशीन तक पहुंचें। आपको संभवतः इसके लिए रूट पासवर्ड की आवश्यकता होगी, लेकिन कुछ क्लाउड प्रदाता किसी भी समय कंसोल एक्सेस के लिए एक यादृच्छिक रूट पासवर्ड इंजेक्ट कर सकते हैं।

ये अनिवार्य रूप से आपकी मशीन तक "भौतिक" पहुंच हैं, और यदि आप अन्य प्रकार की पहुंच निकालते हैं तो भी यह उपलब्ध होगा। आप हालांकि इन इंटरफेस को सीमित कर सकते हैं।

इसके अलावा @Tensibai ने कहा कि बेहतर काम करने के लिए उचित लॉगिंग और मॉनिटरिंग सेट अप है, इसलिए किसी भी समय आपको पोस्टमार्टम करना होगा, इसके लिए पर्याप्त डेटा उपलब्ध हैं।


4
कंसोल एक्सेस को काउंटर करने के लिए, AWS EC2 किसी भी कंसोल एक्सेस प्रदान नहीं करता है, यदि आप SSH को कॉन्फ़िगर नहीं करते हैं, तो आपके पास मशीन तक पहुंच नहीं है। मशीन वॉल्यूम का स्नैपशॉट लेने से डेटा का विश्लेषण करने के लिए इसे "फोरेंसिक" उदाहरण में एक नई डिस्क के रूप में बढ़ते हुए मदद मिल सकती है।
तेंसीबाई
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.