2017-08-15 6 views
6

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

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

मुझे यकीन नहीं है कि यह एप्लिकेशन हर तैनाती पर सब कुछ फिर से बनाने का प्रयास क्यों करेगा क्योंकि ईसी 2 उदाहरण दूर हो जाते हैं और फिर जब वे बैक अप लेते हैं तो उन्हें ईएलबी में जोड़ा जाता है हालांकि ईएलबी ऐसा नहीं कर सकता स्वास्थ्य जांच इसलिए उन्हें लगातार सेवा से बाहर रखा जाता है और पर्यावरण एक मृत राज्य में है। यह अच्छा होगा अगर मैं किसी भी तरह से इस एप्लिकेशन के साथ दुर्घटनाग्रस्त होने के कारण लॉग को देख सकूं।

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

क्या तैनाती के दौरान क्या हो रहा है और यह क्यों हो रहा है यह देखने का कोई तरीका है?

+0

ईबी को तैनाती के दौरान वातावरण को समाप्त नहीं किया जाना चाहिए। क्या आप ईबी कंसोल में ईवेंट टैब पर असामान्य कुछ देख रहे हैं? शायद एक ऑटो स्केलिंग नियम आपके उदाहरण को ट्रिगर और समाप्त कर रहा है? – Brian

+0

यह लॉग है, आप पर्यावरण के नेतृत्व में तैनाती के दौरान होने वाली हर चीज को देख सकते हैं क्योंकि ईएलबी द्वारा नए बनाए गए ec2 उदाहरण को कुछ अजीब कारणों से आउटऑफ सेवा के रूप में देखा जाता है। जब मैं पर्यावरण को खरोंच से पुनर्निर्माण करता हूं तब भी यह हर तैनाती के साथ होता है। https://paste.laravel.io/LKLzq वर्तमान में, मेरे पास एक फंसे राज्य में वातावरण है क्योंकि मैंने मैन्युअल रूप से समाप्त करने की कोशिश की और ऐसा नहीं होगा। मैं मैन्युअल रूप से एनआईआई को हटा नहीं सकता क्योंकि यह कहता है कि मेरे पास अनुमति नहीं है क्योंकि समाप्ति प्रक्रिया पहले से ही आरडीएस इंस्टेंस –

+0

हटा दी गई है, यह तब से लॉग है जब मैंने तैनाती विफल होने के बाद पर्यावरण को पुनर्निर्माण करने की कोशिश की और नए उदाहरण शुरू किए गए लेकिन सक्षम नहीं ईएलबी https://paste.laravel.io/KLoRw के साथ संवाद करें अंत में मैं एनएनआई की वजह से सुरक्षा समूहों को हटा नहीं सकता हूं और आरडीएस को पहले से हटाए जाने के कारण मैं एनआईआई को अलग नहीं कर सकता। –

उत्तर

0

लोचदार बीनस्टॉक दृश्यों के पीछे क्लाउडफॉर्मेशन का उपयोग करता है। आप सही ब्लॉक की पहचान करके पूरे पर्यावरण को हटाने में सक्षम होंगे (awseb-e-j5zfptidfe-stack द्वारा आपके लॉग के अनुसार उपसर्ग) और उन्हें हटाएं - या कम से कम ENI के साथ एक को हटा दें।

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

यदि आप जानते हैं कि आप इसमें डेटा को संरक्षित करना चाहते हैं तो लोचदार बीनस्टॉक स्टैक में अपने आरडीएस को शामिल न करना अच्छा अभ्यास है। इसे अलग से बनाएं और बस अपने स्टैक पर कनेक्शन विवरण में पास करें। एडब्ल्यूएस detailed instructions प्रदान करता है। एक संक्षिप्त सारांश होगा:

  1. डेटाबेस
  2. के लिए एक सुरक्षा समूह बनाएं सुरक्षा समूह
  3. के साथ एक आरडीएस डेटाबेस बनाना वातावरण चर के रूप में डेटाबेस कनेक्शन paremeters अपने ईबी ढेर में जोड़े
  4. जोड़े ईसी 2 सुरक्षा समूह आपके डेटाबेस सुरक्षा समूह को डीबी पर यातायात के एक स्वीकृत स्रोत के रूप में।

अंत में। आपको यह निर्धारित करने की आवश्यकता है कि आपके ढेर में उदाहरण क्यों समाप्त हो रहे हैं। ऐसा लगता है कि वे 'स्वस्थ' नहीं बन रहे हैं। Ignore health check अक्षम करें जो लोचदार बीनस्टॉक तैनाती के लिए एक विकल्प है।

इसका परिणाम ईसी 2 उदाहरणों के साथ पर्यावरण को 'अस्वास्थ्यकर' चिह्नित किया जाना चाहिए। ईसी 2 उदाहरण health checks पर सही ढंग से प्रतिक्रिया क्यों नहीं दे रहे हैं और इस मुद्दे को हल करने का निदान करने के लिए आप जो भी टूल्स चाहते हैं उसका उपयोग कर सकते हैं।

ईसी 2 उदाहरण स्वास्थ्य जांच में विफल होने के कई कारण हो सकते हैं।चेक को गलत तरीके से कॉन्फ़िगर किया जा सकता है, सुरक्षा समूह गलत हो सकते हैं या ईसी 2 इंस्टेंस पर सेवा स्वयं प्रतिक्रिया दे सकती है जैसा कि इसे करना चाहिए।

+0

मैं आपके द्वारा बताए गए स्टैक के आधार पर ढेर को हटाने में देखता हूं, हालांकि जब भी मैं इसे समाप्त करने का प्रयास करता हूं, तब भी पर्यावरण के अंदर से बीनस्टॉक से पर्यावरण को हटाना विफल रहता है। मुझे पता चला है कि समस्या का कारण क्या है और यह एक कॉन्फ़िगरेशन फ़ाइल है जो एक सुरक्षा समूह प्रवेश नियम जोड़ती है, मैंने उस फ़ाइल को उस समय हटा दिया है और ऐसा लगता है कि यह काम करता है। जिस फ़ाइल का मैं उपयोग कर रहा था वह यह है, यह सुनिश्चित नहीं है कि यह क्यों विफल रहा था। https://github.com/FoxxMD/laravel-elasticbeanstalk-queue-worker/blob/master/src/.ebextensions/00supervisordIngress.config –

+0

@ जोसेफ क्रॉफर्ड, फ़ाइल एक संसाधन 'AWSEBSecurityGroup' बनाती है जो [पहले से मौजूद है] (http : //docs.aws.amazon.com/elasticbeanstalk/latest/dg/environment-resources.html)। यदि वह फ़ाइल ElasticBeanstalk स्टैक के साथ विलय हो गई है तो उसी नाम वाले दो संसाधनों के परिणामस्वरूप अपरिभाषित व्यवहार होगा। –

संबंधित मुद्दे