इसे स्थापित करने के बाद मैं अमेज़न आरडीएस से क्यों नहीं जुड़ सकता?


43

इसलिए, मैंने अभी Amazon RDS अकाउंट बनाया है। और मैंने डेटाबेस का एक उदाहरण शुरू किया।

The "endpoint" is:
abcw3n-prod.cbmbuiv8aakk.us-east-1.rds.amazonaws.com

महान! अब मैं अपने अन्य EC2 उदाहरणों में से एक से इसे जोड़ने का प्रयास करता हूं।

mysql -uUSER -pPASS -habcw3n-prod.cbmbuiv8aakk.us-east-1.rds.amazonaws.com

लेकिन कुछ भी काम नहीं करता है और यह सिर्फ लटका रहता है।

मैंने इसे पिंग करने की कोशिश की, और कुछ भी काम नहीं करता है। कुछ नहीं हुआ।

क्या मुझे कुछ सेटिंग्स बदलने की आवश्यकता है?

जवाबों:


45

डिफ़ॉल्ट रूप से आरडीएस ऐसे किसी भी कनेक्शन की अनुमति नहीं देता है जो सुरक्षा समूह (एसजी) के भीतर निर्दिष्ट नहीं है। आप CIDR के आधार पर या अमेज़न खाता संख्या के आधार पर अनुमति दे सकते हैं जो किसी भी EC2 को उस खाते के तहत इसे एक्सेस करने की अनुमति देगा।


27

यह सिर्फ "लटका हुआ" है क्योंकि आपने mySQL कनेक्शन को अपने अन्य उदाहरण से स्वीकार करने के लिए फ़ायरवॉल को कॉन्फ़िगर नहीं किया है, जैसे कि फ़ायरवॉल स्तर पर पैकेट को गिराया जा रहा है, इसे हल करने के लिए आपको निम्न की आवश्यकता है:

  1. अपने एडब्ल्यूएस कंसोल में सिर
  2. EC2 टैब
  3. अपने mySQL सर्वर के सुरक्षा समूह पर ध्यान दें (अच्छी तरह से इस SG-MYSQL को अभी कॉल करें)
  4. कंसोल के बाईं ओर सुरक्षा समूहों पर क्लिक करें
  5. केंद्र मेनू SG-MYSQL में अपने समूह पर क्लिक करें
  6. इनबाउंड टैब पर क्लिक करें
  7. सूची से mySQL का चयन करें, अपने क्लाइंट सर्वर का विवरण जोड़ें और नियम को बचाएं

नोट करें कि सर्वर के लिए सोर्स आईपी आपका इलास्टिक आईपी नहीं होगा (वैसे भी ज्यादातर मामलों में) आपके पास डिवाइस पर एक आंतरिक आईपी होगा (लिनक्स पर ifconfig आपको यह दिखाएगा)।


1
मैंने अपने EC2 सर्वर पर किया है। मैंने सभी मानक पोर्ट खोले हैं।
एलेक्स

1
मेरे पास कोई EC2 उदाहरण नहीं है और जब तक मैंने ऐसा नहीं किया मेरा RDS बाहरी दुनिया से जुड़ नहीं सका।
उमैर ए।

1
लोचदार आईपी का उपयोग करने के लिए उत्कृष्ट बिंदु!
user1641443

1
इसके लिए धन्यवाद। वॉकथ्रू ने सभी अंतर बना दिया है!
मि। टी।

1
इसे अपग्रेड करने के लिए बस सर्वर फॉल्ट पर खाता बनाया गया। धन्यवाद।
CaptainMarvel

7

सुरक्षा समूहों के बारे में यहाँ बहुत सी बातें, लेकिन यह भी जाँच करें:

  • क्या संबंधित सबनेट ठीक से कॉन्फ़िगर किए गए लगते हैं?
  • क्या सबनेट रूटिंग समूह का हिस्सा है जो ठीक से कॉन्फ़िगर किया गया लगता है (इंटरनेट गेटवे निर्दिष्ट, आदि?)
  • क्या आरडीएस कहता है कि यह सार्वजनिक रूप से सुलभ है?
  • और निश्चित रूप से आरडीएस सुरक्षा समूह और ईसी 2 सुरक्षा समूह की जांच करें
    • मत भूलो कि आपका वास्तविक स्रोत आईपी एक आंतरिक आईपी हो सकता है (यदि VPC के माध्यम से आंतरिक रूप से एक्सेस किया जा रहा है) या एक बाहरी आईपी (जो एक राउटर का आईपी हो सकता है, या एक EC2 इंस्टेंस का इंस्टेंस आईपी जो अपने लोड बैलेंसर / इलास्टिक आईपी से अलग है) - समस्या निवारण के लिए, आप सभी आईपी और बंदरगाहों तक पहुंच की अनुमति देने का प्रयास कर सकते हैं।

