۱. مقدمه
در این آزمایشگاه کد، شما یک متعادلکننده بار برنامه داخلی منطقهای 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 که به یک گواهی گوگل یا خودمدیریتشده نیاز دارد، مستقر کنید. برای جزئیات بیشتر، به صفحه خلاصه متعادلکننده بار و گواهی مراجعه کنید.
۳. الزامات شبکه
در زیر جزئیات الزامات شبکه آمده است:
قطعات | توضیحات |
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 consumer-ilb-subnet --network looker-psc-demo --range 172.16.40.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
۸. یک دامنه سفارشی ایجاد کنید
برای ایجاد دامنه سفارشی مراحل زیر لازم است:
در مثال زیر، 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 مرتبط خواهید کرد.
در کنسول ابری، به مسیر زیر بروید:
خدمات شبکه → متعادلسازی بار → ایجاد متعادلکننده بار

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

ایجاد پیکربندی backend
گزینههای زیر را انتخاب کنید و محیط را بر اساس استقرار خود سفارشی کنید:
- منطقه مورد استفاده در استقرار زیرساخت شبکه
- شبکه: looker-psc-demo
- زیرشبکه فقط پروکسی به طور خودکار بر اساس منطقه و شبکه شما پر میشود




قوانین مسیریابی
بدون نیاز به پیکربندی

پیکربندی ظاهری



مطمئن شوید که متعادلکننده بار فعال است و آدرس IP را دریافت کنید.
در کنسول ابری → سرویسهای شبکه → متعادلسازی بار → looker-ilb-alb

۱۲. وضوح DNS
تفکیک DNS به دامنه سفارشی میتواند به صورت معتبر در محل یا Cloud DNS باشد. در این آموزش، Cloud DNS را به عنوان سرور معتبر برای Looker Custom Domain تعریف خواهیم کرد. فعال کردن تفکیک DNS در محل به GCP مستلزم فعال کردن سیاستهای Inbound Server است. هنگامی که یک سیاست سرور ورودی ایجاد میکنید، Cloud DNS نقاط ورودی سیاست سرور ورودی را در شبکه VPC ایجاد میکند که سیاست سرور به آنها اعمال میشود. نقاط ورودی سیاست سرور ورودی، آدرسهای IPv4 داخلی هستند که از محدوده آدرس IPv4 اصلی هر زیرشبکه در شبکه VPC قابل اجرا، به جز زیرشبکههای فقط پروکسی، تهیه میشوند.
در بخش بعدی، یک منطقه DNS خصوصی برای دامنه سفارشی Looker، looker.cosmopup.com و یک رکورد A شامل آدرس IP متعادلکننده بار ایجاد میشود.
۱۳. ایجاد یک منطقه DNS خصوصی
درون Cloud Shell، منطقه خصوصی Cloud DNS را ایجاد کنید.
gcloud dns --project=$projectid managed-zones create looker-cosmopup-dns --description="" --dns-name="looker.cosmopup.com." --visibility="private" --networks="https://compute.googleapis.com/compute/v1/projects/$projectid/global/networks/looker-psc-demo"
درون Cloud Shell، یک رکورد A شامل آدرس IP متعادلکننده بار که در مرحله قبل به دست آمده است، ایجاد کنید.
gcloud dns --project=$projectid record-sets create looker.cosmopup.com. --zone="looker-cosmopup-dns" --type="A" --ttl="300" --rrdatas="<insert-your-ip>"
مثال:
gcloud dns --project=$projectid record-sets create looker.cosmopup.com. --zone="looker-cosmopup-dns" --type="A" --ttl="300" --rrdatas="172.16.20.7"
در مرحله بعد، شبکه ترکیبی (مثلاً Interconnect، HA-VPN) باید بین looker-psc-demo VPC و شبکه داخلی پیکربندی شود تا اتصال برقرار شود.
در زیر مراحل مورد نیاز برای برقراری اتصال Hybrid NEG به محل مورد نظر آمده است:
- انتخاب یک محصول اتصال به شبکه | گوگل کلود
- در معماری هاب و اسپوک با قابلیت اتصال VPC، دستگاه NEG هیبریدی در همان VPC که روتر ابری (هاب) در آن قرار دارد، مستقر میشود.
- اطمینان حاصل کنید که فایروالهای داخلی بهروزرسانی شدهاند تا با محدوده زیرشبکه فقط پروکسی سازگار شوند، زیرا این زیرشبکه به عنوان آدرس IP منبع برای ارتباط با بارهای کاری داخلی عمل میکند.
- DNS داخلی را با آدرس IP ورودی به عنوان DNS resolver برای looker.cosomopup.com بهروزرسانی کنید.
دسترسی به رابط کاربری Looker
اکنون که متعادلکننده بار عملیاتی شده است، میتوانید از طریق یک مرورگر وب به دامنه Looker سفارشی خود دسترسی پیدا کنید. لازم به ذکر است که بسته به نوع گواهینامهای که استفاده میکنید، ممکن است با هشداری روبرو شوید، مثلاً گواهینامه غیرقابل اعتماد در مقابل گواهینامه قابل اعتماد.
در زیر مثالی (گواهی غیرقابل اعتماد) از دسترسی به دامنه سفارشی Looker به نام looker.cosmopup.com که به رابط کاربری Looker دسترسی به سمت شمال را میدهد، آورده شده است:

۱۴. تمیز کردن
از یک ترمینال Cloud Shell، اجزای آزمایشگاه را حذف کنید:
gcloud compute forwarding-rules delete regional-internal-alb-fr --region=$region -q
gcloud compute target-https-proxies delete regional-internal-alb-target-proxy --region=$region -q
gcloud compute url-maps delete regional-internal-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