Looker PSC का Cloud SQL PSC के लिए साउथबाउंड ऐक्सेस

1. परिचय

इस कोडलैब में, आपको Private Service Connect के साथ डिप्लॉय किए गए Cloud SQL से साउथबाउंड कनेक्शन बनाना होगा. इसे सर्विस प्रोड्यूसर के तौर पर डिप्लॉय किया गया है.

Private Service Connect, Google Cloud नेटवर्किंग की एक सुविधा है. इससे उपभोक्ता, अपने वीपीसी नेटवर्क में मैनेज की गई सेवाओं को निजी तौर पर ऐक्सेस कर सकते हैं. इसी तरह, मैनेज की जा रही सेवा देने वाली कंपनियां इन सेवाओं को अपने अलग-अलग वीपीसी नेटवर्क में होस्ट कर सकती हैं. साथ ही, अपने ग्राहकों को निजी कनेक्शन उपलब्ध करा सकती हैं. उदाहरण के लिए, Looker को ऐक्सेस करने के लिए Private Service Connect का इस्तेमाल करने पर, आप सेवा का इस्तेमाल करने वाले व्यक्ति या कंपनी होते हैं. वहीं, Google सेवा देने वाली कंपनी होती है. इस बारे में, पहले फ़िगर में हाइलाइट किया गया है.

145ea4672c3a3b14.png

साउथबाउंड ऐक्सेस को रिवर्स पीएससी भी कहा जाता है. इसकी मदद से, कंज्यूमर, पब्लिश की गई सेवा को प्रोड्यूसर के तौर पर बना सकता है. इससे Looker को कंपनी की इमारत में, वीपीसी, मैनेज की गई सेवाओं, और इंटरनेट पर मौजूद एंडपॉइंट को ऐक्सेस करने की अनुमति मिलती है. साउथबाउंड कनेक्शन को किसी भी इलाके में डिप्लॉय किया जा सकता है. इससे कोई फ़र्क़ नहीं पड़ता कि Looker PSC कहां डिप्लॉय किया गया है. जैसा कि इमेज 2 में दिखाया गया है.

259493afd914f68b.png

आपको क्या सीखने को मिलेगा

  • Private Service Connect Cloud SQL इंस्टेंस प्रोड्यूसर सेवा बनाना
  • सेवा उपभोक्ता के तौर पर, Looker में Private Service Connect एंडपॉइंट बनाना

आपको इन चीज़ों की ज़रूरत होगी

def88091b42bfe4d.png

2. आपको क्या बनाना है

आपको Cloud SQL पीएससी इंस्टेंस सेट अप करना होगा. इसे सर्विस प्रोड्यूसर के तौर पर डिप्लॉय किया जाता है. यह Looker पीएससी से सर्विस कंज्यूमर के तौर पर जुड़ा होता है.

इन कार्रवाइयों से, Producer सेवा के ऐक्सेस की पुष्टि की जाती है:

  • प्रोड्यूसर सर्विस अटैचमेंट से जुड़ा, Looker में पीएससी एंडपॉइंट बनाएं
  • Cloud SQL PSC से डेटाबेस कनेक्शन बनाने के लिए, Looker Console का इस्तेमाल करना
  • पहले से तय की गई किसी स्कीम को पुष्टि करके और उसे ऐक्सेस करके, Cloud SQL PSC से कनेक्टिविटी की जांच करना

3. कोडलैब टोपोलॉजी

1e7035ea608d7d23.png

4. सेटअप और ज़रूरी शर्तें

अपने हिसाब से एनवायरमेंट सेट अप करना

  1. Google Cloud Console में साइन इन करें और नया प्रोजेक्ट बनाएं या किसी मौजूदा प्रोजेक्ट का फिर से इस्तेमाल करें. अगर आपके पास पहले से कोई Gmail या Google Workspace खाता नहीं है, तो आपको एक खाता बनाना होगा.

