6

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

क्या यह व्यवहार इरादा है? यदि हां, तो जब भी यह अपडेट हो जाए तो मैं चरणों में तैनात करने के लिए कैसे प्राप्त करूं?

(terraform ने वही समस्या का उल्लेख है: https://github.com/hashicorp/terraform/issues/6613)

उत्तर

5

लगता है आसानी से एक नई तैनाती बनाने के लिए कोई रास्ता नहीं है की तरह जब भी आपके Cloudformation संसाधन परिवर्तनों में से एक।

इसके आसपास काम करने का एक तरीका लैम्ब्डा समर्थित बैक कस्टम संसाधन का उपयोग करना होगा (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-custom-resources.html देखें)।

लैम्ब्डा को नई तैनाती बनाना चाहिए, केवल तभी जब आपके संसाधनों में से एक अपडेट किया गया हो। यदि आपके संसाधन में से एक अद्यतन किया गया है निर्धारित करने के लिए,
आप शायद इस API कॉल के आसपास कस्टम तर्क लागू करना होगा: http://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_DescribeStackEvents.html

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

ध्यान दें कि आपको अपने कस्टम संसाधन में DependsOn क्लॉज जोड़ना होगा जिसमें आपके API से संबंधित सभी संसाधन शामिल होंगे। अन्यथा, आपके सभी एपीआई संसाधन अपडेट होने से पहले आपकी तैनाती बनाई जा सकती है।

उम्मीद है कि इससे मदद मिलती है। अमेज़न के शब्दों में

+0

निश्चित रूप से मदद करता है। :) अमेज़ॅन ने एक और तरीका सुझाया - रुचि रखते हैं तो साझा कर सकते हैं। – bjfletcher

+1

@bjfletcher निश्चित रूप से जानना चाहेंगे! – spg

+1

@bjfletcher इस समस्या में भी चल रहा है, यह आपको अमेज़ॅन से क्या मिला है? –

2

CloudFormation है:

एडब्ल्यूएस CloudFormation प्रावधान का ख्याल रखता है और के लिए आप http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html

एपीआई की पुनः तैनाती एक प्रावधान कार्य नहीं है ... यह एक है उन संसाधनों को विन्यस्त पदोन्नति गतिविधि जो आपके सॉफ़्टवेयर रिलीज प्रक्रिया में एक चरण का हिस्सा है।

एडब्ल्यूएस कोडपिपलाइन एक निरंतर वितरण सेवा है जिसका उपयोग आप अपने सॉफ़्टवेयर को रिलीज़ करने के लिए आवश्यक चरणों को मॉडल, विज़ुअलाइज़ और स्वचालित करने के लिए कर सकते हैं। http://docs.aws.amazon.com/codepipeline/latest/userguide/welcome.html

CodePipeline भी पाइप लाइन में क्रिया से Lambda प्रकार्य के निष्पादन का समर्थन करता है। इसलिए, जैसा कि पहले बताया गया था, अपने एपीआई को तैनात करने के लिए एक लैम्ब्डा फ़ंक्शन बनाएं लेकिन इसे क्लाउडफॉर्मेशन के बजाय कोडपिपलाइन से कॉल करें।

जानकारी के लिए इस पेज से परामर्श करें: http://docs.aws.amazon.com/codepipeline/latest/userguide/actions-invoke-lambda-function.html

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