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

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

آنچه یاد خواهید گرفت
- الزامات شبکه
- بهروزرسانی فهرست مجوزهای Looker برای دسترسی به شمال
- یک backend برای Private Service Connect در Consumer VPC ایجاد کنید
- گوگل در مقابل گواهیهای خودامضا
آنچه نیاز دارید
- پروژه گوگل کلود با مجوزهای مالک
- دامنه ثبت شده
- نمونه PSC Looker موجود

۲. آنچه خواهید ساخت
شما یک شبکه مصرفکننده مجاز، looker-psc-demo، ایجاد خواهید کرد تا یک متعادلکننده بار برنامه کاربردی L7 خارجی منطقهای و NEG بکاند PSC را که به یک گواهی گوگل یا خودامضا نیاز دارد، مستقر کنید. در هر دو روش، یک دامنه ثبتشده مورد نیاز است که با دامنه سفارشی تعریفشده در Looker مطابقت داشته باشد.
۳. الزامات شبکه
در زیر جزئیات الزامات شبکه آمده است:
قطعات | توضیحات |
VPC (مشاهدهگر-psc-دمو) | حالت سفارشی VPC |
زیرشبکه PSC NEG | برای اختصاص آدرس IP به گروه نقاط پایانی شبکه استفاده میشود. |
زیرشبکه فقط پروکسی | به هر یک از پروکسیهای متعادلکننده بار، یک آدرس IP داخلی اختصاص داده میشود. بستههایی که از یک پروکسی به یک ماشین مجازی backend یا نقطه پایانی ارسال میشوند، دارای یک آدرس IP منبع از زیرشبکه فقط پروکسی هستند. |
خدمات بکاند | یک سرویس backend به عنوان پلی بین متعادل کننده بار و منابع backend شما عمل میکند. در این آموزش، سرویس backend با PSC NEG مرتبط است. |
۴. توپولوژی 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
۷. شبکه مصرفکنندگان
در بخش بعدی، شبکه مصرفکنندهای ایجاد خواهید کرد که در فهرست مجاز Looker PSC VPC بهروزرسانی خواهد شد.
شبکه VPC
درون Cloud Shell، موارد زیر را انجام دهید:
gcloud compute networks create looker-psc-demo --subnet-mode custom
ایجاد زیرشبکهها
درون Cloud Shell، زیرشبکه گروه نقطه پایانی شبکه مصرفکننده را ایجاد کنید:
gcloud compute networks subnets create consumer-psc-neg-subnet --network looker-psc-demo --range 172.16.30.0/28 --region $region --enable-private-ip-google-access
درون Cloud Shell، زیرشبکه فقط پروکسی منطقهای تولیدکننده را ایجاد کنید:
gcloud compute networks subnets create $region-proxy-only-subnet \
--purpose=REGIONAL_MANAGED_PROXY \
--role=ACTIVE \
--region=$region \
--network=looker-psc-demo \
--range=10.10.10.0/24
آدرس IP متعادلکننده بار را رزرو کنید
در داخل Cloud Shell، یک آدرس IP خارجی برای متعادلکننده بار رزرو کنید:
gcloud compute addresses create regional-alb-static-ip \
--region=$region \
--network-tier=STANDARD
درون Cloud Shell، آدرس IP رزرو شده را مشاهده کنید:
gcloud compute addresses describe regional-alb-static-ip --region=us-central1 | grep -i address:
خروجی مثال:
user@cloudshell$ gcloud compute addresses describe regional-alb-static-ip --region=us-central1 | grep -i address:
address: 35.208.202.244
۸. یک دامنه سفارشی ایجاد کنید
برای ایجاد دامنه سفارشی مراحل زیر لازم است:
مثال دامنه سفارشی
دامنه سفارشی looker.cosmopup.com به عنوان یک زیر دامنه DNS عمومی مرتبط با یک رکورد A از آدرسهای IP استاتیک (regional-alb-static-ip) که قبلاً تعریف شده است، وجود دارد. به تصویر گرفته شده از یک ترمینال که جستجوی DNS را تأیید میکند، مراجعه کنید.

سپس دامنه مشتری را با استفاده از زیر دامنه looker.cosmopup.com ایجاد کنید.

مثال OAuth
در زیر مثالی از اعتبارنامههای OAuth برای Authorized origins و callback برای زیردامنه looker.cosmopup.com آورده شده است.

