मेरी वर्तमान वेबसाइट (सीओआरएस + एपीआई के साथ सिंगल पेज ऐप) एडब्ल्यूएस ईसी 2 इंस्टेंस पर तैनात है और एएलबी के माध्यम से परोसा जाता है (ज्यादातर एचटीटीपीएस के आसान सेटअप के लिए क्योंकि मेरे पास अभी केवल एक क्षेत्र शामिल है)। वेब सर्वर को सिंगल पेज एप्लिकेशन की सेवा के लिए कॉन्फ़िगर किया गया है लेकिन फ्रंटएंड के संबंध में यह सब कुछ कर रहा है। मैं इसके बजाय सिंगल पेज एप्लिकेशन को एस 3 में ले जाना चाहता हूं और बैकएंड को फ्रंटएंड से पूरी तरह से अलग करना चाहता हूं। सवाल यह है कि एडब्ल्यूएस सेटअप के संबंध में इसे करने का सबसे कारगर तरीका क्या होगा? मैं निम्नलिखित के साथ आ सकता हूं:

  • डोमेन को S3 उदाहरण पर फ़्रंटएंड फ़ाइलों की सेवा के लिए इंगित करें, API कॉल को ALB सार्वजनिक DNS पते पर इंगित करें
  • डोमेन को ईएलबी पर इंगित रखें, रूट पोर्ट 80 और 443 से एस 3, एपीआई पोर्ट बदलें और उस पोर्ट को ईसी 2 में रूट करें
  • ...

किसी भी मदद की सराहना की।

1
blitz 10 सितंबर 2020, 21:09

1 उत्तर

सबसे बढ़िया उत्तर

यदि आप फ्रंटएंड और बैकएंड के लिए बुनियादी ढांचे को पूरी तरह से अलग करने की कोशिश कर रहे हैं, लेकिन एक ही डोमेन रखें तो आप CloudFront का उपयोग कर सकते हैं।

CloudFront में आप अपने वितरण के भीतर 2 मूल बनाएंगे:

  • डिफ़ॉल्ट मूल S3 स्थिर वेबसाइट होगी।
  • फिर एक अतिरिक्त मूल जो मूल एएलबी को इंगित करेगा।

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

क्या मैं एक CloudFront वेब वितरण का उपयोग कर सकता हूं, इस पर एक नज़र डालें एकाधिक व्यवहारों का उपयोग करके एकाधिक मूल से सामग्री परोसने के लिए? लेख जो मेरे द्वारा उल्लिखित समान व्यवहार को शामिल करता है।

1
Chris Williams 10 सितंबर 2020, 21:53