1. مقدمه
در این لبه کد، شما یک L7 Regional Application Load Balancer & Private Service Connect Backend ایجاد می کنید تا دسترسی شمال به Looker داشته باشید. دسترسی Northbound به Looker نیاز به Consumer VPC مجاز در لیست نمونه Looker PSC دارد.
Private Service Connect یکی از قابلیتهای شبکه Google Cloud است که به مصرفکنندگان اجازه میدهد بهطور خصوصی از داخل شبکه VPC خود به خدمات مدیریت شده دسترسی داشته باشند. به طور مشابه، به تولیدکنندگان خدمات مدیریت شده اجازه می دهد تا این خدمات را در شبکه های VPC جداگانه خود میزبانی کنند و یک اتصال خصوصی به مصرف کنندگان خود ارائه دهند. به عنوان مثال، هنگامی که از Private Service Connect برای دسترسی به Looker استفاده می کنید، شما مصرف کننده سرویس هستید و Google تولید کننده سرویس است، همانطور که در شکل 1 مشخص شده است.
شکل 1.
دسترسی Southbound که به عنوان PSC معکوس نیز شناخته میشود، مصرفکننده را قادر میسازد تا یک سرویس منتشر شده بهعنوان تولیدکننده ایجاد کند تا به Looker اجازه دسترسی به نقاط پایانی در محل، در VPC، به خدمات مدیریت شده و اینترنت را بدهد. همانطور که در شکل 2 مشخص شده است، بدون توجه به جایی که Looker PSC در کجا مستقر شده است، اتصالات به جنوب می توانند در هر منطقه مستقر شوند.
شکل 2.
چیزی که یاد خواهید گرفت
- الزامات شبکه
- لیست مجاز Looker را برای دسترسی به شمال به روز کنید
- یک باطن Private Service Connect در Consumer VPC ایجاد کنید
- گواهیهای Google در مقابل Self Signed
آنچه شما نیاز دارید
- پروژه Google Cloud با مجوزهای مالک
- دامنه ثبت شده
- نمونه PSC Looker موجود
2. آنچه می سازید
شما یک شبکه مصرف کننده لیست مجاز، Looker-psc-Demo، ایجاد خواهید کرد تا یک متعادل کننده بار برنامه خارجی L7 منطقه ای و NEG پشتیبان PSC که به گواهی Google یا خود امضا نیاز دارد، راه اندازی کنید. در هر دو روش، یک دامنه ثبت شده مورد نیاز است که با دامنه سفارشی تعریف شده در Looker مطابقت داشته باشد.
3. الزامات شبکه
در زیر تجزیه و تحلیل نیازمندی های شبکه آورده شده است:
اجزاء | توضیحات |
VPC (looker-psc-demo) | حالت سفارشی VPC |
زیرشبکه PSC NEG | برای تخصیص یک آدرس IP برای گروه نقطه پایانی شبکه استفاده می شود |
زیر شبکه فقط پروکسی | به هر یک از پراکسی های load balancer یک آدرس IP داخلی اختصاص داده شده است. بسته های ارسال شده از یک پروکسی به یک ماشین مجازی پشتیبان یا نقطه پایانی دارای یک آدرس IP منبع از زیر شبکه فقط پراکسی هستند. |
خدمات Backend | یک سرویس پشتیبان به عنوان پلی بین متعادل کننده بار و منابع باطن شما عمل می کند. در آموزش، سرویس Backend با PSC NEG مرتبط است. |
4. توپولوژی Codelab
5. راه اندازی و الزامات
تنظیم محیط خود به خود
- به Google Cloud Console وارد شوید و یک پروژه جدید ایجاد کنید یا از یک موجود استفاده مجدد کنید. اگر قبلاً یک حساب Gmail یا Google Workspace ندارید، باید یک حساب ایجاد کنید .
- نام پروژه نام نمایشی برای شرکت کنندگان این پروژه است. این یک رشته کاراکتری است که توسط API های Google استفاده نمی شود. شما همیشه می توانید آن را به روز کنید.
- شناسه پروژه در تمام پروژههای Google Cloud منحصربهفرد است و تغییرناپذیر است (پس از تنظیم نمیتوان آن را تغییر داد). Cloud Console به طور خودکار یک رشته منحصر به فرد تولید می کند. معمولاً برای شما مهم نیست که چیست. در اکثر کدها، باید شناسه پروژه خود را ارجاع دهید (معمولاً با نام
PROJECT_ID
شناخته می شود). اگر شناسه تولید شده را دوست ندارید، ممکن است یک شناسه تصادفی دیگر ایجاد کنید. از طرف دیگر، میتوانید خودتان را امتحان کنید، و ببینید آیا در دسترس است یا خیر. پس از این مرحله نمی توان آن را تغییر داد و در طول مدت پروژه باقی می ماند. - برای اطلاع شما، یک مقدار سوم وجود دارد، یک شماره پروژه ، که برخی از API ها از آن استفاده می کنند. در مورد هر سه این مقادیر در مستندات بیشتر بیاموزید.
- در مرحله بعد، برای استفاده از منابع Cloud/APIها باید صورتحساب را در کنسول Cloud فعال کنید . اجرا کردن از طریق این کد لبه هزینه زیادی نخواهد داشت. برای خاموش کردن منابع برای جلوگیری از تحمیل صورتحساب فراتر از این آموزش، میتوانید منابعی را که ایجاد کردهاید حذف کنید یا پروژه را حذف کنید. کاربران جدید Google Cloud واجد شرایط برنامه آزمایشی رایگان 300 دلاری هستند.
Cloud Shell را راه اندازی کنید
در حالی که Google Cloud را می توان از راه دور از لپ تاپ شما کار کرد، در این کد لبه از Google Cloud Shell استفاده خواهید کرد، یک محیط خط فرمان که در Cloud اجرا می شود.
از Google Cloud Console ، روی نماد Cloud Shell در نوار ابزار بالا سمت راست کلیک کنید:
تهیه و اتصال به محیط فقط چند لحظه طول می کشد. وقتی تمام شد، باید چیزی شبیه به این را ببینید:
این ماشین مجازی با تمام ابزارهای توسعه که شما نیاز دارید بارگذاری شده است. این یک فهرست اصلی 5 گیگابایتی دائمی را ارائه می دهد و در Google Cloud اجرا می شود و عملکرد و احراز هویت شبکه را تا حد زیادی افزایش می دهد. تمام کارهای شما در این کد لبه را می توان در یک مرورگر انجام داد. شما نیازی به نصب چیزی ندارید.
6. قبل از شروع
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
7. شبکه مصرف کننده
در بخش بعدی، شبکه مصرف کننده را ایجاد می کنید که در لیست مجاز 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
8. یک دامنه سفارشی ایجاد کنید
مراحل زیر برای ایجاد یک دامنه سفارشی مورد نیاز است:
نمونه دامنه سفارشی
دامنه سفارشی looker.cosmopup.com به عنوان یک زیر دامنه DNS عمومی مرتبط با یک رکورد از آدرس های IP ثابت (regional-alb-static-ip) که قبلاً تعریف شده بود وجود دارد. به اسکرین شات گرفته شده از ترمینالی که جستجوی dns را تأیید می کند، نگاه کنید.
سپس دامنه مشتری را با استفاده از زیر دامنه looker.cosmopup.com ایجاد کنید
نمونه OAuth
در زیر نمونهای از اعتبارنامههای OAuth برای مبداهای مجاز و پاسخ تماس برای زیر دامنه looker.cosmopup.com آمده است.
9. گواهینامه ها
میتوانید گواهیهای Compute Engine یا Certificate Manager را ایجاد کنید. برای ایجاد گواهی با استفاده از Certificate Manager از یکی از روش های زیر استفاده کنید:
- گواهینامه های خود مدیریت منطقه ای برای اطلاعات در مورد ایجاد و استفاده از گواهینامههای خود مدیریت منطقهای، به استقرار گواهینامه خود مدیریت منطقهای مراجعه کنید. نقشه های گواهی پشتیبانی نمی شوند.
- گواهینامه های منطقه ای تحت مدیریت Google. نقشه های گواهی پشتیبانی نمی شوند. انواع زیر از گواهیهای منطقهای تحت مدیریت Google توسط مدیر گواهی پشتیبانی میشوند:
- گواهینامه های منطقه ای تحت مدیریت Google با مجوز DNS برای هر پروژه. برای اطلاعات بیشتر، به استقرار یک گواهینامه منطقه ای تحت مدیریت Google مراجعه کنید.
- گواهینامه های منطقه ای (خصوصی) تحت مدیریت Google با خدمات مرجع صدور گواهی. برای اطلاعات بیشتر، به استقرار گواهی مدیریت شده توسط Google با سرویس CA مراجعه کنید.
10. Looker VPC allowlisting
VPC های مجاز را مشاهده کنید
در بخش زیر، از رابط کاربری Cloud Console برای مشاهده لیست VPC های مجاز Looker استفاده می کنید.
در Cloud Console به مسیر زیر بروید:
Looker → Looker Instance → Details
به عنوان مثال در زیر، هیچ ورودی در لیست VPC های مجاز وجود ندارد:
VPC های مجاز را به روز کنید
با افزودن looker-psc-demo به عنوان یک VPC مجاز، نمونه Looker خود را برای پشتیبانی از دسترسی به شمال به روز کنید.
در Cloud Console به مسیر زیر بروید:
Looker → Looker Instance → Edit
اتصالات → VPC های مجاز
اطمینان حاصل کنید که پروژه ای را انتخاب کنید که در آن Looker-psc-Demo مستقر است و سپس VPC looker-psc-demo و سپس Continue.
اعتبار سنجی VPC های مجاز
لیست VPC های مجاز به روز رسانی را مشاهده کنید
در Cloud Console به مسیر زیر بروید:
Looker → Looker Instance → Details
11. PSC Backend را ایجاد کنید
Looker PSC بهعنوان یک تولیدکننده خدمات، یک URI پیوست سرویس ایجاد میکند که توسط مصرفکنندگان خدمات برای استقرار نقاط پایانی و باطنها برای دستیابی به دسترسی شمال به Looker استفاده میشود. در مرحله زیر، URI پیوست سرویس Looker PSC را شناسایی میکنید و سپس یک گروه نقطه پایانی شبکه اتصال خصوصی سرویس (NEG) در Consumer VPC ایجاد میکنید.
پیوست سرویس Looker PSC را شناسایی کنید
در Cloud Console، URI پیوست سرویس را پیمایش و کپی کنید:
Looker → Looker Instance → Details
گروه نقطه پایانی شبکه 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 مرتبط میکنید.
در Cloud Console به مسیر زیر بروید:
خدمات شبکه → تعادل بار → ایجاد تعادل بار
گزینه های زیر را انتخاب کنید:
پیکربندی frontend را ایجاد کنید
گزینه های زیر را انتخاب کنید و محیط را بر اساس استقرار خود سفارشی کنید:
- منطقه مورد استفاده در استقرار زیرساخت شبکه
- زیرشبکه Proxy-Only به صورت خودکار بر اساس منطقه شما پر می شود
- IP استاتیک تعریف شده قبلی بر اساس انتخاب منطقه شما در دسترس است
با انتخاب Certificate، گزینه استفاده از گواهی موجود یا جدید را پایین میآورد:
گواهینامه و کلید خصوصی خود را آپلود کنید، سپس CREATE را انتخاب کنید:
برای تکمیل پیکربندی Frontend، DONE را انتخاب کنید:
پیکربندی Backend را ایجاد کنید
گزینه های زیر را انتخاب کنید:
قوانین مسیریابی را ایجاد کنید
گزینه های زیر را انتخاب کنید (گزینه های پیش فرض):
بررسی و نهایی کردن
پیکربندی را تأیید کنید و CREATE را انتخاب کنید:
متعادل کننده بار اکنون فعال است:
دسترسی به رابط کاربری Looker
اکنون که load balancer عملیاتی شده است، می توانید از طریق یک مرورگر وب به دامنه Looker سفارشی خود دسترسی داشته باشید. مهم است که توجه داشته باشید که بسته به نوع گواهی که استفاده می کنید، ممکن است با یک هشدار مواجه شوید، به عنوان مثال گواهی نامعتبر در مقابل معتبر.
در زیر نمونه ای (گواهی نامعتبر) از دسترسی به دامنه سفارشی Looker looker.cosmopup.com است که دسترسی شمال به رابط کاربری Looker را می یابد:
12. پاکسازی کنید
از یک ترمینال 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
13. تبریک می گویم
تبریک میگوییم، شما با استفاده از دامنه مشتری و متعادلکننده بار برنامه خارجی منطقهای، اتصال شمال به Looker را با موفقیت پیکربندی و تأیید کردید.
زیرساخت مصرف کننده را ساختید، یاد گرفتید که چگونه یک PSC NEG، دامنه سفارشی ایجاد کنید و با گزینه های مختلف گواهی آشنا شدید. چیزهای بسیار هیجان انگیزی که شما را با Looker همراه می کند.
Cosmopup فکر می کند که نرم افزارهای کدنویسی عالی هستند!!
بعدش چی؟
برخی از این کد لبه ها را بررسی کنید...
- استفاده از Private Service Connect برای انتشار و مصرف خدمات
- با استفاده از Private Service Connect و یک متعادل کننده بار داخلی TCP Proxy از طریق شبکه هیبریدی به سرویس های اولیه متصل شوید.
- دسترسی به تمام کدهای منتشر شده Private Service Connect
ادامه مطلب و ویدیوها
اسناد مرجع
- استفاده از گواهینامه های SSL خود مدیریت | تعادل بار | Google Cloud
- یک گواهینامه منطقه ای تحت مدیریت Google مستقر کنید
- ایجاد یک باطن Private Service Connect | VPC | Google Cloud
- ایجاد یک باطن Private Service Connect | VPC | Google Cloud
- یک نمونه Looker (هسته Google Cloud) Private Service Connect ایجاد کنید
- نحوه انتشار یک سرویس با استفاده از Private Service Connect