۹. گواهینامهها
شما میتوانید گواهیهای Compute Engine یا Certificate Manager را ایجاد کنید. برای ایجاد گواهیها با استفاده از Certificate Manager از هر یک از روشهای زیر استفاده کنید:
- گواهیهای خودمدیریتی منطقهای. برای اطلاعات بیشتر در مورد ایجاد و استفاده از گواهیهای خودمدیریتی منطقهای، به بخش «استقرار گواهی خودمدیریتی منطقهای» مراجعه کنید. نقشههای گواهی پشتیبانی نمیشوند.
- گواهینامههای منطقهای تحت مدیریت گوگل. نقشههای گواهینامه پشتیبانی نمیشوند. انواع گواهینامههای منطقهای تحت مدیریت گوگل زیر توسط Certificate Manager پشتیبانی میشوند:
- گواهینامههای منطقهای تحت مدیریت گوگل با مجوز DNS برای هر پروژه. برای اطلاعات بیشتر، به «استقرار یک گواهینامه منطقهای تحت مدیریت گوگل» مراجعه کنید.
- گواهینامههای منطقهای (خصوصی) تحت مدیریت گوگل با سرویس مرجع صدور گواهینامه. برای اطلاعات بیشتر، به «استقرار گواهینامه منطقهای تحت مدیریت گوگل با سرویس CA» مراجعه کنید.
۱۰. لیست مجاز VPC لوکِر
مشاهده VPC های مجاز
در بخش بعدی، از رابط کاربری Cloud Console برای مشاهده لیست VPCهای مجاز Looker استفاده خواهید کرد.
در کنسول ابری، به مسیر زیر بروید:
مشاهدهگر → نمونه مشاهدهگر → جزئیات
مثال زیر، هیچ ورودی در لیست VPC های مجاز وجود ندارد:

بهروزرسانی VPCهای مجاز
با اضافه کردن looker-psc-demo به عنوان یک VPC مجاز، نمونه Looker خود را برای پشتیبانی از دسترسی به سمت شمال بهروزرسانی کنید.
در کنسول ابری، به مسیر زیر بروید:
مشاهدهگر → نمونه مشاهدهگر → ویرایش

اتصالات → VPC های مجاز
مطمئن شوید که پروژهای را که looker-psc-demo در آن مستقر است، انتخاب میکنید و سپس VPC looker-psc-demo و سپس ادامه را مینویسید.


اعتبارسنجی VPC های مجاز
لیست VPC های مجاز برای بروزرسانی را مشاهده کنید
در کنسول ابری، به مسیر زیر بروید:
مشاهدهگر → نمونه مشاهدهگر → جزئیات

۱۱. ایجاد بکاند PSC
Looker PSC به عنوان یک تولیدکننده سرویس، یک URI ضمیمه سرویس تولید میکند که توسط مصرفکنندگان سرویس برای استقرار نقاط پایانی و backendها جهت دسترسی به سمت شمال به Looker استفاده میشود. در مرحله بعد، URI ضمیمه سرویس Looker PSC را شناسایی کرده و به دنبال آن یک backend گروه نقطه پایانی شبکه اتصال سرویس خصوصی (NEG) در Consumer VPC ایجاد خواهید کرد.
پیوست سرویس Looker PSC را شناسایی کنید
در کنسول ابری، آدرس پیوست سرویس (Service Attach URI) را پیدا کرده و کپی کنید:
مشاهدهگر → نمونه مشاهدهگر → جزئیات

گروه نقطه پایانی شبکه PSC را ایجاد کنید
در داخل Cloud Shell، موارد زیر را انجام دهید تا مطمئن شوید که سرویس psc-target-service بهروزرسانی شده است:
gcloud compute network-endpoint-groups create looker-northbound-neg \
--network-endpoint-type=private-service-connect \
--psc-target-service=[UPDATE WITH YOU LOOKER SERVICE ATTACHMENT URI] \
--region=$region \
--network=looker-psc-demo \
--subnet=consumer-psc-neg-subnet
مثال:
gcloud compute network-endpoint-groups create looker-northbound-neg \
--network-endpoint-type=private-service-connect \
--psc-target-service=projects/t7ec792caf2a609d1-tp/regions/us-central1/serviceAttachments/looker-psc-f51982e2-ac0d-48b1-91bb-88656971c183 \
--region=$region \
--network=looker-psc-demo \
--subnet=consumer-psc-neg-subnet
اعتبارسنجی ایجاد گروه انتهایی شبکه PSC
در داخل Cloud Shell، موارد زیر را انجام دهید، پس از اینکه pscConnectionStatus پذیرفته شد:
gcloud compute network-endpoint-groups describe looker-northbound-neg --region=$region | grep -i pscConnectionStatus:
مثال:
user@cloudshell$ gcloud compute network-endpoint-groups describe looker-northbound-neg --region=$region | grep -i pscConnectionStatus:
pscConnectionStatus: ACCEPTED
ایجاد یک متعادلکننده بار منطقهای برای برنامهها
در مراحل بعدی، از Cloud Console برای ایجاد متعادلکننده بار منطقهای برنامههای خارجی استفاده خواهید کرد و در عین حال گواهینامههای تولید شده خود را به پیکربندی front end مرتبط خواهید کرد.
در کنسول ابری، به مسیر زیر بروید:
خدمات شبکه → متعادلسازی بار → ایجاد متعادلکننده بار