fbef9caa1602edd0.pnga99b7ace416376c4.png5e3ff691252acf41.png

  • प्रोजेक्ट का नाम, इस प्रोजेक्ट में हिस्सा लेने वाले लोगों के लिए डिसप्ले नेम होता है. यह एक वर्ण स्ट्रिंग है, जिसका इस्तेमाल Google API नहीं करते हैं. इसे कभी भी अपडेट किया जा सकता है.
  • प्रोजेक्ट आईडी, सभी Google Cloud प्रोजेक्ट के लिए यूनीक होता है. साथ ही, इसे बदला नहीं जा सकता. Cloud Console, अपने-आप एक यूनीक स्ट्रिंग जनरेट करता है. आम तौर पर, आपको इससे कोई फ़र्क़ नहीं पड़ता कि यह क्या है. ज़्यादातर कोडलैब में, आपको अपने प्रोजेक्ट आईडी (आम तौर पर PROJECT_ID के तौर पर पहचाना जाता है) का रेफ़रंस देना होगा. अगर आपको जनरेट किया गया आईडी पसंद नहीं है, तो आपके पास कोई दूसरा रैंडम आईडी जनरेट करने का विकल्प होता है. इसके अलावा, आपके पास अपना नाम आज़माने का विकल्प भी है. इससे आपको पता चलेगा कि वह नाम उपलब्ध है या नहीं. इस चरण के बाद, इसे बदला नहीं जा सकता. यह प्रोजेक्ट की अवधि तक बना रहता है.
  • आपकी जानकारी के लिए बता दें कि एक तीसरी वैल्यू भी होती है, जिसे प्रोजेक्ट नंबर कहते हैं. इसका इस्तेमाल कुछ एपीआई करते हैं. इन तीनों वैल्यू के बारे में ज़्यादा जानने के लिए, दस्तावेज़ देखें.
  1. इसके बाद, आपको Cloud Console में बिलिंग की सुविधा चालू करनी होगी, ताकि Cloud संसाधनों/एपीआई का इस्तेमाल किया जा सके. इस कोडलैब को पूरा करने में ज़्यादा खर्च नहीं आएगा. इस ट्यूटोरियल के बाद बिलिंग से बचने के लिए, संसाधनों को शट डाउन करें. इसके लिए, बनाए गए संसाधनों को मिटाएं या प्रोजेक्ट को मिटाएं. Google Cloud के नए उपयोगकर्ताओं को, 300 डॉलर का क्रेडिट मुफ़्त में आज़माने का प्रोग्राम मिलता है.

Cloud Shell शुरू करें

Google Cloud को अपने लैपटॉप से रिमोटली ऐक्सेस किया जा सकता है. हालांकि, इस कोडलैब में Google Cloud Shell का इस्तेमाल किया जाएगा. यह क्लाउड में चलने वाला कमांड लाइन एनवायरमेंट है.

Google Cloud Console में, सबसे ऊपर दाएं कोने में मौजूद टूलबार पर, Cloud Shell आइकॉन पर क्लिक करें:

55efc1aaa7a4d3ad.png

इसे चालू करने और एनवायरमेंट से कनेक्ट करने में सिर्फ़ कुछ सेकंड लगते हैं. यह प्रोसेस पूरी होने के बाद, आपको कुछ ऐसा दिखेगा:

7ffe5cbb04455448.png

इस वर्चुअल मशीन में, डेवलपमेंट के लिए ज़रूरी सभी टूल पहले से मौजूद होते हैं. यह 5 जीबी की होम डायरेक्ट्री उपलब्ध कराता है. साथ ही, Google Cloud पर काम करता है. इससे नेटवर्क की परफ़ॉर्मेंस और पुष्टि करने की प्रोसेस बेहतर होती है. इस कोडलैब में मौजूद सभी टास्क, ब्राउज़र में किए जा सकते हैं. आपको कुछ भी इंस्टॉल करने की ज़रूरत नहीं है.

5. शुरू करने से पहले

एपीआई चालू करें

Cloud Shell में, पक्का करें कि आपका प्रोजेक्ट आईडी सेट अप हो:

gcloud config list project
gcloud config set project [YOUR-PROJECT-ID]
project=[YOUR-PROJECT-ID]
region=[YOUR-REGION]
echo $project
echo $region

ज़रूरी सभी सेवाएं चालू करें:

gcloud services enable compute.googleapis.com

6. Looker PSC प्रोजेक्ट की पहचान करना

Cloud SQL PSC इंस्टेंस बनाने के लिए, उन पीएससी प्रोजेक्ट की पहचान करना ज़रूरी है जिन्हें अनुमति दी गई है. इसलिए, Cloud SQL इंस्टेंस बनाते समय Looker PSC के किरायेदार प्रोजेक्ट की जानकारी देनी होगी. अगर किसी मौजूदा इंस्टेंस का इस्तेमाल किया जा रहा है, तो इस जानकारी को अपडेट करना होगा.

gcloud का इस्तेमाल करके, Looker PSC प्रोजेक्ट का पता लगाना

Looker PSC प्रोजेक्ट आईडी पाने के लिए, Cloud Shell में [INSTANCE_NAME] को अपने Looker PSC इंस्टेंस के नाम से अपडेट करें:

gcloud looker instances describe [INSTANCE_NAME] --region=$region --format=json | grep -i lookerServiceAttachmentUri

उदाहरण के आउटपुट में,t7ec792caf2a609d1-tp, Looker PSC प्रोजेक्ट है:

