১. ভূমিকা
এই কোডল্যাবে আপনি প্রাইভেট সার্ভিস কানেক্ট ব্যবহার করে সার্ভিস প্রোডিউসার হিসেবে ডেপ্লয় করা ক্লাউড এসকিউএল-এ একটি সাউথবাউন্ড কানেকশন স্থাপন করবেন।
প্রাইভেট সার্ভিস কানেক্ট হলো গুগল ক্লাউড নেটওয়ার্কিং-এর একটি সক্ষমতা, যা গ্রাহকদের তাদের ভিপিসি নেটওয়ার্কের ভেতর থেকে ব্যক্তিগতভাবে পরিচালিত পরিষেবাগুলো অ্যাক্সেস করার সুযোগ দেয়। একইভাবে, এটি পরিচালিত পরিষেবা প্রদানকারীদের তাদের নিজস্ব পৃথক ভিপিসি নেটওয়ার্কে এই পরিষেবাগুলো হোস্ট করতে এবং তাদের গ্রাহকদের একটি ব্যক্তিগত সংযোগ প্রদান করতে দেয়। উদাহরণস্বরূপ, যখন আপনি লুকার (Looker) অ্যাক্সেস করার জন্য প্রাইভেট সার্ভিস কানেক্ট ব্যবহার করেন, তখন আপনি হলেন পরিষেবাটির গ্রাহক এবং গুগল হলো পরিষেবাটির প্রদানকারী, যেমনটি চিত্র ১-এ তুলে ধরা হয়েছে।

সাউথবাউন্ড অ্যাক্সেস, যা রিভার্স পিএসসি নামেও পরিচিত, কনজিউমারকে একজন প্রডিউসার হিসেবে একটি পাবলিশড সার্ভিস তৈরি করার সুযোগ দেয়, যার মাধ্যমে লুকার অন-প্রিমিসেস, ভিপিসি-তে থাকা এন্ডপয়েন্ট, ম্যানেজড সার্ভিস এবং ইন্টারনেটে অ্যাক্সেস করতে পারে। চিত্র ২-এ যেমনটি তুলে ধরা হয়েছে, লুকার পিএসসি যেখানেই স্থাপন করা হোক না কেন, সাউথবাউন্ড কানেকশন যেকোনো অঞ্চলে স্থাপন করা যেতে পারে।

আপনি যা শিখবেন
- একটি প্রাইভেট সার্ভিস কানেক্ট ক্লাউড SQL ইনস্ট্যান্স প্রডিউসার সার্ভিস তৈরি করুন
- Looker-এ একটি প্রাইভেট সার্ভিস কানেক্ট এন্ডপয়েন্টকে সার্ভিস কনজিউমার হিসেবে তৈরি করুন।
আপনার যা যা লাগবে
- মালিকের অনুমতি সহ গুগল ক্লাউড প্রজেক্ট
- বিদ্যমান লুকার পিএসসি ইনস্ট্যান্স

২. আপনি যা তৈরি করবেন
আপনি একটি ক্লাউড এসকিউএল পিএসসি ইনস্ট্যান্স স্থাপন করবেন যা সার্ভিস প্রোডিউসার হিসেবে ডেপ্লয় করা থাকবে এবং এর সাথে সার্ভিস কনজিউমার হিসেবে যুক্ত থাকবে লুকার পিএসসি।
নিম্নলিখিত পদক্ষেপগুলি প্রডিউসার পরিষেবাতে অ্যাক্সেস যাচাই করে:
- লুকারে প্রডিউসার সার্ভিস অ্যাটাচমেন্টের সাথে যুক্ত একটি PSC এন্ডপয়েন্ট তৈরি করুন।
- Cloud SQL PSC-এর সাথে একটি ডাটাবেস সংযোগ তৈরি করতে Looker Console ব্যবহার করুন।
- একটি পূর্বনির্ধারিত স্কিমে প্রমাণীকরণ ও অ্যাক্সেস করার মাধ্যমে ক্লাউড SQL PSC-এর সাথে সংযোগ পরীক্ষা করুন।
৩. কোডল্যাব টপোলজি

৪. সেটআপ এবং প্রয়োজনীয়তা
স্ব-গতিতে পরিবেশ সেটআপ
- Google Cloud Console- এ সাইন-ইন করুন এবং একটি নতুন প্রজেক্ট তৈরি করুন অথবা বিদ্যমান কোনো প্রজেক্ট পুনরায় ব্যবহার করুন। যদি আপনার আগে থেকে Gmail বা Google Workspace অ্যাকাউন্ট না থাকে, তবে আপনাকে অবশ্যই একটি তৈরি করতে হবে।



