इस समस्या को पोस्ट करने के बाद, जैसा कि मैं काम कर रहा था, मुझे एहसास हुआ कि मैं ईसी 2 सर्वर या टेलनेट को पिंग करने में भी सक्षम नहीं था। तो कुछ बुनियादी गलत होना था। अंत में एक दोस्त ने समस्या से मेरी मदद की। जैसा कि मैंने उम्मीद की थी, समस्या EC2 के लिए बहुत विशिष्ट थी।
विवरण इस प्रकार हैं:
जब हम एक EC2 इंस्टेंस बनाते हैं, तो हमें एक बाहरी IP पता मिलता है जो इसके समान होता है:ec2-XX-XXX-XXX-XX.ap-southeast-1.compute.amazonaws.com
Mysql में अनुमतियाँ सेट करते समय मैं उपरोक्त IP पते पर अनुमतियाँ दे रहा था, अर्थात:
GRANT ALL PRIVILEGES on . to [email protected]'ec2-XX-XXX-XXX-XX.ap-southeast1.compute.amazonaws.com' IDENTIFIED BY 'password';
जब आप किसी अन्य स्थानीय EC2 इंस्टेंस से EC2 इंस्टेंस से संचार करने का प्रयास करते हैं तो यह काम नहीं करता है। इसके लिए, आपको ईसी2 इंस्टेंस का 'आंतरिक आईपी पता' प्रदान करना होगा, जिसे आईपी कमांड का उपयोग करके पाया जा सकता है:
आईपी ए:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 12:31:41:02:58:47 brd ff:ff:ff:ff:ff:ff
inet **XX.XX.XX.XXX/23** brd YY.YYY.YY.YYY scope global eth0
inet6 fe80::1031:41ff:fe02:5847/64 scope link
valid_lft forever preferred_lft forever
चीजों को सही ढंग से काम करने के लिए, आपको आईपी पते - "XX.XXX.XX.XXX/23" को अनुमति देनी होगी, और इसे काम करना चाहिए। इसी तरह, "mysql" डेटाबेस से कनेक्ट करते समय, mysql कमांड को प्रदान किया गया होस्टनाम भी होस्ट EC2 इंस्टेंस का "आंतरिक आईपी पता" होना चाहिए।