۱. مقدمه
در این آزمایشگاه کد، شما یک اتصال به سمت جنوب به Cloud SQL که با Private Service Connect به عنوان یک تولیدکننده سرویس مستقر شده است، برقرار خواهید کرد.
سرویس خصوصی اتصال (Private Service Connect) قابلیتی از شبکه گوگل کلود (Google Cloud) است که به مصرفکنندگان اجازه میدهد تا به صورت خصوصی از داخل شبکه VPC خود به سرویسهای مدیریتشده دسترسی داشته باشند. به طور مشابه، به تولیدکنندگان سرویس مدیریتشده نیز اجازه میدهد تا این سرویسها را در شبکههای VPC جداگانه خود میزبانی کنند و یک اتصال خصوصی به مصرفکنندگان خود ارائه دهند. به عنوان مثال، وقتی از سرویس خصوصی اتصال برای دسترسی به Looker استفاده میکنید، شما مصرفکننده سرویس هستید و گوگل، همانطور که در شکل 1 برجسته شده است، تولیدکننده سرویس است.

دسترسی به سمت جنوب، که با نام PSC معکوس نیز شناخته میشود، به مصرفکننده این امکان را میدهد که به عنوان تولیدکننده، یک سرویس منتشر شده ایجاد کند تا به Looker اجازه دسترسی به نقاط انتهایی در محل، در یک VPC، به سرویسهای مدیریت شده و اینترنت را بدهد. اتصالات به سمت جنوب میتوانند در هر منطقهای، صرف نظر از محل استقرار Looker PSC، مستقر شوند، همانطور که در شکل 2 برجسته شده است.

آنچه یاد خواهید گرفت
- ایجاد یک سرویس تولیدکننده نمونه Private Service Connect Cloud SQL
- یک نقطه پایانی Private Service Connect در Looker به عنوان مصرف کننده سرویس ایجاد کنید.
آنچه نیاز دارید
- پروژه گوگل کلود با مجوزهای مالک
- نمونه PSC Looker موجود

۲. آنچه خواهید ساخت
شما یک نمونه Cloud SQL PSC مستقر به عنوان تولیدکننده خدمات مرتبط با Looker PSC به عنوان مصرفکننده خدمات ایجاد خواهید کرد.
اقدامات زیر دسترسی به سرویس تولیدکننده را تأیید میکنند:
- یک نقطه پایانی PSC در Looker مرتبط با پیوست سرویس تولیدکننده ایجاد کنید
- از کنسول Looker برای ایجاد اتصال پایگاه داده به Cloud SQL PSC استفاده کنید
- اتصال به Cloud SQL PSC را با احراز هویت و دسترسی به یک طرح از پیش تعریف شده آزمایش کنید
۳. توپولوژی Codelab

۴. تنظیمات و الزامات
تنظیم محیط خودتنظیم
- وارد کنسول گوگل کلود شوید و یک پروژه جدید ایجاد کنید یا از یک پروژه موجود دوباره استفاده کنید. اگر از قبل حساب جیمیل یا گوگل ورک اسپیس ندارید، باید یکی ایجاد کنید .



- نام پروژه، نام نمایشی برای شرکتکنندگان این پروژه است. این یک رشته کاراکتری است که توسط APIهای گوگل استفاده نمیشود. شما همیشه میتوانید آن را بهروزرسانی کنید.
- شناسه پروژه در تمام پروژههای گوگل کلود منحصر به فرد است و تغییرناپذیر است (پس از تنظیم، قابل تغییر نیست). کنسول کلود به طور خودکار یک رشته منحصر به فرد تولید میکند؛ معمولاً برای شما مهم نیست که چه باشد. در اکثر آزمایشگاههای کد، باید شناسه پروژه خود را (که معمولاً با عنوان
PROJECT_IDشناخته میشود) ارجاع دهید. اگر شناسه تولید شده را دوست ندارید، میتوانید یک شناسه تصادفی دیگر ایجاد کنید. به عنوان یک جایگزین، میتوانید شناسه خودتان را امتحان کنید و ببینید که آیا در دسترس است یا خیر. پس از این مرحله قابل تغییر نیست و در طول پروژه باقی میماند. - برای اطلاع شما، یک مقدار سوم، شماره پروژه ، وجود دارد که برخی از APIها از آن استفاده میکنند. برای کسب اطلاعات بیشتر در مورد هر سه این مقادیر، به مستندات مراجعه کنید.
- در مرحله بعد، برای استفاده از منابع/API های ابری، باید پرداخت صورتحساب را در کنسول ابری فعال کنید . اجرای این آزمایشگاه کد هزینه زیادی نخواهد داشت، اگر اصلاً هزینهای داشته باشد. برای خاموش کردن منابع به منظور جلوگیری از پرداخت صورتحساب پس از این آموزش، میتوانید منابعی را که ایجاد کردهاید یا پروژه را حذف کنید. کاربران جدید Google Cloud واجد شرایط برنامه آزمایشی رایگان ۳۰۰ دلاری هستند.
شروع پوسته ابری
اگرچه میتوان از راه دور و از طریق لپتاپ، گوگل کلود را مدیریت کرد، اما در این آزمایشگاه کد، از گوگل کلود شل ، یک محیط خط فرمان که در فضای ابری اجرا میشود، استفاده خواهید کرد.
از کنسول گوگل کلود ، روی آیکون Cloud Shell در نوار ابزار بالا سمت راست کلیک کنید:

آمادهسازی و اتصال به محیط فقط چند لحظه طول میکشد. وقتی تمام شد، باید چیزی شبیه به این را ببینید:

