7

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

प्रणाली आरेख

enter image description here

अमेज़न शब्दों में (https://aws.amazon.com/api-gateway/faqs/): "बैकएंड संचालन के प्रॉक्सी अनुरोध भी इंटरनेट पर सार्वजनिक रूप से सुलभ होने की जरूरत है"। यह मुझे आंतरिक के बजाय ईएलबी सार्वजनिक (इंटरनेट-फेस) बनाने के लिए मजबूर करता है। फिर, मुझे यह सुनिश्चित करने के लिए एक तरीका चाहिए कि केवल एपीआई गेटवे वीपीसी के बाहर ईएलबी तक पहुंचने में सक्षम है।

मेरा पहला विचार एपीआई गेटवे में क्लाइंट सर्टिफिकेट का उपयोग करना था, लेकिन ईएलबी इसका समर्थन नहीं कर रहा है।

किसी भी विचार की अत्यधिक सराहना की जाएगी!

+2

मुझे नहीं लगता कि एक आसान समाधान है। या तो एपीआई गेटवे आपके लिए नहीं है या आपको थोड़ा और करना है। समाधानों में एएलबी से पहले हैप्रोक्सी डालना शामिल है जो क्लाइंट प्रमाणपत्र को सत्यापित करेगा। या एएलबी से पहले एक लैम्ब्डा डालें लेकिन उसे पूरी प्रतिक्रिया को चीजों को धीमा करने के लिए संभवतः बफर किया जाना चाहिए। या यदि आप एपीआई गेटवे से एएलबी के अनुरोध के लिए एक गुप्त शीर्षलेख इंजेक्ट कर सकते हैं। इस रहस्य को बैकएंड में सत्यापित किया जाएगा। मैं आईपी श्वेतसूची की अनुशंसा नहीं करता क्योंकि एपीआई गेटवे के लिए आईपी श्रेणी स्थिर नहीं है और ब्रेक सामान बदल सकती है। – doorstuck

+0

धन्यवाद @doorstuck। मैं हैप्रोक्सी जैसे नए घटकों को शामिल करने से बचना चाहता हूं। मुझे लगता है कि इस परिदृश्य (एपीआई गेटवे, ईएलबी, ईसीएस क्लस्टर) काफी आम है। क्या एडब्ल्यूएस इसके लिए बॉक्स समाधान से बाहर नहीं है? –

+0

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

उत्तर

1

वर्तमान में निजी ईएलबी के सामने एपीआई गेटवे डालने के लिए कोई नहीं है, तो आप सही हैं कि इसे इंटरनेट का सामना करना पड़ता है। आपके मामले के लिए सबसे अच्छा कामकाज मैं सोच सकता हूं कि ईएलबी को मोड के माध्यम से टीसीपी पास में रखना होगा और ईएलबी के पीछे अपने एंड होस्ट पर क्लाइंट प्रमाणपत्र समाप्त करना होगा।

4

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

2
+1

BTW मैं अंत में इस बाहर की कोशिश की थी और हाँ यह काम करता है, लेकिन यह शायद ही सुपर सुविधाजनक है - एक शुरुआत के लिए आप केवल एक आवेदन लोड संतुलन एक नेटवर्क लोड संतुलन के बजाय करने के लिए एक एपीआई प्रवेश द्वार बात हो सकती है, इसलिए यदि आप वर्तमान बाह्य-फेसिंग ALBs सेट अप है कि प्रवेश द्वार के लिए बात कर रही है, आप या तो नेटवर्क लोड बैलेंसर्स के साथ उन्हें बदलने के लिए या ALBs के सामने एक NLB जोड़ने (यदि आप अपने एसएसएल समाप्ति, और विभिन्न अन्य विकल्प आप या का उपयोग कर नहीं किया जा सकता खो जिसका मतलब है) की जरूरत है, जो अब केवल आंतरिक हो सकता है। इसके अलावा "VPC लिंक" से "HTTP" से एक मौजूदा रूट बदलकर पूरी तरह सहज नहीं है। –

+1

कैसे एक ALB के सामने एक NLB स्थापित करने के लिए पर कोई सलाह? –

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