- প্রজেক্টের নামটি হলো এই প্রজেক্টের অংশগ্রহণকারীদের প্রদর্শিত নাম। এটি একটি ক্যারেক্টার স্ট্রিং যা গুগল এপিআই ব্যবহার করে না। আপনি যেকোনো সময় এটি আপডেট করতে পারেন।
- প্রজেক্ট আইডি সমস্ত গুগল ক্লাউড প্রজেক্ট জুড়ে অনন্য এবং অপরিবর্তনীয় (একবার সেট করার পর এটি পরিবর্তন করা যায় না)। ক্লাউড কনসোল স্বয়ংক্রিয়ভাবে একটি অনন্য স্ট্রিং তৈরি করে; সাধারণত এটি কী তা নিয়ে আপনার মাথা ঘামানোর দরকার নেই। বেশিরভাগ কোডল্যাবে, আপনাকে আপনার প্রজেক্ট আইডি উল্লেখ করতে হবে (যা সাধারণত
PROJECT_IDহিসাবে চিহ্নিত করা হয়)। তৈরি করা আইডিটি আপনার পছন্দ না হলে, আপনি এলোমেলোভাবে আরেকটি তৈরি করতে পারেন। বিকল্পভাবে, আপনি আপনার নিজের আইডি দিয়ে চেষ্টা করে দেখতে পারেন যে সেটি উপলব্ধ আছে কিনা। এই ধাপের পরে এটি পরিবর্তন করা যাবে না এবং প্রজেক্টের পুরো সময়কাল জুড়ে এটি অপরিবর্তিত থাকবে। - আপনার অবগতির জন্য জানানো যাচ্ছে যে, তৃতীয় একটি ভ্যালু রয়েছে, যা হলো প্রজেক্ট নম্বর , এবং কিছু এপিআই এটি ব্যবহার করে থাকে। ডকুমেন্টেশনে এই তিনটি ভ্যালু সম্পর্কে আরও বিস্তারিত জানুন।
- এরপর, ক্লাউড রিসোর্স/এপিআই ব্যবহার করার জন্য আপনাকে ক্লাউড কনসোলে বিলিং চালু করতে হবে। এই কোডল্যাবটি সম্পন্ন করতে খুব বেশি খরচ হবে না, এমনকি আদৌ কোনো খরচ নাও হতে পারে। এই টিউটোরিয়ালের পর বিলিং এড়াতে রিসোর্সগুলো বন্ধ করার জন্য, আপনি আপনার তৈরি করা রিসোর্সগুলো অথবা প্রজেক্টটি ডিলিট করে দিতে পারেন। নতুন গুগল ক্লাউড ব্যবহারকারীরা ৩০০ মার্কিন ডলারের ফ্রি ট্রায়াল প্রোগ্রামের জন্য যোগ্য।
ক্লাউড শেল শুরু করুন
যদিও গুগল ক্লাউড আপনার ল্যাপটপ থেকে দূরবর্তীভাবে পরিচালনা করা যায়, এই কোডল্যাবে আপনি গুগল ক্লাউড শেল ব্যবহার করবেন, যা ক্লাউডে চলমান একটি কমান্ড লাইন পরিবেশ।
গুগল ক্লাউড কনসোল থেকে, উপরের ডানদিকের টুলবারে থাকা ক্লাউড শেল আইকনটিতে ক্লিক করুন:

পরিবেশটি প্রস্তুত করতে এবং এর সাথে সংযোগ স্থাপন করতে মাত্র কয়েক মুহূর্ত সময় লাগবে। এটি শেষ হলে, আপনি এইরকম কিছু দেখতে পাবেন:

এই ভার্চুয়াল মেশিনটিতে আপনার প্রয়োজনীয় সমস্ত ডেভেলপমেন্ট টুলস লোড করা আছে। এটি একটি স্থায়ী ৫ জিবি হোম ডিরেক্টরি প্রদান করে এবং গুগল ক্লাউডে চলে, যা নেটওয়ার্ক পারফরম্যান্স ও অথেনটিকেশনকে ব্যাপকভাবে উন্নত করে। এই কোডল্যাবে আপনার সমস্ত কাজ একটি ব্রাউজারের মধ্যেই করা যাবে। আপনাকে কিছুই ইনস্টল করতে হবে না।
৫. শুরু করার আগে
এপিআই সক্ষম করুন
ক্লাউড শেলের ভিতরে, নিশ্চিত করুন যে আপনার প্রজেক্ট আইডি সেট আপ করা আছে:
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
৬. লুকার পিএসসি প্রকল্পটি শনাক্ত করুন
একটি ক্লাউড এসকিউএল পিএসসি ইনস্ট্যান্স তৈরি করার জন্য অনুমোদিত পিএসসি প্রজেক্টগুলো শনাক্ত করা প্রয়োজন, তাই ক্লাউড এসকিউএল ইনস্ট্যান্স তৈরির সময় লুকার পিএসসি টেন্যান্ট প্রজেক্টটি অবশ্যই সরবরাহ করতে হবে অথবা বিদ্যমান ইনস্ট্যান্স ব্যবহার করা হলে তা আপডেট করতে হবে।
gcloud ব্যবহার করে লুকার পিএসসি প্রজেক্ট নির্ধারণ করুন
লুকার পিএসসি প্রোজেক্ট আইডি পেতে, ক্লাউড শেলের ভিতরে [INSTANCE_NAME]-এ আপনার লুকার পিএসসি ইনস্ট্যান্সের নাম লিখুন:
gcloud looker instances describe [INSTANCE_NAME] --region=$region --format=json | grep -i lookerServiceAttachmentUri
উদাহরণ আউটপুট t7ec792caf2a609d1-tp-তে, লুকার পিএসসি প্রজেক্টটি রয়েছে:
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",
ক্লাউড কনসোল ব্যবহার করে লুকার পিএসসি প্রজেক্ট নির্ধারণ করুন
ক্লাউড কনসোলে, এখানে যান:
লুকার → লুকার পিএসসি ইনস্ট্যান্স

৭. প্রোডিউসার ক্লাউড SQL ইনস্ট্যান্স তৈরি করুন
পরবর্তী অংশে, আপনি পরীক্ষার উদ্দেশ্যে ব্যবহৃত একটি ক্লাউড এসকিউএল পিএসসি ইনস্ট্যান্স তৈরি করবেন, যা একটি পূর্বনির্ধারিত পাসওয়ার্ড দিয়ে স্থাপন করা হবে এবং অনুমোদিত পিএসসি প্রজেক্টের তালিকায় লুকার পিএসসি প্রজেক্টটি উল্লেখ করতে হবে।
ক্লাউড SQL PSC তৈরি
ক্লাউড শেলের ভিতরে, একটি ইনস্ট্যান্স তৈরি করুন এবং প্রাইভেট সার্ভিস কানেক্ট সক্রিয় করুন, আপনার লুকার পিএসসি প্রজেক্ট আইডি দিয়ে [INSTANCE_PROJECT] আপডেট করুন।
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
ক্লাউড এসকিউএল সার্ভিস অ্যাটাচমেন্টটি সংগ্রহ করুন
প্রাইভেট সার্ভিস কানেক্ট সক্রিয় করে একটি ক্লাউড এসকিউএল ইনস্ট্যান্স তৈরি করার পরে, পরবর্তী ধাপে লুকারে প্রাইভেট সার্ভিস কানেক্ট এন্ডপয়েন্ট তৈরি করতে ব্যবহৃত সার্ভিস অ্যাটাচমেন্ট ইউআরআই-টি সংগ্রহ করুন।
ক্লাউড শেলের ভিতরে, নিম্নলিখিতগুলি সম্পাদন করুন:
gcloud sql instances describe [INSTANCE_NAME] --project=$project | grep -i pscServiceAttachmentLink
উদাহরণ আউটপুটে সার্ভিস অ্যাটাচমেন্ট URI তৈরি হয়:
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
ক্লাউড কনসোল থেকে আপনি ক্লাউড এসকিউএল পিএসসি সার্ভিস অ্যাটাচমেন্টটি পেতে পারেন:
ক্লাউড কনসোলে, এখানে যান:
SQL → SQL ইনস্ট্যান্স → সংযোগসমূহ

৮. লুকারে একটি PSC এন্ডপয়েন্ট সংযোগ স্থাপন করুন।
পরবর্তী অংশে, আপনি একটি একক ডোমেনের জন্য ক্লাউড শেলে –psc-service-attachment ফ্ল্যাগ ব্যবহার করে ক্লাউড এসকিউএল প্রোডিউসার সার্ভিস অ্যাটাচমেন্টকে লুকার কোর পিএসসি-এর সাথে যুক্ত করবেন।
ক্লাউড শেলের ভিতরে, আপনার পরিবেশের সাথে মিলিয়ে নিম্নলিখিত প্যারামিটারগুলি আপডেট করে psc অ্যাসোসিয়েশনটি তৈরি করুন:
- INSTANCE_NAME: আপনার Looker (Google Cloud core) ইনস্ট্যান্সের নাম।
- ডোমেইন_১: sql.database1.com
- SERVICE_ATTACHMENT_1: ক্লাউড SQL PSC ইনস্ট্যান্স বর্ণনা করার সময় সংগৃহীত URI
- অঞ্চল: যে অঞ্চলে আপনার লুকার (গুগল ক্লাউড কোর) ইনস্ট্যান্সটি হোস্ট করা আছে
ক্লাউড শেলের ভিতরে, নিম্নলিখিতগুলি সম্পাদন করুন:
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
ক্লাউড শেলের ভিতরে, 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"
}
ক্লাউড কনসোলে PSC এন্ডপয়েন্টটি যাচাই করুন
ক্লাউড কনসোল থেকে আপনি পিএসসি সংযোগটি যাচাই করতে পারেন।
ক্লাউড কনসোলে, এখানে যান:
লুকার → লুকার ইনস্ট্যান্স → বিবরণ