gcloud looker instances describe looker-psc-instance --region=us-central1 --format=json | grep -i lookerServiceAttachmentUri
    "lookerServiceAttachmentUri": "projects/t7ec792caf2a609d1-tp/regions/us-central1/serviceAttachments/looker-psc-f51982e2-ac0d-48b1-91bb-88656971c183",

Cloud Console का इस्तेमाल करके, Looker PSC प्रोजेक्ट का पता लगाना

Cloud Console में, यहां जाएं:

Looker → Looker PSC इंस्टेंस

1367ec0136aa5ad6.png

7. प्रोड्यूसर Cloud SQL इंस्टेंस बनाना

यहां दिए गए सेक्शन में, आपको Cloud SQL PSC इंस्टेंस बनाना होगा. इसका इस्तेमाल टेस्टिंग के लिए किया जाता है. इसे पहले से तय किए गए पासवर्ड के साथ डिप्लॉय किया जाता है. इसमें, Looker PSC प्रोजेक्ट को अनुमति वाले पीएससी प्रोजेक्ट की सूची में शामिल किया जाता है.

Cloud SQL PSC बनाना

Cloud Shell में, एक इंस्टेंस बनाएं और Private Service Connect की सुविधा चालू करें. साथ ही, [INSTANCE_PROJECT] को अपने Looker PSC प्रोजेक्ट आईडी से अपडेट करें.

gcloud sql instances create cloud-sql-psc-demo \
--project=$project \
--region=$region \
--enable-private-service-connect \
--allowed-psc-projects=[INSTANCE_PROJECT] \
--availability-type=regional \
--no-assign-ip \
--cpu=2 --memory=4GB \
--database-version=MYSQL_8_0 \
--enable-bin-log \
--root-password=password123

उदाहरण:

gcloud sql instances create cloud-sql-psc-demo \
--project=$project \
--region=$region \
--enable-private-service-connect \
--allowed-psc-projects=t7ec792caf2a609d1-tp \
--availability-type=regional \
--no-assign-ip \
--cpu=2 --memory=4GB \
--database-version=MYSQL_8_0 \
--enable-bin-log \
--root-password=password123

Cloud SQL सेवा अटैचमेंट पाना

Private Service Connect की सुविधा चालू करके Cloud SQL इंस्टेंस बनाने के बाद, सेवा से जुड़े अटैचमेंट का यूआरआई पाएं. इसका इस्तेमाल बाद में Looker में Private Service Connect एंडपॉइंट बनाने के लिए किया जाएगा.

Cloud Shell में, यह तरीका अपनाएं:

gcloud sql instances describe [INSTANCE_NAME] --project=$project | grep -i pscServiceAttachmentLink

आउटपुट के इस उदाहरण में, सेवा अटैचमेंट का यूआरआई दिखाया गया है:

projects/o6222fa10e2a50865p-tp/regions/us-central1/serviceAttachments/a-39d809aaecae-psc-service-attachment-127fc34733744155

gcloud sql instances describe cloud-sql-psc-demo --project=$project | grep -i pscServiceAttachmentLink:
pscServiceAttachmentLink: projects/o6222fa10e2a50865p-tp/regions/us-central1/serviceAttachments/a-39d809aaecae-psc-service-attachment-127fc34733744155

Cloud Console से, Cloud SQL PSC सेवा अटैचमेंट पाया जा सकता है:

Cloud Console में, यहां जाएं:

SQL → SQL इंस्टेंस → कनेक्शन

18940483f646ed15.png

8. Looker में पीएससी एंडपॉइंट कनेक्शन बनाना

यहां दिए गए सेक्शन में, Cloud SQL Producers Service Attachment को Looker Core PSC से जोड़ा जाएगा. इसके लिए, Cloud Shell में –psc-service-attachment फ़्लैग का इस्तेमाल किया जाएगा. यह फ़्लैग, एक डोमेन के लिए होता है.

Cloud Shell में, पीएससी असोसिएशन बनाएं. इसके लिए, अपने एनवायरमेंट के हिसाब से इन पैरामीटर को अपडेट करें:

  • INSTANCE_NAME: आपके Looker (Google Cloud core) इंस्टेंस का नाम.
  • DOMAIN_1: sql.database1.com
  • SERVICE_ATTACHMENT_1: Cloud SQL PSC इंस्टेंस के बारे में बताते समय कैप्चर किया गया यूआरआई
  • REGION: वह क्षेत्र जिसमें आपका Looker (Google Cloud core) इंस्टेंस होस्ट किया गया है

Cloud Shell में, यह तरीका अपनाएं:

gcloud looker instances update INSTANCE_NAME \
--psc-service-attachment  domain=DOMAIN_1,attachment=SERVICE_ATTACHMENT_URI_1 \
--region=REGION

उदाहरण:

gcloud looker instances update looker-psc-instance \
--psc-service-attachment  domain=sql.database1.com,attachment=projects/o6222fa10e2a50865p-tp/regions/us-central1/serviceAttachments/a-39d809aaecae-psc-service-attachment-127fc34733744155 \
--region=us-central1

Cloud Shell में, पुष्टि करें कि serviceAttachments का connectionStatus "ACCEPTED" है. Looker PSC INSTANCE_NAME के साथ अपडेट करना न भूलें:

gcloud looker instances describe [INSTANCE_NAME] --region=$region --format=json

उदाहरण:

gcloud looker instances describe looker-psc-instance --region=$region --format=json

उदाहरण:

user@cloudshell$ gcloud looker instances describe looker-psc-instance --region=$region --format=json
{
  "adminSettings": {},
  "createTime": "2024-08-23T00:00:45.339063195Z",
  "customDomain": {
    "domain": "looker.cosmopup.com",
    "state": "AVAILABLE"
  },
  "encryptionConfig": {},
  "lookerVersion": "24.14.18",
  "name": "projects/project/locations/us-central1/instances/looker-psc-instance",
  "platformEdition": "LOOKER_CORE_ENTERPRISE_ANNUAL",
  "pscConfig": {
    "allowedVpcs": [
      "projects/project/global/networks/looker-psc-demo",
      "projects/project/global/networks/looker-shared-vpc"
    ],
    "lookerServiceAttachmentUri": "projects/t7ec792caf2a609d1-tp/regions/us-central1/serviceAttachments/looker-psc-f51982e2-ac0d-48b1-91bb-88656971c183",
    "serviceAttachments": [
      {
        "connectionStatus": "ACCEPTED",
        "localFqdn": "sql.database1.com",
        "targetServiceAttachmentUri": "projects/o6222fa10e2a50865p-tp/regions/us-central1/serviceAttachments/a-39d809aaecae-psc-service-attachment-127fc34733744155"
      }
    ]
  },
  "pscEnabled": true,
  "state": "ACTIVE",
  "updateTime": "2024-09-04T14:40:05.613026012Z"
}

Cloud Console में पीएससी एंडपॉइंट की पुष्टि करना

Cloud Console से, पीएससी कनेक्शन की पुष्टि की जा सकती है

Cloud Console में, यहां जाएं:

Looker → Looker इंस्टेंस → जानकारी

2d4684d722d31e4b.png9fa909f826dec963.png

9. Looker PSC को Cloud SQL PSC के साथ इंटिग्रेट करना

यहां दिए गए सेक्शन में, Cloud SQL पीएससी इंस्टेंस से डेटाबेस कनेक्शन बनाने के लिए, Looker Console का इस्तेमाल किया जाएगा.

ADMIN → DATABASE → CONNECTIONS → पर जाएं. इसके बाद, ADD CONNECTION को चुनें

नीचे दिए गए स्क्रीनशॉट के मुताबिक, कनेक्शन की जानकारी भरें. इसके बाद, कनेक्ट करें को चुनें

eb3ef74d3ae71f1a.png

कनेक्शन अब कॉन्फ़िगर हो गया है

29017202470ad81f.png

10. Looker कनेक्टिविटी की पुष्टि करना

इस सेक्शन में, Looker के ‘टेस्ट' ऐक्शन का इस्तेमाल करके, Cloud SQL PSC इंस्टेंस से Looker की कनेक्टिविटी की पुष्टि करने का तरीका बताया गया है.

डेटा कनेक्शन ADMIN → DATABASE → CONNECTIONS → cloud-sql-psc-demo → Test पर जाएं

टेस्ट को चुनने के बाद, Looker नीचे दिए गए तरीके से postgres-database से कनेक्ट हो जाएगा:

d9729caf9a61bfc2.png

व्यवस्थित करें

किसी एक Cloud Shell टर्मिनल से लैब कॉम्पोनेंट मिटाएं

gcloud sql instances delete cloud-sql-psc-demo -q

11. बधाई हो

बधाई हो, आपने Private Service Connect की मदद से Looker Console का इस्तेमाल करके, Cloud SQL PSC से कनेक्टिविटी को कॉन्फ़िगर और पुष्टि कर ली है.

आपने Cloud SQL PSC इंस्टेंस को प्रोड्यूसर सेवा के तौर पर बनाया है. साथ ही, आपने Looker PSC एंडपॉइंट बनाया है, ताकि प्रोड्यूसर सेवा से कनेक्ट किया जा सके.

Cosmopup को कोडलैब बहुत पसंद हैं!!

c911c127bffdee57.jpeg

आगे क्या करना है?

इन कोडलैब को आज़माएं...

ज़्यादा जानकारी और वीडियो

रेफ़रंस दस्तावेज़