Looker PSC Northbound منطقه ای داخلی L7 ALB

۱. مقدمه

در این آزمایشگاه کد، شما یک متعادل‌کننده بار برنامه داخلی منطقه‌ای L7 و Backend اتصال سرویس خصوصی ایجاد خواهید کرد تا به Looker دسترسی از سمت شمال پیدا کنید. دسترسی از سمت شمال به Looker نیاز به VPC مصرف‌کننده دارد که به نمونه PSC Looker لیست شده باشد.

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

شکل ۱.

۱۴۵ea4672c3a3b14.png

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

شکل ۲.

3edfcc67e195d082.png

آنچه یاد خواهید گرفت

  • الزامات شبکه
  • لیست دسترسی Looker را برای دسترسی به شمال به‌روزرسانی کنید
  • یک backend برای Private Service Connect در Consumer VPC ایجاد کنید
  • گوگل در مقابل گواهی‌های خودامضا

آنچه نیاز دارید

def88091b42bfe4d.png

۲. آنچه خواهید ساخت

شما یک شبکه مصرف‌کننده مجاز، looker-psc-demo، ایجاد خواهید کرد تا یک متعادل‌کننده بار برنامه کاربردی داخلی L7 منطقه‌ای و NEG بک‌اند PSC که به یک گواهی گوگل یا خودمدیریت‌شده نیاز دارد، مستقر کنید. برای جزئیات بیشتر، به صفحه خلاصه متعادل‌کننده بار و گواهی مراجعه کنید.

۳. الزامات شبکه

در زیر جزئیات الزامات شبکه آمده است:

قطعات

توضیحات

VPC (مشاهده‌گر-psc-دمو)

حالت سفارشی VPC

زیرشبکه PSC NEG

برای اختصاص آدرس IP به گروه نقاط پایانی شبکه استفاده می‌شود.

زیرشبکه فقط پروکسی

به هر یک از پروکسی‌های متعادل‌کننده بار، یک آدرس IP داخلی اختصاص داده می‌شود. بسته‌هایی که از یک پروکسی به یک ماشین مجازی backend یا نقطه پایانی ارسال می‌شوند، دارای یک آدرس IP منبع از زیرشبکه فقط پروکسی هستند.

خدمات بک‌اند

یک سرویس backend به عنوان پلی بین متعادل کننده بار و منابع backend شما عمل می‌کند. در این آموزش، سرویس backend با PSC NEG مرتبط است.

۴. توپولوژی Codelab

2f6bb87ef0e139b2.png

۵. تنظیمات و الزامات

تنظیم محیط خودتنظیم

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

fbef9caa1602edd0.png

a99b7ace416376c4.png

5e3ff691252acf41.png

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

شروع پوسته ابری

اگرچه می‌توان از راه دور و از طریق لپ‌تاپ، گوگل کلود را مدیریت کرد، اما در این آزمایشگاه کد، از گوگل کلود شل ، یک محیط خط فرمان که در فضای ابری اجرا می‌شود، استفاده خواهید کرد.

از کنسول گوگل کلود ، روی آیکون Cloud Shell در نوار ابزار بالا سمت راست کلیک کنید:

55efc1aaa7a4d3ad.png

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

7ffe5cbb04455448.png

این ماشین مجازی با تمام ابزارهای توسعه‌ای که نیاز دارید، مجهز شده است. این ماشین مجازی یک دایرکتوری خانگی پایدار ۵ گیگابایتی ارائه می‌دهد و روی فضای ابری گوگل اجرا می‌شود که عملکرد شبکه و احراز هویت را تا حد زیادی بهبود می‌بخشد. تمام کارهای شما در این آزمایشگاه کد را می‌توان در یک مرورگر انجام داد. نیازی به نصب چیزی ندارید.

۶. قبل از شروع

فعال کردن 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 دامنه سفارشی است.

5424ce99136d5b3a.png

مثال OAuth

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

c7e5b8c7d2cc6a01.png

۹. گواهینامه‌ها

شما می‌توانید گواهی‌های Compute Engine یا Certificate Manager را ایجاد کنید. برای ایجاد گواهی‌ها با استفاده از Certificate Manager از هر یک از روش‌های زیر استفاده کنید:

۱۰. لیست مجاز VPC لوکِر

مشاهده VPC های مجاز

در بخش بعدی، از رابط کاربری Cloud Console برای مشاهده لیست VPCهای مجاز Looker استفاده خواهید کرد.

در کنسول ابری، به مسیر زیر بروید:

مشاهده‌گر → نمونه مشاهده‌گر → جزئیات

مثال زیر، هیچ ورودی در لیست VPC های مجاز وجود ندارد:

ad33177a2d721ea7.png

به‌روزرسانی VPCهای مجاز

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

در کنسول ابری، به مسیر زیر بروید:

مشاهده‌گر → نمونه مشاهده‌گر → ویرایش

cbbc069688890b82.png

اتصالات → VPC های مجاز

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

dc931643e1b220a.png

3e26d16d83cceae9.png

اعتبارسنجی VPC های مجاز

لیست VPC های مجاز برای بروزرسانی را مشاهده کنید

در کنسول ابری، به مسیر زیر بروید:

مشاهده‌گر → نمونه مشاهده‌گر → جزئیات

e34664c867929c66.png

۱۱. ایجاد بک‌اند PSC

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

پیوست سرویس Looker PSC را شناسایی کنید

در کنسول ابری، آدرس پیوست سرویس (Service Attach URI) را پیدا کرده و کپی کنید:

مشاهده‌گر → نمونه مشاهده‌گر → جزئیات

a253f94e946a1eef.png

گروه نقطه پایانی شبکه 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 مرتبط خواهید کرد.

در کنسول ابری، به مسیر زیر بروید:

خدمات شبکه → متعادل‌سازی بار → ایجاد متعادل‌کننده بار

e3474ca153d7c55a.png

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

c80afa6a28b6d922.png

ایجاد پیکربندی backend

گزینه‌های زیر را انتخاب کنید و محیط را بر اساس استقرار خود سفارشی کنید:

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

۱۱۵۶۲۷dc۵۴d۷a۵۸۲.png

b3eaa88dd02a95c1.png

cf519145f0259061.png

530527bc9273e002.png

قوانین مسیریابی

بدون نیاز به پیکربندی

53a80d74b3c7dd56.png

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

29faa25397025fb4.png

538da2b4930d243b.png

bbc13e921681dd65.png

مطمئن شوید که متعادل‌کننده بار فعال است و آدرس IP را دریافت کنید.

در کنسول ابری → سرویس‌های شبکه → متعادل‌سازی بار → looker-ilb-alb

abc7d02b4c951c73.png

۱۲. وضوح 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 دسترسی به سمت شمال را می‌دهد، آورده شده است:

ae43d0d0d7136044.png

۱۴. تمیز کردن

از یک ترمینال 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 وجود دارد.

کازموپاپ فکر می‌کند که کدلب‌ها فوق‌العاده هستند!!

c911c127bffdee57.jpeg

بعدش چی؟

به برخی از این آزمایشگاه‌های کد نگاهی بیندازید...

مطالعه بیشتر و ویدیوها

اسناد مرجع