(रूटिंग समूह मेरी समस्या थी; एक नया सबनेट बनाने में, मैंने इसे एक गेटवे से रूटिंग समूह में जोड़ने की उपेक्षा की।)


स्पष्ट करने के लिए: आरडीएस सबनेट समूह में आपके द्वारा चुने गए सभी सबनेट में रूटिंग टेबल होनी चाहिए जिसमें इंटरनेट गेटवे निर्दिष्ट है। मेरा मुद्दा यह था कि मैंने जिन दो सबनेटों को चुना था, वे मेरे "निजी" सबनेट थे, जिनमें एक नैट गेटवे था, जो इंटरनेट गेटवे के बजाय आउटबाउंड ट्रैफिक के लिए निर्दिष्ट था, और आरडीएस उन सबनेट्स में से एक में सर्वर चुनने के लिए हुआ। : यदि आप मार्ग के साथ भी परिचित नहीं हैं, यह लेख देखें medium.com/@mda590/aws-routing-101-67879d23014d
timetofly

मैं @timetofly जैसे ही मुद्दे से प्रभावित था। मेरे पास एक बंद नौकरी थी जिसे मैंने ईसीएस फारगेट पर चलाने का फैसला किया, जिसमें फाइलों को डाउनलोड करने के लिए एनएटी की आवश्यकता थी। NAT की स्थापना ने मेरे लैपटॉप से ​​RDS से मेरा संपर्क तोड़ दिया। जब नौकरी समाप्त हो गई, तो मैंने अपने सबनेट को केवल इंटरनेट गेटवे का उपयोग करने के लिए अपडेट किया, और मैं जाने के लिए अच्छा था।
vitale232

4

फिक्स्ड।

DB के तहत सुरक्षा समूहों में इसे पहुंच प्रदान करना था ...


6
क्या आप इस बारे में विस्तार से बता सकते हैं कि आपने पहुँच प्रदान करने के लिए क्या किया?
डेविड कॉन्सका

1
मेरे डेटाबेस में एक नियम वाला एक सुरक्षा समूह है। किसी भी जगह से 1433 पोर्ट तक पहुंचने की अनुमति दें। मैं कनेक्ट नहीं कर सकता -_-
मफिन मैन

1

मेरी भी यही समस्या थी ;

  1. सुरक्षा समूह> आरडीएस-लॉन्च-विज़ार्ड (या कोई भी नाम जो डीबी एसजी के लिए चुना गया था)
  2. इनबाउंड टैब> संपादित करें का चयन करें
  3. नई भूमिका जोड़ें
  4. माई एसक्यूएल
  5. स्रोत -> सम्मिलित aws vm आईपी (उदा: 12.3.14.80/32)

मेरे लिए काम किया ...


1

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


-3

mysql इनबाउंड नियम नीचे की तरह होना चाहिए

छवि यह सुरक्षा समूह के साथ समस्या है।


3
क्या कोई कारण है कि आप पांच साल पुराने प्रश्न को उसी उत्तर के साथ उत्तर देने के लिए टकरा रहे हैं जो वर्षों से है? एक महान विचार के 0.0.0.0/0लिए पहुँच देना 3306, या तो नहीं है।
ceejayoz

मैंने उपयोगकर्ता को यह दिखाने की कोशिश की कि उन्हें क्या बदलना चाहिए और वे कैसे बदल सकते हैं, आप जानते हैं कि मेरे जैसे कई उपयोगकर्ता हैं जो उपरोक्त ans को पढ़कर समस्या का समाधान नहीं कर सकते हैं। यह आपकी मदद नहीं कर सकता है लेकिन इसके लिए उपयोगकर्ता ढूंढ रहे हैं। आपने नीचे वोट दिया क्योंकि यह आपकी मदद नहीं करता है।
निर्मल धरा

3
मेरा अपमान यह कहने से आता है कि लोगों को MySQL को पूरे इंटरनेट पर खोलना चाहिए। यह एक खतरनाक दृष्टिकोण है।
ceejayoz

मैं समझ गया। मैं सिर्फ उस जगह को दिखाता हूं जहां वे सुरक्षा समूहों को संपादित कर सकते हैं, वे जो चाहें ड्रॉपडाउन से चुन सकते हैं।
निर्मल धरा
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.