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

1. परिचय

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

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

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 पीएससी से कनेक्टिविटी की जांच करना

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

1e7035ea608d7d23.png

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

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

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

fbef9caa1602edd0.png

a99b7ace416376c4.png

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

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

Cloud Shell में, Looker PSC प्रोजेक्ट का आईडी पाने के लिए, [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 पीएससी बनाना

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 पीएससी सेवा अटैचमेंट पाया जा सकता है:

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.png

9fa909f826dec963.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

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

यहां दिए गए कुछ कोडलैब आज़माएं...

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

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