این ماشین مجازی با تمام ابزارهای توسعهای که نیاز دارید، مجهز شده است. این ماشین مجازی یک دایرکتوری خانگی پایدار ۵ گیگابایتی ارائه میدهد و روی فضای ابری گوگل اجرا میشود که عملکرد شبکه و احراز هویت را تا حد زیادی بهبود میبخشد. تمام کارهای شما در این آزمایشگاه کد را میتوان در یک مرورگر انجام داد. نیازی به نصب چیزی ندارید.
۵. قبل از شروع
فعال کردن APIها
در داخل 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
۶. پروژه PSC Looker را شناسایی کنید
ایجاد یک نمونه Cloud SQL PSC مستلزم شناسایی پروژههای مجاز psc است، بنابراین، پروژه مستاجر Looker PSC باید در زمان ایجاد نمونه Cloud SQL ارائه شود یا در صورت استفاده از یک نمونه موجود، بهروزرسانی شود.
تعیین پروژه PSC Looker با استفاده از gcloud
درون Cloud Shell، نام نمونه PSC Looker خود را برای دریافت شناسه پروژه Looker PSC، [INSTANCE_NAME] بهروزرسانی کنید:
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",
تعیین پروژه PSC Looker با استفاده از Cloud Console
در کنسول ابری، به مسیر زیر بروید:
Looker → نمونه PSC Looker

۷. ایجاد نمونه SQL از Producer Cloud
در بخش بعدی، یک نمونه Cloud SQL PSC ایجاد خواهید کرد که برای اهداف آزمایشی استفاده میشود و با یک رمز عبور از پیش تعریف شده که پروژه Looker PSC را در لیست پروژههای psc مجاز مشخص میکند، مستقر میشود.
ایجاد PSC در 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
پس از ایجاد یک نمونه Cloud SQL با فعال بودن Private Service Connect، آدرس اینترنتی (URI) پیوست سرویس را که در مرحله بعدی برای ایجاد نقطه پایانی Private Service Connect در Looker استفاده میشود، دریافت کنید.
درون Cloud Shell، موارد زیر را انجام دهید:
gcloud sql instances describe [INSTANCE_NAME] --project=$project | grep -i pscServiceAttachmentLink
خروجی مثال، URI پیوست سرویس را تولید میکند:
پروژهها/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 را دریافت کنید:
در کنسول ابری، به مسیر زیر بروید:
SQL → نمونه SQL → اتصالات

۸. ایجاد یک اتصال نقطه پایانی PSC در Looker
در بخش بعدی، شما از طریق استفاده از پرچمهای –psc-service-attachment در Cloud Shell برای یک دامنه واحد، ضمیمه سرویس تولیدکنندگان Cloud SQL را با Looker Core PSC مرتبط خواهید کرد.
درون Cloud Shell، با بهروزرسانی پارامترهای زیر برای مطابقت با محیط خود، ارتباط psc را ایجاد کنید:
- INSTANCE_NAME: نام نمونه Looker (هسته Google Cloud) شما.
- دامنه_۱: sql.database1.com
- SERVICE_ATTACHMENT_1: آدرس اینترنتی (URI) هنگام توصیف نمونه Cloud SQL PSC ثبت شده است
- منطقه: منطقهای که نمونه Looker (هسته گوگل کلود) شما در آن میزبانی میشود
درون 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 برابر با "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 در Cloud Console
از طریق کنسول ابری میتوانید اتصال PSC را تأیید کنید
در کنسول ابری، به مسیر زیر بروید:
مشاهدهگر → نمونه مشاهدهگر → جزئیات


۹. ادغام Looker PSC با Cloud SQL PSC
در بخش بعدی، از کنسول Looker برای ایجاد اتصال پایگاه داده به نمونه Cloud SQL PSC استفاده خواهید کرد.
به بخش مدیریت → پایگاه داده → اتصالات بروید و گزینه افزودن اتصال را انتخاب کنید.
جزئیات اتصال را مطابق تصویر زیر پر کنید، CONNECT را انتخاب کنید

اتصال اکنون پیکربندی شده است

۱۰. اعتبارسنجی اتصال Looker
در بخش بعدی، نحوه اعتبارسنجی اتصال Looker به نمونه Cloud SQL PSC با استفاده از عمل «تست» Looker را خواهید آموخت.
به مسیر مدیریت اتصال داده → پایگاه داده → اتصالات → cloud-sql-psc-demo → تست بروید
پس از انتخاب Test، Looker مطابق شکل زیر به پایگاه داده postgres متصل میشود:

تمیز کردن
از یک ترمینال Cloud Shell، اجزای آزمایشگاه را حذف کنید
gcloud sql instances delete cloud-sql-psc-demo -q
۱۱. تبریک
تبریک میگوییم، شما با موفقیت اتصال به Cloud SQL PSC را با استفاده از Looker Console که توسط Private Service Connect پشتیبانی میشود، پیکربندی و تأیید کردید.
شما نمونههایی از Cloud SQL PSC را به عنوان سرویس تولیدکننده و نقطه پایانی PSC Looker ایجاد کردید که امکان اتصال به سرویس تولیدکننده را فراهم میکرد.
کازموپاپ فکر میکند که کدلبها فوقالعاده هستند!!

بعدش چی؟
به برخی از این آزمایشگاههای کد نگاهی بیندازید...
- استفاده از Private Service Connect برای انتشار و مصرف سرویسها
- با استفاده از Private Service Connect و یک متعادلکننده بار داخلی TCP Proxy، از طریق شبکه ترکیبی به سرویسهای On-Premium متصل شوید.
- دسترسی به تمام آزمایشگاههای کد منتشر شدهی Private Service Connect