2015-10-18 6 views
9

मेरे पास लोचदार बीनस्टॉक उदाहरण पर कोडइग्निटर PHP ऐप सेटअप है। मैं इसे एक आरडीएस MySQL इंस्टेंस सेटअप से कनेक्ट करने की कोशिश कर रहा हूं लेकिन लोचदार बीनस्टॉक साइट यूआरएल लोड करने से हमेशा कनेक्शन के समय वाले पृष्ठ में परिणाम मिलता है। मैंने डेटाबेस से कनेक्ट करने में सक्षम नहीं होने के कारण इस मुद्दे को कम कर दिया है।लोचदार बीनस्टॉक ऐप आरडीएस MySQL इंस्टेंस से कनेक्ट नहीं होगा

मुझे लगता है कि मैंने एलडीडी बीनस्टॉक ईसी 2 उदाहरणों को आरडीएस से बात करने की अनुमति देने के लिए अपने सुरक्षा समूहों को सही तरीके से स्थापित किया है, लेकिन कुछ भी गलत होना चाहिए क्योंकि पृष्ठ अभी भी लोड नहीं होता है।

मैंने सुरक्षा समूह के लिए इनबाउंड/आउटबाउंड नियमों के नीचे स्क्रीनशॉट शामिल किए हैं जो आरडीएस और लोचदार बीनस्टॉक उपयोग के साथ-साथ लोचदार बीनस्टॉक उदाहरण से जुड़े सुरक्षा समूहों के एक स्क्रीनशॉट के स्क्रीनशॉट भी शामिल हैं।

Inbound rules

Outbound rules

enter image description here

कोई भी विचार क्यों मेरे लचीला बीनस्टॉक एप्लिकेशन मेरी आरडीएस उदाहरण के लिए बात नहीं कर सकते करने के लिए के रूप में?


संपादित करें: आरडीएस उदाहरण और लचीला बीनस्टॉक उदाहरण एक ही सुरक्षा समूह में हैं।

+0

अपने स्क्रीनशॉट में आपने sg-e9f3918d और sg-69315d0d सूचीबद्ध किया है। लेकिन आप sg-69315d0d के लिए नियम नहीं दिखाते हैं। क्या आपने अपने बीनस्टॉक पर्यावरण और आरडीएस को एक ही सुरक्षा समूह sg-e9f3918d दोनों का उपयोग करने के लिए कॉन्फ़िगर किया है? क्या होता है यदि आप किसी नोड में एसएसएच करते हैं और अपने आरडीएस एंडपॉइंट पर पोर्ट 3306 पर कोशिश करते हैं और टेलनेट करते हैं? – mickzer

+0

हां, लोचदार बीनस्टॉक उदाहरण और आरडीएस उदाहरण दोनों एक ही सुरक्षा समूह में हैं, sg-e9f3918d। –

उत्तर

8

स्टैक सुरक्षा समूह नाम जोड़ें जिसमें आपके एलडीस्टिक बीनस्टॉक आरडीएस सुरक्षा समूहों की सूची के साथ स्थापित है।

EC2-instance (i.e. eb ssh) में लॉग इन करके परीक्षण करना सबसे आसान है और अपने ऐप के साथ किसी भी समस्या को बाहर करने के लिए डेटाबेस से कनेक्शन का परीक्षण करें।

mysql -u user -p password -h rds.instance.endpoint.region.rds.amazonaws.com 
+0

लोचदार बीनस्टॉक उदाहरण और आरडीएस उदाहरण एक ही सुरक्षा समूह में हैं। –

+0

क्या आप दिखाए गए अनुसार EC2-instance मैन्युअल रूप से डेटाबेस से कनेक्ट कर सकते हैं? – Gustaf

+0

हां, जब मैं लोचदार बीनस्टॉक उदाहरण में एसएस-एड करता हूं तो मैं आरडीएस इंस्टेंस से कनेक्ट करने में सक्षम था। सुनिश्चित नहीं है कि क्या गलत है। –

4

क्या आपने आरडीएस इंस्टेंस को वीपीसी में भी लॉन्च किया था?

आपके आरडीएस सुरक्षा समूह को बीनस्टॉक सुरक्षा समूह में पोर्ट 3306 पर आने वाले यातायात प्रदान करने की आवश्यकता है।

, उदा, आरडीएस सुरक्षा समूह

Incoming 
ALLOW TCP 3306 from BeanstalkSG 

करते हैं के बाद से आप पहले से ही सभी यातायात निवर्तमान अनुमति देते हैं 0.0.0.0

के लिए खुला नहीं है, अपने बीनस्टॉक एसजी अतिरिक्त बाहर जाने वाले यातायात के लिए 3306 देने के लिए नहीं है।

क्या आपके वीपीसी एसीएल 3306 पर यातायात की अनुमति देते हैं? (वे डिफ़ॉल्ट रूप से करते हैं)

+0

मैंने कहा कि आने वाले नियम और समस्या अभी भी बनी हुई है (मेरे नए नियम: http://imgur.com/DLjij33)। वीपीसी एसीएल वर्तमान में सभी बंदरगाहों पर यातायात की इजाजत दे रहे हैं। –

3

अब किसी भी आरडीएस डेटाबेस (MySQL आदि) के साथ ElasticBeanstalk को जोड़ने के तरीके पर tutorial है, जिस तरह से दोनों एक साथ बाध्य नहीं होते हैं, यानी आप उन्हें अलग से बना सकते हैं। ट्यूटोरियल एडब्ल्यूएस कंसोल के माध्यम से सुरक्षा समूहों की स्थापना में चला जाता है। RDS_HOSTNAME, RDS_PORT, RDS_DB_NAME, RDS_USERNAME & RDS_PASSWORD:

उसके बाद, आप 5 ElasticBeanstalk वातावरण चर (कम से कम MySQL के लिए) सेट करना होगा।

विभिन्न लोचदार बीनस्टॉक उदाहरण डेटाबेस चर बनाने के विभिन्न तरीकों से इन चरों तक पहुंच पाएंगे (मुझे PHP में पता है, आपको $_SERVER['RDS_DB_NAME'] आदि का उपयोग करना होगा)। ऊपर दिए गए लिंक में जावा, नोड.जेएस, पायथन, रूबी और .NET में इसे कैसे करें देखें।

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