1. परिचय
इस कोडलैब में, आपको सेवा देने वाले के तौर पर Private Service Connect के साथ डिप्लॉय किए गए Cloud SQL से साउथबाउंड कनेक्शन बनाने का तरीका बताया जाएगा.
Private Service Connect, Google Cloud नेटवर्किंग की एक सुविधा है. इसकी मदद से, उपभोक्ता अपने VPC नेटवर्क से मैनेज की जा रही सेवाओं को निजी तौर पर ऐक्सेस कर सकते हैं. इसी तरह, मैनेज की जाने वाली सेवाओं के प्रोड्यूसर, इन सेवाओं को अपने अलग वीपीएन नेटवर्क में होस्ट कर सकते हैं. साथ ही, अपने उपभोक्ताओं को निजी कनेक्शन भी दे सकते हैं. उदाहरण के लिए, Looker को ऐक्सेस करने के लिए Private Service Connect का इस्तेमाल करने पर, आप सेवा का उपभोक्ता होते हैं और Google सेवा देने वाला होता है. इसकी जानकारी, पहले चित्र में हाइलाइट की गई है.
साउथबाउंड ऐक्सेस, जिसे रिवर्स पीएससी भी कहा जाता है, की मदद से उपभोक्ता, पब्लिश की गई सेवा को प्रोड्यूसर के तौर पर बना सकता है. इससे Looker को, ऑन-प्राइमिस, VPC, मैनेज की जा रही सेवाओं, और इंटरनेट में मौजूद एंडपॉइंट को ऐक्सेस करने की अनुमति मिलती है. साउथबाउंड कनेक्शन किसी भी क्षेत्र में डिप्लॉय किए जा सकते हैं. भले ही, Looker PSC को किसी भी जगह पर डिप्लॉय किया गया हो, जैसा कि दूसरे चित्र में हाइलाइट किया गया है.
आपको क्या सीखने को मिलेगा
- Private Service Connect Cloud SQL इंस्टेंस की प्रोड्यूसर सेवा बनाएं
- सेवा के उपभोक्ता के तौर पर, Looker में Private Service Connect एंडपॉइंट बनाना
आपको इन चीज़ों की ज़रूरत होगी
- मालिक की अनुमतियों वाला Google Cloud प्रोजेक्ट
- मौजूदा Looker PSC इंस्टेंस
2. आपको क्या बनाना है
आपको सेवा देने वाली कंपनी के तौर पर डिप्लॉय किया गया Cloud SQL पीएससी इंस्टेंस बनाना होगा. यह Looker पीएससी से सेवा लेने वाले के तौर पर जुड़ा होगा.
नीचे दी गई कार्रवाइयों से, Producer सेवा के ऐक्सेस की पुष्टि की जाती है:
- Looker में, प्रोड्यूसर सेवा अटैचमेंट से जुड़ा PSC एंडपॉइंट बनाना
- Cloud SQL पीएससी से डेटाबेस कनेक्शन बनाने के लिए, Looker Console का इस्तेमाल करना
- पहले से तय की गई स्कीम की पुष्टि करके और उसे ऐक्सेस करके, Cloud SQL PSC से कनेक्टिविटी की जांच करना
3. कोडलैब की टोपोलॉजी
4. सेटअप और ज़रूरी शर्तें
अपने हिसाब से एनवायरमेंट सेट अप करना
- Google Cloud Console में साइन इन करें और नया प्रोजेक्ट बनाएं या किसी मौजूदा प्रोजेक्ट का फिर से इस्तेमाल करें. अगर आपके पास पहले से कोई Gmail या Google Workspace खाता नहीं है, तो आपको एक खाता बनाना होगा.
- प्रोजेक्ट का नाम, इस प्रोजेक्ट में हिस्सा लेने वाले लोगों के लिए डिसप्ले नेम होता है. यह एक वर्ण स्ट्रिंग है, जिसका इस्तेमाल Google API नहीं करते. इसे कभी भी अपडेट किया जा सकता है.
- प्रोजेक्ट आईडी, Google Cloud के सभी प्रोजेक्ट के लिए यूनीक होता है. साथ ही, इसे सेट करने के बाद बदला नहीं जा सकता. Cloud Console, अपने-आप एक यूनीक स्ट्रिंग जनरेट करता है. आम तौर पर, आपको यह जानने की ज़रूरत नहीं होती कि यह स्ट्रिंग क्या है. ज़्यादातर कोडलैब में, आपको अपने प्रोजेक्ट आईडी का रेफ़रंस देना होगा. आम तौर पर, इसे
PROJECT_ID
के तौर पर पहचाना जाता है. अगर आपको जनरेट किया गया आईडी पसंद नहीं आता है, तो कोई दूसरा आईडी जनरेट किया जा सकता है. इसके अलावा, आपके पास खुद का कोई दूसरा नाम चुनने का विकल्प भी है. इस चरण के बाद, इसे बदला नहीं जा सकता. यह प्रोजेक्ट के दौरान बना रहता है. - आपकी जानकारी के लिए बता दें कि तीसरी वैल्यू, प्रोजेक्ट नंबर होती है. इसका इस्तेमाल कुछ एपीआई करते हैं. दस्तावेज़ में इन तीनों वैल्यू के बारे में ज़्यादा जानें.
- इसके बाद, आपको Cloud के संसाधनों/एपीआई का इस्तेमाल करने के लिए, Cloud Console में बिलिंग की सुविधा चालू करनी होगी. इस कोडलैब को चलाने के लिए, आपसे कोई शुल्क नहीं लिया जाएगा. इस ट्यूटोरियल के बाद बिलिंग से बचने के लिए, बनाए गए संसाधनों को बंद किया जा सकता है या प्रोजेक्ट को मिटाया जा सकता है. Google Cloud के नए उपयोगकर्ता, 300 डॉलर के मुफ़्त ट्रायल वाले कार्यक्रम में शामिल हो सकते हैं.
Cloud Shell शुरू करना
Google Cloud को आपके लैपटॉप से रिमोट तौर पर इस्तेमाल किया जा सकता है. हालांकि, इस कोडलैब में आपको Google Cloud Shell का इस्तेमाल करना होगा. यह Cloud में चलने वाला कमांड-लाइन एनवायरमेंट है.
Google Cloud Console में, सबसे ऊपर दाएं टूलबार में मौजूद Cloud Shell आइकॉन पर क्लिक करें:
एनवायरमेंट से कनेक्ट होने और उसे प्रोवाइड करने में सिर्फ़ कुछ मिनट लगेंगे. इसके पूरा होने पर, आपको कुछ ऐसा दिखेगा:
इस वर्चुअल मशीन में, डेवलपमेंट के लिए ज़रूरी सभी टूल लोड होते हैं. यह 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 इंस्टेंस
7. प्रोड्यूसर के लिए Cloud SQL इंस्टेंस बनाना
नीचे दिए गए सेक्शन में, आपको Cloud SQL PSC इंस्टेंस बनाना होगा. इसका इस्तेमाल, टेस्टिंग के लिए किया जाता है. इसे पहले से तय किए गए पासवर्ड के साथ डिप्लॉय किया जाता है. इसमें, अनुमति वाले 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 PSC सेवा अटैचमेंट पाया जा सकता है:
Cloud Console में, यहां जाएं:
SQL → SQL इंस्टेंस → कनेक्शन
8. Looker में पीएससी एंडपॉइंट कनेक्शन सेट अप करना
नीचे दिए गए सेक्शन में, आपको किसी एक डोमेन के लिए Cloud Shell में –psc-service-attachment फ़्लैग का इस्तेमाल करके, Cloud SQL प्रोड्यूसर सर्विस अटैचमेंट को Looker Core पीएससी से जोड़ना होगा.
Cloud Shell में, अपने एनवायरमेंट के हिसाब से इन पैरामीटर को अपडेट करके, psc असोसिएशन बनाएं:
- 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 में PSC एंडपॉइंट की पुष्टि करना
Cloud Console से, PSC कनेक्शन की पुष्टि की जा सकती है
Cloud Console में, यहां जाएं:
Looker → Looker इंस्टेंस → जानकारी
9. Looker PSC को Cloud SQL PSC के साथ इंटिग्रेट करना
नीचे दिए गए सेक्शन में, Cloud SQL पीएससी इंस्टेंस से डेटाबेस कनेक्शन बनाने के लिए, Looker Console का इस्तेमाल किया जाएगा.
एडमिन पेज → डेटाबेस → कनेक्शन → कनेक्शन जोड़ें को चुनें
नीचे दिए गए स्क्रीनशॉट के मुताबिक, कनेक्शन की जानकारी भरें और कनेक्ट करें को चुनें
कनेक्शन अब कॉन्फ़िगर हो गया है
10. Looker की कनेक्टिविटी की पुष्टि करना
नीचे दिए गए सेक्शन में, आपको Looker के 'जांच करें' ऐक्शन का इस्तेमाल करके, Cloud SQL PSC इंस्टेंस से Looker की कनेक्टिविटी की पुष्टि करने का तरीका पता चलेगा.
डेटा कनेक्शन एडमिन → डेटाबेस → कनेक्शन → cloud-sql-psc-demo → टेस्ट पर जाएं
टेस्ट चुनने के बाद, Looker postgres-database से कनेक्ट हो जाएगा, जैसा कि यहां दिखाया गया है:
व्यवस्थित करें
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 को लगता है कि कोडलैब शानदार हैं!!
आगे क्या करना है?
इन कोडलैब को देखें...
- सेवाओं को पब्लिश और इस्तेमाल करने के लिए, Private Service Connect का इस्तेमाल करना
- Private Service Connect और किसी इंटरनल टीसीपी प्रॉक्सी लोड बैलेंसर का इस्तेमाल करके, हाइब्रिड नेटवर्किंग की मदद से ऑन-प्रीमिस सेवाओं से कनेक्ट करना
- पब्लिश किए गए सभी Private Service Connect कोडलैब का ऐक्सेस
ज़्यादा पढ़ने और वीडियो के लिए
रेफ़रंस दस्तावेज़
- Private Service Connect | Cloud SQL for MySQL | Google Cloud का इस्तेमाल करके किसी इंस्टेंस से कनेक्ट करना
- gcloud sql instances create | Google Cloud CLI Documentation
- Looker (Google Cloud Core) का Private Service Connect इंस्टेंस बनाना
- Private Service Connect का इस्तेमाल करके, सेवा को पब्लिश करने का तरीका