گزینههای زیر را انتخاب کنید:

پیکربندی frontend را ایجاد کنید
گزینههای زیر را انتخاب کنید و محیط را بر اساس استقرار خود سفارشی کنید:
- منطقه مورد استفاده در استقرار زیرساخت شبکه
- زیرشبکه فقط پروکسی به طور خودکار بر اساس منطقه شما پر میشود
- آیپی استاتیک از پیش تعریفشده بر اساس منطقه انتخابی شما در دسترس است

با انتخاب Certificate، گزینه استفاده از گواهی موجود یا جدید نمایش داده میشود:

گواهی و کلید خصوصی خود را آپلود کنید، سپس CREATE را انتخاب کنید:

برای تکمیل پیکربندی Frontend، گزینه DONE را انتخاب کنید:

ایجاد پیکربندی backend
گزینههای زیر را انتخاب کنید:




ایجاد قوانین مسیریابی
گزینههای زیر را انتخاب کنید (گزینههای پیشفرض):

بررسی و نهایی کردن
پیکربندی را تأیید کنید و CREATE را انتخاب کنید:

اکنون متعادل کننده بار فعال شده است:

دسترسی به رابط کاربری Looker
اکنون که متعادلکننده بار عملیاتی شده است، میتوانید از طریق یک مرورگر وب به دامنه Looker سفارشی خود دسترسی پیدا کنید. لازم به ذکر است که بسته به نوع گواهی مورد استفاده، ممکن است با هشداری روبرو شوید، مثلاً گواهی غیرقابل اعتماد در مقابل گواهی قابل اعتماد.
در زیر مثالی (گواهی غیرقابل اعتماد) از دسترسی به دامنه سفارشی Looker به نام looker.cosmopup.com که به رابط کاربری Looker دسترسی به سمت شمال را میدهد، آورده شده است:

۱۲. تمیز کردن
از یک ترمینال Cloud Shell، اجزای آزمایشگاه را حذف کنید
gcloud compute forwarding-rules delete regional-external-alb-fr --region=$region -q
gcloud compute target-https-proxies delete regional-external-alb-target-proxy --region=$region -q
gcloud compute url-maps delete regional-external-alb --region=$region -q
gcloud compute backend-services delete looker-psc-neg-backend-svc --region=$region -q
gcloud compute addresses delete regional-alb-static-ip --region=$region -q
gcloud compute network-endpoint-groups delete looker-northbound-neg --region=$region -q
gcloud compute networks delete looker-psc-demo -q
۱۳. تبریک
تبریک میگویم، شما با موفقیت اتصال به سمت شمال را با استفاده از یک دامنه مشتری و متعادلکننده بار برنامه خارجی منطقهای، به Looker پیکربندی و اعتبارسنجی کردید.
شما زیرساخت مصرفکننده را ایجاد کردید، یاد گرفتید که چگونه یک PSC NEG، دامنه سفارشی ایجاد کنید و با گزینههای مختلف گواهینامه آشنا شدید. چیزهای هیجانانگیز زیادی برای شروع کار با Looker وجود دارد.
کازموپاپ فکر میکند که کدلبها فوقالعاده هستند!!

بعدش چی؟
به برخی از این آزمایشگاههای کد نگاهی بیندازید...
- استفاده از Private Service Connect برای انتشار و مصرف سرویسها
- با استفاده از Private Service Connect و یک متعادلکننده بار داخلی TCP Proxy، از طریق شبکه ترکیبی به سرویسهای On-Premium متصل شوید.
- دسترسی به تمام آزمایشگاههای کد منتشر شدهی Private Service Connect
مطالعه بیشتر و ویدیوها
اسناد مرجع
- استفاده از گواهینامههای SSL خودمدیریتشده | متعادلسازی بار | گوگل کلود
- یک گواهی منطقهای تحت مدیریت گوگل راهاندازی کنید
- ایجاد یک بکاند اتصال سرویس خصوصی | VPC | گوگل کلود
- ایجاد یک بکاند اتصال سرویس خصوصی | VPC | گوگل کلود
- یک نمونه اتصال سرویس خصوصی Looker (هسته Google Cloud) ایجاد کنید
- نحوه انتشار یک سرویس با استفاده از Private Service Connect