৯. লুকার পিএসসি-কে ক্লাউড এসকিউএল পিএসসি-এর সাথে একীভূত করুন
পরবর্তী অংশে আপনি লুকার কনসোল ব্যবহার করে ক্লাউড এসকিউএল পিএসসি ইনস্ট্যান্সের সাথে একটি ডেটাবেস সংযোগ তৈরি করবেন।
ADMIN → DATABASE → CONNECTIONS-এ যান → ADD CONNECTION নির্বাচন করুন।
নিচের স্ক্রিনশট অনুযায়ী সংযোগের বিবরণ পূরণ করুন, CONNECT নির্বাচন করুন।

সংযোগটি এখন কনফিগার করা হয়েছে।

১০. লুকার সংযোগ যাচাই করুন
পরবর্তী অংশে আপনি শিখবেন কীভাবে Looker-এর 'test' অ্যাকশন ব্যবহার করে Cloud SQL PSC ইনস্ট্যান্সের সাথে Looker-এর সংযোগ যাচাই করতে হয়।
ডেটা কানেকশন অ্যাডমিন → ডেটাবেস → কানেকশনস → cloud-sql-psc-demo → টেস্ট- এ যান।
একবার টেস্ট নির্বাচন করা হলে লুকার নিচে নির্দেশিত উপায়ে পোস্টগ্রেস-ডাটাবেসের সাথে সংযোগ স্থাপন করবে:

পরিষ্কার করা
একটিমাত্র ক্লাউড শেল টার্মিনাল থেকে ল্যাবের উপাদানগুলো মুছে ফেলুন
gcloud sql instances delete cloud-sql-psc-demo -q
১১. অভিনন্দন
অভিনন্দন, আপনি প্রাইভেট সার্ভিস কানেক্ট দ্বারা চালিত লুকার কনসোল ব্যবহার করে ক্লাউড এসকিউএল পিএসসি-তে সংযোগ সফলভাবে কনফিগার এবং যাচাই করেছেন।
আপনি প্রোডিউসার সার্ভিস হিসেবে ক্লাউড এসকিউএল পিএসসি ইনস্ট্যান্স এবং প্রোডিউসার সার্ভিসে সংযোগের জন্য লুকার পিএসসি এন্ডপয়েন্ট তৈরি করেছেন।
কসমোপাপের মতে কোডল্যাবগুলো অসাধারণ!!

এরপর কী?
এই কোডল্যাবগুলো দেখে নিন...
- প্রাইভেট সার্ভিস কানেক্ট ব্যবহার করে পরিষেবাগুলি প্রকাশ এবং গ্রহণ করা
- প্রাইভেট সার্ভিস কানেক্ট এবং একটি অভ্যন্তরীণ টিসিপি প্রক্সি লোড ব্যালেন্সার ব্যবহার করে হাইব্রিড নেটওয়ার্কিংয়ের মাধ্যমে অন-প্রেম পরিষেবাগুলিতে সংযোগ করুন।
- প্রকাশিত সকল প্রাইভেট সার্ভিস কানেক্ট কোডল্যাবে প্রবেশাধিকার
আরও পড়ুন ও ভিডিও
রেফারেন্স নথি
- প্রাইভেট সার্ভিস কানেক্ট ব্যবহার করে একটি ইনস্ট্যান্সে সংযোগ করুন | ক্লাউড এসকিউএল ফর মাইএসকিউএল | গুগল ক্লাউড
- gcloud sql instances create | গুগল ক্লাউড সিএলআই ডকুমেন্টেশন
- একটি লুকার (গুগল ক্লাউড কোর) প্রাইভেট সার্ভিস কানেক্ট ইনস্ট্যান্স তৈরি করুন
- প্রাইভেট সার্ভিস কানেক্ট ব্যবহার করে কীভাবে একটি পরিষেবা প্রকাশ করবেন