1. परिचय
पिछले अपडेट की तारीख: 04-05-2020
कनेक्शन के बारे में सोचना
कई तरह के ऐप्लिकेशन और फ़्रेमवर्क उपलब्ध हैं. इस कोडलैब में, हम Cloud SQL से कहीं से भी कनेक्ट करने के बारे में जानेंगे. कनेक्ट करने की सुविधा को चालू करने के लिए, उन आईपी पतों को अनुमति दें जिन्हें कनेक्ट करने की अनुमति है. Cloud SQL डेटाबेस से कनेक्ट करने के लिए, यह सबसे कम सुरक्षित विकल्प है. हालांकि, इसे सेट अप करना और इस्तेमाल करना सबसे आसान है.
कभी-कभी प्रोडक्शन में ऐसा करना ज़रूरी होता है.हालांकि, अगर ऐसा करने से बचा जा सकता है, तो आपको ज़्यादा सुरक्षित विकल्प चुनना चाहिए. उदाहरण के लिए, Cloud SQL Proxy का इस्तेमाल करना. यह सेटअप, डेवलपमेंट और टेस्टिंग के लिए सबसे सही है.
आपको क्या बनाने को मिलेगा
यह कोडलैब बहुत छोटा है. इसका मकसद, आपको कनेक्शन के बारे में पूरी जानकारी देना है. इसके लिए, ऐप्लिकेशन के बारे में ज़्यादा सोचने की ज़रूरत नहीं है. Cloud SQL से कनेक्ट करना, SQL डेटाबेस के किसी अन्य इंस्टेंस से कनेक्ट करने जैसा ही है. इसलिए, इस कोडलैब में बनाए गए कोड को किसी भी प्रोडक्शन ऐप्लिकेशन में इस्तेमाल किया जा सकता है.
निर्देशों में, GCP Console में काम करने का तरीका बताया जाएगा. साथ ही, CLI या ऑटोमेशन पर इस्तेमाल करने के लिए, gcloud कमांड के बराबर की कमांड भी शामिल होंगी.
इसके लिए, यह तरीका अपनाएं:
- Cloud SQL इंस्टेंस बनाएं. इस ट्यूटोरियल में Postgres का इस्तेमाल किया गया है. हालांकि, यह MySQL या SQL Server के लिए भी इसी तरह काम करता है. साथ ही, उन आईपी पतों को अनुमति दें जिन्हें इससे कनेक्ट करने की अनुमति है
आपको इन चीज़ों की ज़रूरत होगी
- ऐसा GCP खाता जिस पर आपके पास एपीआई चालू करने और सेवाएं बनाने की अनुमतियां हों
- कनेक्टिविटी की पुष्टि करने के लिए, Postgres क्लाइंट इंस्टॉल किया गया हो. अगर आपको Postgres के बजाय MySQL का इस्तेमाल करना है, तो MySQL क्लाइंट इंस्टॉल करें
2. Cloud SQL इंस्टेंस बनाया जा रहा है
Cloud SQL, मैनेज किए गए रिलेशनल डेटाबेस की हमारी सेवा है. यह MySQL, PostgreSQL, और SQL Server के साथ काम करता है. इस कोडलैब के लिए, हम Postgres डेटाबेस बनाएंगे. हालांकि, तीनों के लिए निर्देश एक जैसे हैं.
कंसोल पर
Cloud SQL पेज पर जाएं और
बटन पर क्लिक करें.
जैसा कि हमने बताया है, इस कोडलैब का ज़्यादातर हिस्सा, SQL के किसी भी वर्शन के लिए सामान्य है. हालांकि, इस कोडलैब के लिए PostgreSQL को चुनें.
- अपने इंस्टेंस को कोई आईडी दें
- अपनी जगह के आस-पास का कोई इलाका चुनें
- डिफ़ॉल्ट उपयोगकर्ता के लिए पासवर्ड डालें.उपयोगकर्ता नाम, चुने गए डेटाबेस के लिए डिफ़ॉल्ट होगा. उदाहरण के लिए, MySQL के लिए
rootया PostgreSQL के लिएpostgres - नीचे की ओर स्क्रोल करें और
show configuration options Connectivityसेक्शन को बड़ा करें- पुष्टि करें कि
Public IPको चुना गया हो औरPrivate IPको नहीं चुना गया हो
बटन पर क्लिक करें- उस डिवाइस का आईपी पता पाएं जिससे कनेक्ट किया जा रहा है. सबसे आसान तरीका यह है कि Google पर "मेरा आईपी पता क्या है" खोजें. इसके बाद, खोज के नतीजों में आपको अपना सार्वजनिक आईपी पता दिखेगा.
- नेटवर्क फ़ील्ड में आईपी स्पेसिफ़िकेशन डालें. अगर आपको इसे कोई नाम देना है, तो नाम डालें. इसके बाद,
New Networkबॉक्स में जाकर, हो गया पर क्लिक करें. - नीचे की ओर स्क्रोल करें और बनाएं पर क्लिक करें
आम तौर पर, इंस्टेंस को शुरू होने में कुछ मिनट लगते हैं.
जब इंस्टेंस बन जाए, तो सूची में जाकर उस पर क्लिक करें. इसके बाद, खास जानकारी वाले पेज पर, Connect to this instance हेडर में जाकर, वहां मौजूद public IP address को कॉपी करें. जब तक इंस्टेंस पूरी तरह से नहीं बन जाता, तब तक यह मौजूद नहीं होगा. हालांकि, पूरी तरह से इंस्टैंटिएट होने से पहले भी, जानकारी पर क्लिक किया जा सकता है.
gcloud का इस्तेमाल करके
सबसे पहले, आपको वह आईपी पता लेना होगा जिसे Cloud SQL इंस्टेंस से कनेक्ट करने की अनुमति देनी है. इसके लिए, सबसे आसान तरीका यह है कि आप कोई ब्राउज़र खोलें और "मेरा आईपी पता क्या है" खोजें. खोज के नतीजों में आपको अपना सार्वजनिक आईपी पता दिखेगा. हालांकि, अगर आपके पास ब्राउज़र खोलने का विकल्प नहीं है, तो dig जैसे टूल का इस्तेमाल किया जा सकता है.
dig @resolver1.opendns.com ANY myip.opendns.com +short -4
आपको अपने Cloud SQL इंस्टेंस के लिए, अपने आस-पास का कोई क्षेत्र चुनना होगा. इन कमांड को चलाकर, इलाकों की सूची देखी जा सकती है:
gcloud sql tiers list
हर टियर, सिर्फ़ कुछ देशों/इलाकों में उपलब्ध है. ट्यूटोरियल के gcloud वाले हिस्से के लिए, हम सिर्फ़ एक माइक्रो इंस्टेंस बना रहे हैं. इसलिए, इस टियर के लिए उपलब्ध क्षेत्र देखने के लिए, आपको खास तौर पर यह कमांड चलानी होगी (जब तक आपके पास grep इंस्टॉल है):
gcloud sql tiers list | grep db-f1-micro
इसके बाद, इंस्टेंस बनाने का कमांड इस तरह दिखता है. <AUTHORIZED_IP> को ब्राउज़र या dig से मिले आईपी पते से बदलना न भूलें. साथ ही, <REGION> को अपने आस-पास के किसी क्षेत्र से बदलें. इसके अलावा, रूट उपयोगकर्ता ‘postgres' के लिए पासवर्ड भी डालें:
gcloud sql instances create sql-codelab-00 --database-version=POSTGRES_11 --tier=db-f1-micro --region=<REGION> --authorized-networks=<AUTHORIZED_IP> --root-password=<PASSWORD>
इस प्रोसेस को पूरा होने में कुछ मिनट लगते हैं.
यह प्रोसेस पूरी होने के बाद, सीएलआई पर आउटपुट में इंस्टेंस का PRIMARY_ADDRESS दिखेगा. अगले चरण के लिए इसे कॉपी करें.
3. कनेक्शन की जांच की जा रही है और काम पूरा किया जा रहा है
यह पुष्टि करने के लिए कि इंस्टेंस को सही तरीके से सेटअप किया गया है, उस मशीन से कमांडलाइन पर यह कमांड चलाएं जिसका आईपी पता आपने डाला है:
psql "host=<IP copied from previous step> port=5432 sslmode=disable user=postgres"
इसके बाद, Cloud SQL इंस्टेंस बनाते समय सेट अप किए गए डिफ़ॉल्ट उपयोगकर्ता का पासवर्ड डालें.
बधाई हो! अगर सब कुछ ठीक रहा, तो आपको Postgres प्रॉम्प्ट दिखेगा. इसके बाद, अपने डेटाबेस के लिए कमांड चलाई जा सकती हैं.
आगे क्या करना है?
यहां दिए गए कुछ कोडलैब आज़माएं...