1. مقدمه
در این کد لبه شما یک اتصال HTTPS جنوب به GitHub را با استفاده از یک متعادل کننده بار پراکسی tcp داخلی و گروه نقطه پایانی شبکه اینترنتی (NEG) که از Looker PSC به عنوان مصرف کننده خدمات فراخوانی شده است، انجام خواهید داد.
Private Service Connect یکی از قابلیتهای شبکه Google Cloud است که به مصرفکنندگان اجازه میدهد بهطور خصوصی از داخل شبکه VPC خود به خدمات مدیریت شده دسترسی داشته باشند. به طور مشابه، به تولیدکنندگان خدمات مدیریت شده اجازه می دهد تا این خدمات را در شبکه های VPC جداگانه خود میزبانی کنند و یک اتصال خصوصی به مصرف کنندگان خود ارائه دهند. به عنوان مثال، هنگامی که از Private Service Connect برای دسترسی به Looker استفاده می کنید، شما مصرف کننده سرویس هستید و Google تولید کننده سرویس است، همانطور که در شکل 1 مشخص شده است.
شکل 1.
دسترسی Southbound که به عنوان PSC معکوس نیز شناخته میشود، مصرفکننده را قادر میسازد تا یک سرویس منتشر شده بهعنوان تولیدکننده ایجاد کند تا به Looker اجازه دسترسی به نقاط پایانی در محل، در VPC، به خدمات مدیریت شده و اینترنت را بدهد. همانطور که در شکل 2 مشخص شده است، بدون توجه به جایی که Looker PSC در کجا مستقر شده است، اتصالات به جنوب می توانند در هر منطقه مستقر شوند.
شکل 2.
چیزی که یاد خواهید گرفت
- الزامات شبکه
- یک سرویس تولید کننده Private Service Connect ایجاد کنید
- یک نقطه پایانی Private Service Connect در Looker ایجاد کنید
- اتصال به GitHub را از Looker با استفاده از یک Test Connection برقرار کنید
آنچه شما نیاز دارید
- پروژه Google Cloud با مجوزهای مالک
- حساب و مخزن GitHub
- رمز دسترسی شخصی GitHub (کلاسیک)
- نمونه PSC Looker موجود
2. آنچه می سازید
شما یک شبکه Producer، looker-psc-demo، برای استقرار متعادل کننده بار پراکسی tcp داخلی و اینترنت NEG که به عنوان یک سرویس از طریق Private Service Connect (PSC) منتشر می شود، ایجاد خواهید کرد. پس از انتشار، اقدامات زیر را برای تأیید اعتبار دسترسی به سرویس تولیدکننده انجام خواهید داد:
- یک نقطه پایانی PSC در Looker مرتبط با پیوست سرویس تولیدکننده ایجاد کنید
- از کنسول Looker برای ایجاد یک پروژه جدید و آزمایش اتصال HTTPS به GitHub.com استفاده کنید
3. الزامات شبکه
در زیر تجزیه و تحلیل الزامات شبکه برای شبکه Producer آورده شده است، مصرف کننده در این Codelab نمونه Looker PSC است.
اجزاء | توضیحات |
VPC (looker-psc-demo) | حالت سفارشی VPC |
زیرشبکه PSC NAT | بستههای شبکه VPC مصرفکننده با استفاده از NAT منبع (SNAT) ترجمه میشوند تا آدرسهای IP منبع اصلی آنها به آدرسهای IP منبع از زیرشبکه NAT در شبکه VPC تولیدکننده تبدیل شود. |
زیرشبکه قانون حمل و نقل PSC | برای تخصیص یک آدرس IP برای متعادل کننده بار پراکسی TCP داخلی منطقه ای استفاده می شود |
زیرشبکه PSC NEG | برای تخصیص یک آدرس IP برای گروه نقطه پایانی شبکه استفاده می شود |
زیرشبکه فقط پروکسی | به هر یک از پراکسی های load balancer یک آدرس IP داخلی اختصاص داده شده است. بسته های ارسال شده از یک پروکسی به یک ماشین مجازی پشتیبان یا نقطه پایانی دارای یک آدرس IP منبع از زیر شبکه فقط پراکسی هستند. |
اینترنت NEG | منبعی که برای تعریف باطن خارجی برای متعادل کننده بار استفاده می شود. نقطه پایانی فقط از طریق Cloud VPN یا Cloud Interconnect قابل دسترسی نیست. |
خدمات Backend | یک سرویس پشتیبان به عنوان پلی بین متعادل کننده بار و منابع باطن شما عمل می کند. در آموزش، سرویس Backend با اینترنت NEG مرتبط است. |
روتر ابری | Cloud NAT برای قابلیت های صفحه کنترل به Cloud Routers متکی است، اما برای مدیریت جلسه BGP نه. |
Cloud NAT | اینترنت منطقه ای NEG از Cloud NAT برای خروج اینترنت استفاده می کند. |
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. Producer VPC Network ایجاد کنید
شبکه VPC
در داخل Cloud Shell موارد زیر را انجام دهید:
gcloud compute networks create looker-psc-demo --subnet-mode custom
ایجاد زیرشبکه
زیرشبکه PSC به منظور ترجمه آدرس شبکه با پیوست سرویس PSC مرتبط خواهد شد.
در داخل Cloud Shell، زیرشبکه PSC NAT را ایجاد کنید:
gcloud compute networks subnets create producer-psc-nat-subnet --network looker-psc-demo --range 172.16.10.0/28 --region $region --purpose=PRIVATE_SERVICE_CONNECT
در داخل Cloud Shell، زیرشبکه قانون حمل و نقل تولیدکننده را ایجاد کنید:
gcloud compute networks subnets create producer-psc-fr-subnet --network looker-psc-demo --range 172.16.20.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
دروازه عمومی NAT را ایجاد کنید
دروازه NAT توسط متعادل کننده بار پراکسی داخلی tcp داخلی برای خروج اینترنت با گزینه پیکربندی، –endpoint-types=ENDPOINT_TYPE_MANAGED_PROXY_LB استفاده می شود، بنابراین همان NATGW از خروج اینترنت GCE/GKE پشتیبانی نمی کند. یک NAT GW اضافی با –endpoint-types=ENDPOINT_TYPE_VM برای خروج از اینترنت GCE/GKE مستقر کنید.
در داخل Cloud Shell، Cloud Router را ایجاد کنید:
gcloud compute routers create looker-psc-demo-cloud-router --network looker-psc-demo --region $region
در داخل Cloud Shell، دروازه Cloud NAT را ایجاد کنید که امکان خروج اینترنت را برای متعادل کننده بار پروکسی tcp فراهم می کند:
gcloud compute routers nats create looker-psc-demo-natgw \
--router=looker-psc-demo-cloud-router \
--endpoint-types=ENDPOINT_TYPE_MANAGED_PROXY_LB \
--nat-custom-subnet-ip-ranges=$region-proxy-only-subnet \
--auto-allocate-nat-external-ips \
--region=$region
آدرس IP متعادل کننده بار را رزرو کنید
در داخل Cloud Shell، یک آدرس IP داخلی برای متعادل کننده بار رزرو کنید:
gcloud compute addresses create internet-neg-lb-ip \
--region=$region \
--subnet=producer-psc-fr-subnet
در داخل Cloud Shell، آدرس IP رزرو شده را مشاهده کنید.
gcloud compute addresses describe internet-neg-lb-ip \
--region=$region | grep -i address:
خروجی نمونه:
user@cloudshell$ gcloud compute addresses describe internet-neg-lb-ip --region=$region | grep -i address:
address: 172.16.20.2
اینترنت NEG را راه اندازی کنید
یک Internet NEG ایجاد کنید و –network-endpoint-type را روی internet-fqdn-port تنظیم کنید (نام میزبان و پورتی که در آن میتوان به پشتیبان خارجی شما دسترسی داشت).
در داخل Cloud Shell، یک NEG اینترنت مورد استفاده برای github.com ایجاد کنید
gcloud compute network-endpoint-groups create github-internet-neg \
--network-endpoint-type=INTERNET_FQDN_PORT \
--network=looker-psc-demo \
--region=$region
در داخل Cloud Shell، اینترنت NEG github-internet-neg را با FQDN github.com و پورت 443 به روز کنید.
gcloud compute network-endpoint-groups update github-internet-neg \
--add-endpoint="fqdn=github.com,port=443" \
--region=$region
خط مشی فایروال شبکه و قوانین فایروال را ایجاد کنید
در داخل Cloud Shell موارد زیر را انجام دهید:
gcloud compute network-firewall-policies create looker-psc-demo-policy --global
gcloud compute network-firewall-policies associations create --firewall-policy looker-psc-demo-policy --network looker-psc-demo --name looker-psc-demo --global-firewall-policy
قانون فایروال زیر به ترافیک از محدوده زیرشبکه PSC NAT به تمام نمونه های شبکه اجازه می دهد.
در داخل Cloud Shell موارد زیر را انجام دهید:
gcloud compute network-firewall-policies rules create 2001 --action ALLOW --firewall-policy looker-psc-demo-policy --description "allow traffic from PSC NAT subnet" --direction INGRESS --src-ip-ranges 172.16.10.0/28 --global-firewall-policy --layer4-configs=tcp
8. ایجاد سرویس تولید کننده
اجزای Load Balancer را ایجاد کنید
در داخل Cloud Shell موارد زیر را انجام دهید:
gcloud compute backend-services create producer-backend-svc --protocol=tcp --region=$region --load-balancing-scheme=INTERNAL_MANAGED
gcloud compute backend-services add-backend producer-backend-svc --network-endpoint-group=github-internet-neg --network-endpoint-group-region=$region --region=$region
در Cloud Shell، یک پروکسی TCP هدف ایجاد کنید تا درخواستها را به سرویس باطن خود هدایت کند:
gcloud compute target-tcp-proxies create producer-lb-tcp-proxy \
--backend-service=producer-backend-svc \
--region=$region
در دستور زیر، یک قانون فوروارد (internal tcp proxy load balancer) ایجاد کنید.
در Cloud Shell موارد زیر را انجام دهید:
gcloud compute forwarding-rules create producer-github-fr \
--load-balancing-scheme=INTERNAL_MANAGED \
--network-tier=PREMIUM \
--network=looker-psc-demo \
--subnet=producer-psc-fr-subnet \
--address=internet-neg-lb-ip \
--target-tcp-proxy=producer-lb-tcp-proxy \
--target-tcp-proxy-region=$region \
--region=$region \
--ports=443
پیوست سرویس ایجاد کنید
در داخل Cloud Shell، Service Attachment، github-svc-attachment-https را ایجاد کنید:
gcloud compute service-attachments create github-svc-attachment-https --region=$region --producer-forwarding-rule=producer-github-fr --connection-preference=ACCEPT_AUTOMATIC --nat-subnets=producer-psc-nat-subnet
در مرحله بعد، پیوست سرویس فهرست شده در selfLink URI را که با پروژه هایی برای پیکربندی نقطه پایانی PSC در Looker شروع می شود، دریافت کرده و یادداشت کنید.
selfLink: projects/<your-project-id>/regions/<your-region>/serviceAttachments/github-svc-attachment-https
در داخل Cloud Shell موارد زیر را انجام دهید:
gcloud compute service-attachments describe github-svc-attachment-https --region=$region
مثال:
connectionPreference: ACCEPT_AUTOMATIC
creationTimestamp: '2024-08-30T09:44:03.883-07:00'
description: ''
enableProxyProtocol: false
fingerprint: RfKh3blWZE0=
id: '2897904404386302012'
kind: compute#serviceAttachment
name: github-svc-attachment-https
natSubnets:
- https://www.googleapis.com/compute/v1/projects/$project/regions/$region/subnetworks/producer-psc-nat-subnet
pscServiceAttachmentId:
high: '19348441121424360'
low: '2897904404386302012'
reconcileConnections: false
region: https://www.googleapis.com/compute/v1/projects/$project/regions/$region
selfLink: https://www.googleapis.com/compute/v1/projects/$project/regions/$region/serviceAttachments/github-svc-attachment-https
targetService: https://www.googleapis.com/compute/v1/projects/$project/regions/$region/forwardingRules/producer-github-fr
در Cloud Console به مسیر زیر بروید:
خدمات شبکه → اتصال سرویس خصوصی → خدمات منتشر شده
9. یک اتصال نقطه پایانی PSC در Looker ایجاد کنید
در بخش بعدی، پیوست سرویس تولیدکنندگان را با Looker Core PSC از طریق استفاده از پرچمهای –psc-service-attachment در Cloud Shell برای یک دامنه، مرتبط میکنید.
در داخل Cloud Shell، با به روز رسانی پارامترهای زیر برای مطابقت با محیط خود، انجمن psc را ایجاد کنید:
- INSTANCE_NAME: نام نمونه Looker شما (هسته Google Cloud).
- DOMAIN_1: github.com
- SERVICE_ATTACHMENT_1: URI هنگام توصیف پیوست سرویس، github-svc-attachment-https گرفته می شود.
- REGION: منطقه ای که نمونه Looker (هسته Google Cloud) شما در آن میزبانی می شود.
در داخل 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=github.com,attachment=projects/$project/regions/$region/serviceAttachments/github-svc-attachment-https \
--region=$region
در داخل Cloud Shell، سرویسAttachments را تأیید کنید وضعیت اتصال «پذیرفته شده است»، با 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
مثال:
{
"adminSettings": {},
"createTime": "2024-08-23T00:00:45.339063195Z",
"customDomain": {
"domain": "cosmopup.com",
"state": "AVAILABLE"
},
"encryptionConfig": {},
"lookerVersion": "24.12.28",
"name": "projects/$project/locations/$region/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/$region/serviceAttachments/looker-psc-f51982e2-ac0d-48b1-91bb-88656971c183",
"serviceAttachments": [
{
"connectionStatus": "ACCEPTED",
"localFqdn": "github.com",
"targetServiceAttachmentUri": "projects/$project/regions/$region/serviceAttachments/github-svc-attachment-https"
}
]
},
"pscEnabled": true,
"state": "ACTIVE",
"updateTime": "2024-08-30T17:47:33.440271635Z"
}
اعتبار سنجی نقطه پایانی PSC در Cloud Console
از Cloud Console می توانید اتصال PSC را تأیید کنید
در Cloud Console به مسیر زیر بروید:
Looker → Looker Instance → Details
10. تست اتصال به GitHub
در مراحل زیر، از Looker Console برای ایجاد پروژه ای برای اعتبارسنجی اتصال HTTPS به github.com استفاده خواهید کرد.
11. یک پروژه جدید ایجاد کنید
حالت توسعه را فعال کنید
در Looker Console به مسیر زیر بروید:
حالت توسعه را فعال کنید (صفحه پایین سمت چپ)، پس از انتخاب بنر "شما در حالت توسعه هستید" نمایش داده می شود.
یک پروژه جدید ایجاد کنید
در Cloud Console به مسیر زیر بروید:
توسعه → پروژه ها
پروژه New LookML را انتخاب کنید
نام پروژه را وارد کنید، پروژه خالی و سپس ایجاد پروژه را انتخاب کنید.
Configure Git را انتخاب کنید
Git را پیکربندی کنید
URL مخزن را با جزئیات github HTTPS خود به روز کنید، اطمینان حاصل کنید که URL را با git. اضافه کرده و سپس Continue را انتخاب کنید.
مثال:
انتخاب را با نام کاربری GitHub و رمز دسترسی شخصی (کلاسیک) خود به روز کنید، سپس Test and Finalize Setup را انتخاب کنید.
Git Actions را انتخاب کنید
Test Git Connection را انتخاب کنید
تست اتصال Git را اعتبار سنجی کنید
تمیز کردن
از یک ترمینال Cloud Shell، اجزای آزمایشگاه را حذف کنید
gcloud compute service-attachments delete github-svc-attachment-https --region=$region -q
gcloud compute forwarding-rules delete producer-github-fr --region=$region -q
gcloud compute target-tcp-proxies delete producer-lb-tcp-proxy --region=$region -q
gcloud compute backend-services delete producer-backend-svc --region=$region -q
gcloud compute network-firewall-policies rules delete 2001 --firewall-policy looker-psc-demo-policy --global-firewall-policy -q
gcloud compute network-firewall-policies associations delete --firewall-policy=looker-psc-demo-policy --name=looker-psc-demo --global-firewall-policy -q
gcloud compute network-firewall-policies delete looker-psc-demo-policy --global -q
gcloud compute routers nats delete looker-psc-demo-natgw --router=looker-psc-demo-cloud-router --router-region=$region -q
gcloud compute routers delete looker-psc-demo-cloud-router --region=$region -q
gcloud compute network-endpoint-groups delete github-internet-neg --region=$region -q
gcloud compute addresses delete internet-neg-lb-ip --region=$region -q
gcloud compute networks subnets delete producer-psc-fr-subnet producer-psc-nat-subnet $region-proxy-only-subnet --region=$region -q
gcloud compute networks delete looker-psc-demo -q
12. تبریک می گویم
تبریک میگوییم، اتصال به GitHub را با استفاده از Looker Console ارائه شده توسط Private Service Connect با موفقیت پیکربندی و تأیید کردید.
زیرساخت تولیدکننده را ایجاد کردید، یاد گرفتید که چگونه یک Internet NEG، Producer Service و Looker PSC را ایجاد کنید که امکان اتصال به سرویس Producer را فراهم می کند.
Cosmopup فکر می کند که نرم افزارهای کدنویسی عالی هستند!!
بعدش چی؟
برخی از این کدها را بررسی کنید...
- استفاده از Private Service Connect برای انتشار و مصرف خدمات
- با استفاده از Private Service Connect و یک متعادل کننده بار داخلی TCP Proxy از طریق شبکه هیبریدی به سرویس های اولیه متصل شوید.
- دسترسی به تمام کدهای منتشر شده Private Service Connect
ادامه مطلب و ویدیوها
اسناد مرجع
1. مقدمه
در این کد لبه شما یک اتصال HTTPS جنوب به GitHub را با استفاده از یک متعادل کننده بار پراکسی tcp داخلی و گروه نقطه پایانی شبکه اینترنتی (NEG) که از Looker PSC به عنوان مصرف کننده خدمات فراخوانی شده است، انجام خواهید داد.
Private Service Connect یکی از قابلیتهای شبکه Google Cloud است که به مصرفکنندگان اجازه میدهد بهطور خصوصی از داخل شبکه VPC خود به خدمات مدیریت شده دسترسی داشته باشند. به طور مشابه، به تولیدکنندگان خدمات مدیریت شده اجازه می دهد تا این خدمات را در شبکه های VPC جداگانه خود میزبانی کنند و یک اتصال خصوصی به مصرف کنندگان خود ارائه دهند. به عنوان مثال، هنگامی که از Private Service Connect برای دسترسی به Looker استفاده می کنید، شما مصرف کننده سرویس هستید و Google تولید کننده سرویس است، همانطور که در شکل 1 مشخص شده است.
شکل 1.
دسترسی Southbound که به عنوان PSC معکوس نیز شناخته میشود، مصرفکننده را قادر میسازد تا یک سرویس منتشر شده بهعنوان تولیدکننده ایجاد کند تا به Looker اجازه دسترسی به نقاط پایانی در محل، در VPC، به خدمات مدیریت شده و اینترنت را بدهد. همانطور که در شکل 2 مشخص شده است، بدون توجه به جایی که Looker PSC در کجا مستقر شده است، اتصالات به جنوب می توانند در هر منطقه مستقر شوند.
شکل 2.
چیزی که یاد خواهید گرفت
- الزامات شبکه
- یک سرویس تولید کننده Private Service Connect ایجاد کنید
- یک نقطه پایانی Private Service Connect در Looker ایجاد کنید
- اتصال به GitHub را از Looker با استفاده از یک Test Connection برقرار کنید
آنچه شما نیاز دارید
- پروژه Google Cloud با مجوزهای مالک
- حساب و مخزن GitHub
- رمز دسترسی شخصی GitHub (کلاسیک)
- نمونه PSC Looker موجود
2. آنچه می سازید
شما یک شبکه Producer، looker-psc-demo، برای استقرار متعادل کننده بار پراکسی tcp داخلی و اینترنت NEG که به عنوان یک سرویس از طریق Private Service Connect (PSC) منتشر می شود، ایجاد خواهید کرد. پس از انتشار، اقدامات زیر را برای تأیید اعتبار دسترسی به سرویس تولیدکننده انجام خواهید داد:
- یک نقطه پایانی PSC در Looker مرتبط با پیوست سرویس تولیدکننده ایجاد کنید
- از کنسول Looker برای ایجاد یک پروژه جدید و آزمایش اتصال HTTPS به GitHub.com استفاده کنید
3. الزامات شبکه
در زیر تجزیه و تحلیل الزامات شبکه برای شبکه Producer آورده شده است، مصرف کننده در این Codelab نمونه Looker PSC است.
اجزاء | توضیحات |
VPC (looker-psc-demo) | حالت سفارشی VPC |
زیرشبکه PSC NAT | بستههای شبکه VPC مصرفکننده با استفاده از NAT منبع (SNAT) ترجمه میشوند تا آدرسهای IP منبع اصلی آنها به آدرسهای IP منبع از زیرشبکه NAT در شبکه VPC تولیدکننده تبدیل شود. |
زیرشبکه قانون حمل و نقل PSC | برای تخصیص یک آدرس IP برای متعادل کننده بار پراکسی TCP داخلی منطقه ای استفاده می شود |
زیرشبکه PSC NEG | برای تخصیص یک آدرس IP برای گروه نقطه پایانی شبکه استفاده می شود |
زیرشبکه فقط پروکسی | به هر یک از پراکسی های load balancer یک آدرس IP داخلی اختصاص داده شده است. بسته های ارسال شده از یک پروکسی به یک ماشین مجازی پشتیبان یا نقطه پایانی دارای یک آدرس IP منبع از زیر شبکه فقط پراکسی هستند. |
اینترنت NEG | منبعی که برای تعریف باطن خارجی برای متعادل کننده بار استفاده می شود. نقطه پایانی فقط از طریق Cloud VPN یا Cloud Interconnect قابل دسترسی نیست. |
خدمات Backend | یک سرویس پشتیبان به عنوان پلی بین متعادل کننده بار و منابع باطن شما عمل می کند. در آموزش، سرویس Backend با اینترنت NEG مرتبط است. |
روتر ابری | Cloud NAT برای قابلیت های صفحه کنترل به Cloud Routers متکی است، اما برای مدیریت جلسه BGP نه. |
Cloud NAT | اینترنت منطقه ای NEG از Cloud NAT برای خروج اینترنت استفاده می کند. |
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. Producer VPC Network ایجاد کنید
شبکه VPC
در داخل Cloud Shell موارد زیر را انجام دهید:
gcloud compute networks create looker-psc-demo --subnet-mode custom
ایجاد زیرشبکه
زیرشبکه PSC به منظور ترجمه آدرس شبکه با پیوست سرویس PSC مرتبط خواهد شد.
در داخل Cloud Shell، زیرشبکه PSC NAT را ایجاد کنید:
gcloud compute networks subnets create producer-psc-nat-subnet --network looker-psc-demo --range 172.16.10.0/28 --region $region --purpose=PRIVATE_SERVICE_CONNECT
در داخل Cloud Shell، زیرشبکه قانون حمل و نقل تولیدکننده را ایجاد کنید:
gcloud compute networks subnets create producer-psc-fr-subnet --network looker-psc-demo --range 172.16.20.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
دروازه عمومی NAT را ایجاد کنید
دروازه NAT توسط متعادل کننده بار پراکسی داخلی tcp داخلی برای خروج اینترنت با گزینه پیکربندی، –endpoint-types=ENDPOINT_TYPE_MANAGED_PROXY_LB استفاده می شود، بنابراین همان NATGW از خروج اینترنت GCE/GKE پشتیبانی نمی کند. یک NAT GW اضافی با –endpoint-types=ENDPOINT_TYPE_VM برای خروج از اینترنت GCE/GKE مستقر کنید.
در داخل Cloud Shell، Cloud Router را ایجاد کنید:
gcloud compute routers create looker-psc-demo-cloud-router --network looker-psc-demo --region $region
در داخل Cloud Shell، دروازه Cloud NAT را ایجاد کنید که امکان خروج اینترنت را برای متعادل کننده بار پروکسی tcp فراهم می کند:
gcloud compute routers nats create looker-psc-demo-natgw \
--router=looker-psc-demo-cloud-router \
--endpoint-types=ENDPOINT_TYPE_MANAGED_PROXY_LB \
--nat-custom-subnet-ip-ranges=$region-proxy-only-subnet \
--auto-allocate-nat-external-ips \
--region=$region
آدرس IP متعادل کننده بار را رزرو کنید
در داخل Cloud Shell، یک آدرس IP داخلی برای متعادل کننده بار رزرو کنید:
gcloud compute addresses create internet-neg-lb-ip \
--region=$region \
--subnet=producer-psc-fr-subnet
در داخل Cloud Shell، آدرس IP رزرو شده را مشاهده کنید.
gcloud compute addresses describe internet-neg-lb-ip \
--region=$region | grep -i address:
خروجی نمونه:
user@cloudshell$ gcloud compute addresses describe internet-neg-lb-ip --region=$region | grep -i address:
address: 172.16.20.2
اینترنت NEG را راه اندازی کنید
یک Internet NEG ایجاد کنید و –network-endpoint-type را روی internet-fqdn-port تنظیم کنید (نام میزبان و پورتی که در آن میتوان به پشتیبان خارجی شما دسترسی داشت).
در داخل Cloud Shell، یک NEG اینترنت مورد استفاده برای github.com ایجاد کنید
gcloud compute network-endpoint-groups create github-internet-neg \
--network-endpoint-type=INTERNET_FQDN_PORT \
--network=looker-psc-demo \
--region=$region
در داخل Cloud Shell، اینترنت NEG github-internet-neg را با FQDN github.com و پورت 443 به روز کنید.
gcloud compute network-endpoint-groups update github-internet-neg \
--add-endpoint="fqdn=github.com,port=443" \
--region=$region
خط مشی فایروال شبکه و قوانین فایروال را ایجاد کنید
در داخل Cloud Shell موارد زیر را انجام دهید:
gcloud compute network-firewall-policies create looker-psc-demo-policy --global
gcloud compute network-firewall-policies associations create --firewall-policy looker-psc-demo-policy --network looker-psc-demo --name looker-psc-demo --global-firewall-policy
قانون فایروال زیر به ترافیک از محدوده زیرشبکه PSC NAT به تمام نمونه های شبکه اجازه می دهد.
در داخل Cloud Shell موارد زیر را انجام دهید:
gcloud compute network-firewall-policies rules create 2001 --action ALLOW --firewall-policy looker-psc-demo-policy --description "allow traffic from PSC NAT subnet" --direction INGRESS --src-ip-ranges 172.16.10.0/28 --global-firewall-policy --layer4-configs=tcp
8. ایجاد سرویس تولید کننده
اجزای Load Balancer را ایجاد کنید
در داخل Cloud Shell موارد زیر را انجام دهید:
gcloud compute backend-services create producer-backend-svc --protocol=tcp --region=$region --load-balancing-scheme=INTERNAL_MANAGED
gcloud compute backend-services add-backend producer-backend-svc --network-endpoint-group=github-internet-neg --network-endpoint-group-region=$region --region=$region
در Cloud Shell، یک پروکسی TCP هدف ایجاد کنید تا درخواستها را به سرویس باطن خود هدایت کند:
gcloud compute target-tcp-proxies create producer-lb-tcp-proxy \
--backend-service=producer-backend-svc \
--region=$region
در دستور زیر، یک قانون فوروارد (internal tcp proxy load balancer) ایجاد کنید.
در Cloud Shell موارد زیر را انجام دهید:
gcloud compute forwarding-rules create producer-github-fr \
--load-balancing-scheme=INTERNAL_MANAGED \
--network-tier=PREMIUM \
--network=looker-psc-demo \
--subnet=producer-psc-fr-subnet \
--address=internet-neg-lb-ip \
--target-tcp-proxy=producer-lb-tcp-proxy \
--target-tcp-proxy-region=$region \
--region=$region \
--ports=443
پیوست سرویس ایجاد کنید
در داخل Cloud Shell، Service Attachment، github-svc-attachment-https را ایجاد کنید:
gcloud compute service-attachments create github-svc-attachment-https --region=$region --producer-forwarding-rule=producer-github-fr --connection-preference=ACCEPT_AUTOMATIC --nat-subnets=producer-psc-nat-subnet
در مرحله بعد، پیوست سرویس فهرست شده در selfLink URI را که با پروژه هایی برای پیکربندی نقطه پایانی PSC در Looker شروع می شود، دریافت کرده و یادداشت کنید.
selfLink: projects/<your-project-id>/regions/<your-region>/serviceAttachments/github-svc-attachment-https
در داخل Cloud Shell موارد زیر را انجام دهید:
gcloud compute service-attachments describe github-svc-attachment-https --region=$region
مثال:
connectionPreference: ACCEPT_AUTOMATIC
creationTimestamp: '2024-08-30T09:44:03.883-07:00'
description: ''
enableProxyProtocol: false
fingerprint: RfKh3blWZE0=
id: '2897904404386302012'
kind: compute#serviceAttachment
name: github-svc-attachment-https
natSubnets:
- https://www.googleapis.com/compute/v1/projects/$project/regions/$region/subnetworks/producer-psc-nat-subnet
pscServiceAttachmentId:
high: '19348441121424360'
low: '2897904404386302012'
reconcileConnections: false
region: https://www.googleapis.com/compute/v1/projects/$project/regions/$region
selfLink: https://www.googleapis.com/compute/v1/projects/$project/regions/$region/serviceAttachments/github-svc-attachment-https
targetService: https://www.googleapis.com/compute/v1/projects/$project/regions/$region/forwardingRules/producer-github-fr
در Cloud Console به مسیر زیر بروید:
خدمات شبکه → اتصال سرویس خصوصی → خدمات منتشر شده
9. یک اتصال نقطه پایانی PSC در Looker ایجاد کنید
در بخش بعدی، پیوست سرویس تولیدکنندگان را با Looker Core PSC از طریق استفاده از پرچمهای –psc-service-attachment در Cloud Shell برای یک دامنه، مرتبط میکنید.
در داخل Cloud Shell، با به روز رسانی پارامترهای زیر برای مطابقت با محیط خود، انجمن psc را ایجاد کنید:
- INSTANCE_NAME: نام نمونه Looker شما (هسته Google Cloud).
- DOMAIN_1: github.com
- SERVICE_ATTACHMENT_1: URI هنگام توصیف پیوست سرویس، github-svc-attachment-https گرفته می شود.
- REGION: منطقه ای که نمونه Looker (هسته Google Cloud) شما در آن میزبانی می شود.
در داخل 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=github.com,attachment=projects/$project/regions/$region/serviceAttachments/github-svc-attachment-https \
--region=$region
در داخل Cloud Shell، سرویسAttachments را تأیید کنید وضعیت اتصال «پذیرفته شده است»، با 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
مثال:
{
"adminSettings": {},
"createTime": "2024-08-23T00:00:45.339063195Z",
"customDomain": {
"domain": "cosmopup.com",
"state": "AVAILABLE"
},
"encryptionConfig": {},
"lookerVersion": "24.12.28",
"name": "projects/$project/locations/$region/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/$region/serviceAttachments/looker-psc-f51982e2-ac0d-48b1-91bb-88656971c183",
"serviceAttachments": [
{
"connectionStatus": "ACCEPTED",
"localFqdn": "github.com",
"targetServiceAttachmentUri": "projects/$project/regions/$region/serviceAttachments/github-svc-attachment-https"
}
]
},
"pscEnabled": true,
"state": "ACTIVE",
"updateTime": "2024-08-30T17:47:33.440271635Z"
}
اعتبار سنجی نقطه پایانی PSC در Cloud Console
از Cloud Console می توانید اتصال PSC را تأیید کنید
در Cloud Console به مسیر زیر بروید:
Looker → Looker Instance → Details
10. تست اتصال به GitHub
در مراحل زیر، از Looker Console برای ایجاد پروژه ای برای اعتبارسنجی اتصال HTTPS به github.com استفاده خواهید کرد.
11. یک پروژه جدید ایجاد کنید
حالت توسعه را فعال کنید
در Looker Console به مسیر زیر بروید:
حالت توسعه را فعال کنید (صفحه پایین سمت چپ)، پس از انتخاب بنر "شما در حالت توسعه هستید" نمایش داده می شود.
یک پروژه جدید ایجاد کنید
در Cloud Console به مسیر زیر بروید:
توسعه → پروژه ها
پروژه New LookML را انتخاب کنید
نام پروژه را وارد کنید، پروژه خالی و سپس ایجاد پروژه را انتخاب کنید.
Configure Git را انتخاب کنید
Git را پیکربندی کنید
URL مخزن را با جزئیات github HTTPS خود به روز کنید، اطمینان حاصل کنید که URL را با git. اضافه کرده و سپس Continue را انتخاب کنید.
مثال:
انتخاب را با نام کاربری GitHub و رمز دسترسی شخصی (کلاسیک) خود به روز کنید، سپس Test and Finalize Setup را انتخاب کنید.
Git Actions را انتخاب کنید
Test Git Connection را انتخاب کنید
تست اتصال Git را اعتبار سنجی کنید
تمیز کردن
از یک ترمینال Cloud Shell، اجزای آزمایشگاه را حذف کنید
gcloud compute service-attachments delete github-svc-attachment-https --region=$region -q
gcloud compute forwarding-rules delete producer-github-fr --region=$region -q
gcloud compute target-tcp-proxies delete producer-lb-tcp-proxy --region=$region -q
gcloud compute backend-services delete producer-backend-svc --region=$region -q
gcloud compute network-firewall-policies rules delete 2001 --firewall-policy looker-psc-demo-policy --global-firewall-policy -q
gcloud compute network-firewall-policies associations delete --firewall-policy=looker-psc-demo-policy --name=looker-psc-demo --global-firewall-policy -q
gcloud compute network-firewall-policies delete looker-psc-demo-policy --global -q
gcloud compute routers nats delete looker-psc-demo-natgw --router=looker-psc-demo-cloud-router --router-region=$region -q
gcloud compute routers delete looker-psc-demo-cloud-router --region=$region -q
gcloud compute network-endpoint-groups delete github-internet-neg --region=$region -q
gcloud compute addresses delete internet-neg-lb-ip --region=$region -q
gcloud compute networks subnets delete producer-psc-fr-subnet producer-psc-nat-subnet $region-proxy-only-subnet --region=$region -q
gcloud compute networks delete looker-psc-demo -q
12. تبریک می گویم
تبریک میگوییم، اتصال به GitHub را با استفاده از Looker Console ارائه شده توسط Private Service Connect با موفقیت پیکربندی و تأیید کردید.
زیرساخت تولیدکننده را ایجاد کردید، یاد گرفتید که چگونه یک Internet NEG، Producer Service و Looker PSC را ایجاد کنید که امکان اتصال به سرویس Producer را فراهم می کند.
Cosmopup فکر می کند که نرم افزارهای کدنویسی عالی هستند!!
بعدش چی؟
برخی از این کدها را بررسی کنید...
- استفاده از Private Service Connect برای انتشار و مصرف خدمات
- با استفاده از Private Service Connect و یک متعادل کننده بار داخلی TCP Proxy از طریق شبکه هیبریدی به سرویس های اولیه متصل شوید.
- دسترسی به تمام کدهای منتشر شده Private Service Connect
ادامه مطلب و ویدیوها
اسناد مرجع
1. مقدمه
در این کد لبه شما یک اتصال HTTPS جنوب به GitHub را با استفاده از یک متعادل کننده بار پراکسی tcp داخلی و گروه نقطه پایانی شبکه اینترنتی (NEG) که از Looker PSC به عنوان مصرف کننده خدمات فراخوانی شده است، انجام خواهید داد.
Private Service Connect یکی از قابلیتهای شبکه Google Cloud است که به مصرفکنندگان اجازه میدهد بهطور خصوصی از داخل شبکه VPC خود به خدمات مدیریت شده دسترسی داشته باشند. به طور مشابه، به تولیدکنندگان خدمات مدیریت شده اجازه می دهد تا این خدمات را در شبکه های VPC جداگانه خود میزبانی کنند و یک اتصال خصوصی به مصرف کنندگان خود ارائه دهند. به عنوان مثال، هنگامی که از Private Service Connect برای دسترسی به Looker استفاده می کنید، شما مصرف کننده سرویس هستید و Google تولید کننده سرویس است، همانطور که در شکل 1 مشخص شده است.
شکل 1.
دسترسی Southbound که به عنوان PSC معکوس نیز شناخته میشود، مصرفکننده را قادر میسازد تا یک سرویس منتشر شده بهعنوان تولیدکننده ایجاد کند تا به Looker اجازه دسترسی به نقاط پایانی در محل، در VPC، به خدمات مدیریت شده و اینترنت را بدهد. همانطور که در شکل 2 مشخص شده است، بدون توجه به جایی که Looker PSC در کجا مستقر شده است، اتصالات به جنوب می توانند در هر منطقه مستقر شوند.
شکل 2.
چیزی که یاد خواهید گرفت
- الزامات شبکه
- یک سرویس تولید کننده Private Service Connect ایجاد کنید
- یک نقطه پایانی Private Service Connect در Looker ایجاد کنید
- اتصال به GitHub را از Looker با استفاده از یک Test Connection برقرار کنید
آنچه شما نیاز دارید
- پروژه Google Cloud با مجوزهای مالک
- حساب و مخزن GitHub
- رمز دسترسی شخصی GitHub (کلاسیک)
- نمونه PSC Looker موجود
2. آنچه می سازید
شما یک شبکه Producer، looker-psc-demo، برای استقرار متعادل کننده بار پراکسی tcp داخلی و اینترنت NEG که به عنوان یک سرویس از طریق Private Service Connect (PSC) منتشر می شود، ایجاد خواهید کرد. پس از انتشار، اقدامات زیر را برای تأیید اعتبار دسترسی به سرویس تولیدکننده انجام خواهید داد:
- یک نقطه پایانی PSC در Looker مرتبط با پیوست سرویس تولیدکننده ایجاد کنید
- از کنسول Looker برای ایجاد یک پروژه جدید و آزمایش اتصال HTTPS به GitHub.com استفاده کنید
3. الزامات شبکه
در زیر تجزیه و تحلیل الزامات شبکه برای شبکه Producer آورده شده است، مصرف کننده در این Codelab نمونه Looker PSC است.
اجزاء | توضیحات |
VPC (looker-psc-demo) | حالت سفارشی VPC |
زیرشبکه PSC NAT | بستههای شبکه VPC مصرفکننده با استفاده از NAT منبع (SNAT) ترجمه میشوند تا آدرسهای IP منبع اصلی آنها به آدرسهای IP منبع از زیرشبکه NAT در شبکه VPC تولیدکننده تبدیل شود. |
زیرشبکه قانون حمل و نقل PSC | برای تخصیص یک آدرس IP برای متعادل کننده بار پراکسی TCP داخلی منطقه ای استفاده می شود |
زیرشبکه PSC NEG | برای تخصیص یک آدرس IP برای گروه نقطه پایانی شبکه استفاده می شود |
زیرشبکه فقط پروکسی | به هر یک از پراکسی های load balancer یک آدرس IP داخلی اختصاص داده شده است. بسته های ارسال شده از یک پروکسی به یک ماشین مجازی پشتیبان یا نقطه پایانی دارای یک آدرس IP منبع از زیر شبکه فقط پراکسی هستند. |
اینترنت NEG | منبعی که برای تعریف باطن خارجی برای متعادل کننده بار استفاده می شود. نقطه پایانی فقط از طریق Cloud VPN یا Cloud Interconnect قابل دسترسی نیست. |
خدمات Backend | یک سرویس پشتیبان به عنوان پلی بین متعادل کننده بار و منابع باطن شما عمل می کند. در آموزش، سرویس Backend با اینترنت NEG مرتبط است. |
روتر ابری | Cloud NAT برای قابلیت های صفحه کنترل به Cloud Routers متکی است، اما برای مدیریت جلسه BGP نه. |
Cloud NAT | اینترنت منطقه ای NEG از Cloud NAT برای خروج اینترنت استفاده می کند. |
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. ایجاد شبکه VPC تولید کننده
شبکه VPC
در داخل پوسته ابر ، موارد زیر را انجام دهید:
gcloud compute networks create looker-psc-demo --subnet-mode custom
زیر شبکه ایجاد کنید
زیر شبکه PSC به منظور ترجمه آدرس شبکه با پیوست سرویس PSC همراه خواهد بود.
در داخل پوسته ابر ، زیر شبکه PSC NAT را ایجاد کنید:
gcloud compute networks subnets create producer-psc-nat-subnet --network looker-psc-demo --range 172.16.10.0/28 --region $region --purpose=PRIVATE_SERVICE_CONNECT
در داخل پوسته ابر ، قانون حمل و نقل تولید کننده را ایجاد کنید:
gcloud compute networks subnets create producer-psc-fr-subnet --network looker-psc-demo --range 172.16.20.0/28 --region $region --enable-private-ip-google-access
در داخل پوسته ابر ، تولید کننده منطقه ای را فقط زیر شبکه ایجاد کنید:
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
دروازه عمومی NAT را ایجاد کنید
دروازه NAT توسط بقایای بارکسی داخلی منطقه ای TCP برای خروجی اینترنت با گزینه پیکربندی ،-نوع-تایپ = endpoint_type_managed_proxy_lb استفاده می شود ، بنابراین همان NATGW از GCE/GKE اینترنت پشتیبانی نمی کند. استقرار NAT GW اضافی با نوع endpoint = endpoint_type_vm برای خروجی اینترنت GCE/GKE.
داخل پوسته ابر ، روتر ابر را ایجاد کنید:
gcloud compute routers create looker-psc-demo-cloud-router --network looker-psc-demo --region $region
در داخل پوسته ابر ، Cloud NAT Gateway را ایجاد کنید که اینترنت را برای تعادل بار پروکسی TCP فعال کنید:
gcloud compute routers nats create looker-psc-demo-natgw \
--router=looker-psc-demo-cloud-router \
--endpoint-types=ENDPOINT_TYPE_MANAGED_PROXY_LB \
--nat-custom-subnet-ip-ranges=$region-proxy-only-subnet \
--auto-allocate-nat-external-ips \
--region=$region
آدرس IP Load Balancer را رزرو کنید
در داخل پوسته ابر ، یک آدرس IP داخلی را برای متعادل کننده بار رزرو کنید:
gcloud compute addresses create internet-neg-lb-ip \
--region=$region \
--subnet=producer-psc-fr-subnet
در داخل پوسته ابر ، آدرس IP رزرو شده را مشاهده کنید.
gcloud compute addresses describe internet-neg-lb-ip \
--region=$region | grep -i address:
خروجی نمونه:
user@cloudshell$ gcloud compute addresses describe internet-neg-lb-ip --region=$region | grep -i address:
address: 172.16.20.2
NEG اینترنت را تنظیم کنید
یک NEG اینترنت ایجاد کنید ، و نوع –network-endpoint را به اینترنت-fqdn-port تنظیم کنید (نام میزبان و پورت که در آن می توان به پس زمینه خارجی شما رسید).
در داخل پوسته ابر ، یک neg اینترنت ایجاد کنید که برای github.com استفاده می شود
gcloud compute network-endpoint-groups create github-internet-neg \
--network-endpoint-type=INTERNET_FQDN_PORT \
--network=looker-psc-demo \
--region=$region
در داخل Cloud Shell ، اینترنت Neg Github-Internet-NEG را با FQDN Github.com و Port 443 به روز کنید
gcloud compute network-endpoint-groups update github-internet-neg \
--add-endpoint="fqdn=github.com,port=443" \
--region=$region
خط مشی فایروال شبکه و قوانین فایروال را ایجاد کنید
در داخل پوسته ابر ، موارد زیر را انجام دهید:
gcloud compute network-firewall-policies create looker-psc-demo-policy --global
gcloud compute network-firewall-policies associations create --firewall-policy looker-psc-demo-policy --network looker-psc-demo --name looker-psc-demo --global-firewall-policy
قانون فایروال زیر امکان ترافیک از محدوده زیر شبکه PSC NAT را به کلیه موارد موجود در شبکه امکان پذیر می کند.
در داخل پوسته ابر ، موارد زیر را انجام دهید:
gcloud compute network-firewall-policies rules create 2001 --action ALLOW --firewall-policy looker-psc-demo-policy --description "allow traffic from PSC NAT subnet" --direction INGRESS --src-ip-ranges 172.16.10.0/28 --global-firewall-policy --layer4-configs=tcp
8. ایجاد سرویس تولید کننده
اجزای متعادل کننده بار را ایجاد کنید
در داخل پوسته ابر ، موارد زیر را انجام دهید:
gcloud compute backend-services create producer-backend-svc --protocol=tcp --region=$region --load-balancing-scheme=INTERNAL_MANAGED
gcloud compute backend-services add-backend producer-backend-svc --network-endpoint-group=github-internet-neg --network-endpoint-group-region=$region --region=$region
در Cloud Shell ، یک پروکسی TCP هدف را برای هدایت درخواست ها به سرویس باطن خود ایجاد کنید:
gcloud compute target-tcp-proxies create producer-lb-tcp-proxy \
--backend-service=producer-backend-svc \
--region=$region
در نحو زیر ، یک قانون حمل و نقل (متعادل کننده بار پروکسی داخلی TCP) ایجاد کنید.
در Cloud Shell ، موارد زیر را انجام دهید:
gcloud compute forwarding-rules create producer-github-fr \
--load-balancing-scheme=INTERNAL_MANAGED \
--network-tier=PREMIUM \
--network=looker-psc-demo \
--subnet=producer-psc-fr-subnet \
--address=internet-neg-lb-ip \
--target-tcp-proxy=producer-lb-tcp-proxy \
--target-tcp-proxy-region=$region \
--region=$region \
--ports=443
ایجاد ضمیمه خدمات
در داخل پوسته ابر ، ایجاد ضمیمه سرویس ، GitHub-SVC-Attachment-HTTPS:
gcloud compute service-attachments create github-svc-attachment-https --region=$region --producer-forwarding-rule=producer-github-fr --connection-preference=ACCEPT_AUTOMATIC --nat-subnets=producer-psc-nat-subnet
در مرحله بعد ، پیوست سرویس ذکر شده در Selflink URI را با پروژه هایی برای پیکربندی نقطه انتهایی PSC در Looker دریافت و یادداشت کنید.
SelfLink: پروژه ها/<-your-project-id>/مناطق/<ty-region>/serviceattachments/github-svc-attachment-https
در داخل پوسته ابر ، موارد زیر را انجام دهید:
gcloud compute service-attachments describe github-svc-attachment-https --region=$region
مثال:
connectionPreference: ACCEPT_AUTOMATIC
creationTimestamp: '2024-08-30T09:44:03.883-07:00'
description: ''
enableProxyProtocol: false
fingerprint: RfKh3blWZE0=
id: '2897904404386302012'
kind: compute#serviceAttachment
name: github-svc-attachment-https
natSubnets:
- https://www.googleapis.com/compute/v1/projects/$project/regions/$region/subnetworks/producer-psc-nat-subnet
pscServiceAttachmentId:
high: '19348441121424360'
low: '2897904404386302012'
reconcileConnections: false
region: https://www.googleapis.com/compute/v1/projects/$project/regions/$region
selfLink: https://www.googleapis.com/compute/v1/projects/$project/regions/$region/serviceAttachments/github-svc-attachment-https
targetService: https://www.googleapis.com/compute/v1/projects/$project/regions/$region/forwardingRules/producer-github-fr
در کنسول ابر ، به:
خدمات شبکه → خدمات خصوصی اتصال → خدمات منتشر شده
9. یک اتصال نقطه پایانی PSC را در Looker ایجاد کنید
در بخش زیر ، شما پیوست خدمات تولید کنندگان را با Flags PSC استفاده از Looker Core PSC از طریق پرچم های استفاده از خدمات-PSC-Service در پوسته ابر برای یک دامنه واحد مرتبط خواهید کرد.
در داخل Cloud Shell ، با به روزرسانی پارامترهای زیر ، انجمن PSC را ایجاد کنید تا با محیط خود مطابقت داشته باشید:
- sustance_name: نام Looker (Google Cloud Core).
- دامنه_1: github.com
- Service_Attachment_1: URI هنگام توصیف دلبستگی سرویس ، GitHub-SVC-Attachment-HTTPS ضبط شد.
- منطقه: منطقه ای که در آن نمونه Looker (Google Cloud Core) میزبان است.
در داخل پوسته ابر ، موارد زیر را انجام دهید:
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=github.com,attachment=projects/$project/regions/$region/serviceAttachments/github-svc-attachment-https \
--region=$region
در داخل پوسته ابری ، تأیید کنید که serviceattachments ConnectionStatus "پذیرفته شده" است ، با 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
مثال:
{
"adminSettings": {},
"createTime": "2024-08-23T00:00:45.339063195Z",
"customDomain": {
"domain": "cosmopup.com",
"state": "AVAILABLE"
},
"encryptionConfig": {},
"lookerVersion": "24.12.28",
"name": "projects/$project/locations/$region/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/$region/serviceAttachments/looker-psc-f51982e2-ac0d-48b1-91bb-88656971c183",
"serviceAttachments": [
{
"connectionStatus": "ACCEPTED",
"localFqdn": "github.com",
"targetServiceAttachmentUri": "projects/$project/regions/$region/serviceAttachments/github-svc-attachment-https"
}
]
},
"pscEnabled": true,
"state": "ACTIVE",
"updateTime": "2024-08-30T17:47:33.440271635Z"
}
نقطه پایانی PSC را در کنسول ابر تأیید کنید
از کنسول ابر می توانید اتصال PSC را تأیید کنید
در کنسول ابر ، به:
Looker → نمونه نگاه کننده → جزئیات
10. اتصال به GitHub را تست کنید
در مراحل زیر ، از کنسول Looker برای ایجاد یک پروژه برای اعتبارسنجی اتصال HTTPS به GitHub.com استفاده خواهید کرد.
11. یک پروژه جدید ایجاد کنید
حالت توسعه را فعال کنید
در کنسول Looker ، به:
حالت توسعه (صفحه سمت چپ پایین) را فعال کنید ، پس از انتخاب بنر "شما در حالت توسعه" نمایش داده می شود.
یک پروژه جدید ایجاد کنید
در کنسول ابر ، به:
توسعه → پروژه ها
پروژه جدید LookML را انتخاب کنید
یک نام پروژه ارائه دهید ، Blank Project را انتخاب کنید و سپس ایجاد پروژه کنید.
پیکربندی git را انتخاب کنید
پیکربندی git
URL مخزن را با جزئیات HTTPS GitHub خود به روز کنید ، اطمینان حاصل کنید که URL را با .git اضافه کنید و سپس ادامه را انتخاب کنید.
مثال:
انتخاب را با نام کاربری GitHub خود و نشانه دسترسی شخصی (کلاسیک) به روز کنید ، سپس تست و تنظیم نهایی را انتخاب کنید.
اقدامات GIT را انتخاب کنید
تست اتصال GIT را انتخاب کنید
تست اتصال GIT را تأیید کنید
تمیز کردن
از یک ترمینال پوسته ابری اجزای آزمایشگاه حذف
gcloud compute service-attachments delete github-svc-attachment-https --region=$region -q
gcloud compute forwarding-rules delete producer-github-fr --region=$region -q
gcloud compute target-tcp-proxies delete producer-lb-tcp-proxy --region=$region -q
gcloud compute backend-services delete producer-backend-svc --region=$region -q
gcloud compute network-firewall-policies rules delete 2001 --firewall-policy looker-psc-demo-policy --global-firewall-policy -q
gcloud compute network-firewall-policies associations delete --firewall-policy=looker-psc-demo-policy --name=looker-psc-demo --global-firewall-policy -q
gcloud compute network-firewall-policies delete looker-psc-demo-policy --global -q
gcloud compute routers nats delete looker-psc-demo-natgw --router=looker-psc-demo-cloud-router --router-region=$region -q
gcloud compute routers delete looker-psc-demo-cloud-router --region=$region -q
gcloud compute network-endpoint-groups delete github-internet-neg --region=$region -q
gcloud compute addresses delete internet-neg-lb-ip --region=$region -q
gcloud compute networks subnets delete producer-psc-fr-subnet producer-psc-nat-subnet $region-proxy-only-subnet --region=$region -q
gcloud compute networks delete looker-psc-demo -q
12. تبریک می گویم
تبریک می گویم ، شما با استفاده از کنسول Looker که توسط Private Service Connect طراحی شده است ، با موفقیت به GitHub پیکربندی و اعتبار داده اید.
شما زیرساخت های تولید کننده را ایجاد کرده اید ، یاد گرفتید که چگونه یک اینترنت NEG ، سرویس تولید کننده و نقطه پایانی Looker PSC ایجاد کنید که امکان اتصال به سرویس تولید کننده را فراهم می کند.
Cosmopup فکر می کند CodeLabs عالی است !!
بعدش چی؟
برخی از این codelabs را بررسی کنید ...
- با استفاده از سرویس خصوصی برای انتشار و مصرف خدمات متصل شوید
- با استفاده از اتصال خدمات خصوصی و یک تعادل بار در Proxy Proxy Load به سرویس های Preem از طریق شبکه ترکیبی متصل شوید
- دسترسی به کلیه خدمات خصوصی منتشر شده CONNELABS
خواندن و فیلم های بیشتر
اسناد مرجع
1. مقدمه
در این CodeLab شما با استفاده از یک متعادل کننده بارگذاری بار TCP Proxy Load و گروه پایان شبکه اینترنتی (NEG) که از Looker PSC به عنوان یک مصرف کننده سرویس استفاده می شود ، یک اتصال HTTPS با مرز جنوبی به GitHub را انجام می دهید.
سرویس خصوصی Connect قابلیت شبکه Google Cloud است که به مصرف کنندگان این امکان را می دهد تا از طریق شبکه VPC خود به خدمات مدیریت شده خصوصی دسترسی پیدا کنند. به طور مشابه ، این امکان را به تولیدکنندگان خدمات مدیریت شده می دهد تا این سرویس ها را در شبکه های VPC جداگانه خود میزبانی کنند و یک ارتباط خصوصی به مصرف کنندگان خود ارائه دهند. به عنوان مثال ، هنگامی که از خدمات خصوصی برای دسترسی به Access Connect استفاده می کنید ، شما مصرف کننده سرویس هستید و Google تولید کننده خدمات است ، همانطور که در شکل 1 برجسته شده است.
شکل 1.
دسترسی Southbound ، که به عنوان PSC معکوس نیز شناخته می شود ، مصرف کننده را قادر می سازد تا یک سرویس منتشر شده را به عنوان تولید کننده ایجاد کند تا امکان دسترسی به نقاط پایانی را در یک VPC ، به خدمات مدیریت شده و اینترنت فراهم کند. بدون توجه به محل استقرار PSC ، همانطور که در شکل 2 برجسته شده است ، می توان اتصالات جنوب را در هر منطقه مستقر کرد ، همانطور که در شکل 2 برجسته شده است.
شکل 2.
چیزی که یاد خواهید گرفت
- الزامات شبکه
- ایجاد یک سرویس خصوصی Connect Service Connect
- ایجاد یک سرویس خصوصی Connect Endpoint در Looker
- با استفاده از اتصال تست ، اتصال به GitHub را از Looker برقرار کنید
آنچه شما نیاز دارید
- Google Cloud Project با مجوزهای مالک
- حساب و مخزن GitHub
- نشانه دسترسی شخصی GitHub (کلاسیک)
- نمونه PSC موجود
2. آنچه را می سازید
شما یک شبکه تولید کننده ، Looker-PSC-DEMO را ایجاد می کنید تا از طریق تعادل بار و NEG اینترنت TCP داخلی TCP و NEG که به عنوان یک سرویس از طریق سرویس خصوصی Connect (PSC) منتشر شده است ، مستقر کنید. پس از انتشار ، اقدامات زیر را برای دسترسی به اعتبار سنجی به سرویس تولید کننده انجام می دهید:
- یک نقطه پایانی PSC را در Looker همراه با ضمیمه سرویس تولید کننده ایجاد کنید
- برای ایجاد یک پروژه جدید و آزمایش اتصال HTTPS به GitHub.com از کنسول Looker استفاده کنید
3. الزامات شبکه
در زیر تجزیه و تحلیل نیازهای شبکه برای شبکه تولید کننده ، مصرف کننده در این CodeLab نمونه PSC Looker است.
اجزاء | توضیحات |
VPC (Looker-PSC-DEMO) | حالت سفارشی VPC |
PSC Nat Subnet | بسته های شبکه VPC مصرف کننده با استفاده از منبع NAT (SNAT) ترجمه می شوند تا آدرس IP منبع اصلی آنها به آدرس IP منبع از زیر شبکه NAT در شبکه VPC تولید کننده تبدیل شود. |
Subnet قانون حمل و نقل PSC | برای تخصیص آدرس IP برای متعادل کننده بار پروکسی داخلی منطقه ای استفاده می شود |
PSC NEG Subnet | برای تخصیص آدرس IP برای گروه پایانی شبکه استفاده می شود |
پروکسی فقط زیر شبکه | به هر یک از پروکسی های متعادل کننده بار ، آدرس IP داخلی اختصاص داده می شود. بسته های ارسال شده از یک پروکسی به یک VM با پس زمینه یا نقطه انتهایی دارای یک آدرس IP منبع از زیر شبکه فقط پروکسی است. |
منفی اینترنت | منبعی که برای تعریف یک باطن خارجی برای متعادل کننده بار استفاده می شود. نقطه پایانی فقط نمی تواند بیش از Cloud VPN یا Cloud Interconnect قابل دسترسی باشد. |
سرویس پس زمینه | یک سرویس باطن به عنوان پلی بین تعادل بار و منابع باطن شما عمل می کند. در آموزش ، سرویس پس زمینه با اینترنت منفی همراه است. |
روتر ابری | Cloud Nat برای کنترل قابلیت های هواپیما به روترهای ابر متکی است ، اما برای مدیریت جلسه BGP نیست. |
ابر نخی | اینترنت منطقه ای NEG از Cloud Nat برای خروج اینترنت استفاده می کند. |
4. توپولوژی Codelab
5. تنظیم و الزامات
تنظیم محیط خود گام
- وارد کنسول Google Cloud شوید و یک پروژه جدید ایجاد کنید یا از یک مورد موجود استفاده کنید. اگر قبلاً یک حساب کاربری Gmail یا Google ندارید ، باید یکی را ایجاد کنید .
- نام پروژه نام نمایشگر شرکت کنندگان این پروژه است. این یک رشته کاراکتر است که توسط Google API استفاده نمی شود. همیشه می توانید آن را به روز کنید.
- شناسه پروژه در تمام پروژه های Google Cloud بی نظیر است و تغییر ناپذیر است (پس از تنظیم آن قابل تغییر نیست). کنسول ابر یک رشته منحصر به فرد را ایجاد می کند. معمولاً اهمیتی نمی دهید که چیست. در اکثر CodeLabs ، باید شناسه پروژه خود را (که به طور معمول به عنوان
PROJECT_ID
مشخص می شود) ارجاع دهید. اگر شناسه تولید شده را دوست ندارید ، ممکن است یک تصادفی دیگر ایجاد کنید. از طرف دیگر ، می توانید خودتان را امتحان کنید و ببینید که آیا در دسترس است یا خیر. بعد از این مرحله قابل تغییر نیست و برای مدت زمان پروژه باقی می ماند. - برای اطلاعات شما ، یک مقدار سوم ، یک شماره پروژه وجود دارد که برخی از API ها از آن استفاده می کنند. در مورد هر سه این مقادیر در مستندات بیشتر بدانید.
- در مرحله بعد ، شما باید صورتحساب را در کنسول ابری برای استفاده از منابع ابری/API فعال کنید . در صورت وجود هر چیزی از طریق این CodeLab هزینه زیادی نخواهد داشت. برای خاموش کردن منابع برای جلوگیری از صدور صورتحساب فراتر از این آموزش ، می توانید منابعی را که ایجاد کرده اید حذف کرده یا پروژه را حذف کنید. کاربران جدید Google Cloud واجد شرایط برنامه آزمایشی رایگان 300 دلاری USD هستند.
Cloud Shell را راه اندازی کنید
در حالی که Google Cloud می تواند از راه دور از لپ تاپ شما کار کند ، در این CodeLab شما از Google Cloud Shell استفاده می کنید ، یک محیط خط فرمان که در ابر اجرا می شود.
از کنسول Google Cloud ، روی نماد Cloud Shell در نوار ابزار بالا راست کلیک کنید:
فقط باید چند لحظه طول بکشد و به محیط زیست ارتباط برقرار کند. پس از اتمام ، باید چیزی شبیه به این را ببینید:
این دستگاه مجازی با تمام ابزارهای توسعه مورد نیاز شما بارگیری شده است. این یک دایرکتوری خانگی مداوم 5 گیگابایتی را ارائه می دهد ، و در Google Cloud اجرا می شود و عملکرد و احراز هویت شبکه را تا حد زیادی تقویت می کند. تمام کارهای شما در این CodeLab را می توان در یک مرورگر انجام داد. نیازی به نصب چیزی ندارید.
6 قبل از شروع کار
API را فعال کنید
در داخل پوسته ابر ، اطمینان حاصل کنید که شناسه پروژه شما تنظیم شده است:
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. ایجاد شبکه VPC تولید کننده
شبکه VPC
در داخل پوسته ابر ، موارد زیر را انجام دهید:
gcloud compute networks create looker-psc-demo --subnet-mode custom
زیر شبکه ایجاد کنید
زیر شبکه PSC به منظور ترجمه آدرس شبکه با پیوست سرویس PSC همراه خواهد بود.
در داخل پوسته ابر ، زیر شبکه PSC NAT را ایجاد کنید:
gcloud compute networks subnets create producer-psc-nat-subnet --network looker-psc-demo --range 172.16.10.0/28 --region $region --purpose=PRIVATE_SERVICE_CONNECT
در داخل پوسته ابر ، قانون حمل و نقل تولید کننده را ایجاد کنید:
gcloud compute networks subnets create producer-psc-fr-subnet --network looker-psc-demo --range 172.16.20.0/28 --region $region --enable-private-ip-google-access
در داخل پوسته ابر ، تولید کننده منطقه ای را فقط زیر شبکه ایجاد کنید:
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
دروازه عمومی NAT را ایجاد کنید
دروازه NAT توسط بقایای بارکسی داخلی منطقه ای TCP برای خروجی اینترنت با گزینه پیکربندی ،-نوع-تایپ = endpoint_type_managed_proxy_lb استفاده می شود ، بنابراین همان NATGW از GCE/GKE اینترنت پشتیبانی نمی کند. استقرار NAT GW اضافی با نوع endpoint = endpoint_type_vm برای خروجی اینترنت GCE/GKE.
داخل پوسته ابر ، روتر ابر را ایجاد کنید:
gcloud compute routers create looker-psc-demo-cloud-router --network looker-psc-demo --region $region
در داخل پوسته ابر ، Cloud NAT Gateway را ایجاد کنید که اینترنت را برای تعادل بار پروکسی TCP فعال کنید:
gcloud compute routers nats create looker-psc-demo-natgw \
--router=looker-psc-demo-cloud-router \
--endpoint-types=ENDPOINT_TYPE_MANAGED_PROXY_LB \
--nat-custom-subnet-ip-ranges=$region-proxy-only-subnet \
--auto-allocate-nat-external-ips \
--region=$region
آدرس IP Load Balancer را رزرو کنید
در داخل پوسته ابر ، یک آدرس IP داخلی را برای متعادل کننده بار رزرو کنید:
gcloud compute addresses create internet-neg-lb-ip \
--region=$region \
--subnet=producer-psc-fr-subnet
در داخل پوسته ابر ، آدرس IP رزرو شده را مشاهده کنید.
gcloud compute addresses describe internet-neg-lb-ip \
--region=$region | grep -i address:
خروجی نمونه:
user@cloudshell$ gcloud compute addresses describe internet-neg-lb-ip --region=$region | grep -i address:
address: 172.16.20.2
NEG اینترنت را تنظیم کنید
یک NEG اینترنت ایجاد کنید ، و نوع –network-endpoint را به اینترنت-fqdn-port تنظیم کنید (نام میزبان و پورت که در آن می توان به پس زمینه خارجی شما رسید).
در داخل پوسته ابر ، یک neg اینترنت ایجاد کنید که برای github.com استفاده می شود
gcloud compute network-endpoint-groups create github-internet-neg \
--network-endpoint-type=INTERNET_FQDN_PORT \
--network=looker-psc-demo \
--region=$region
در داخل Cloud Shell ، اینترنت Neg Github-Internet-NEG را با FQDN Github.com و Port 443 به روز کنید
gcloud compute network-endpoint-groups update github-internet-neg \
--add-endpoint="fqdn=github.com,port=443" \
--region=$region
خط مشی فایروال شبکه و قوانین فایروال را ایجاد کنید
در داخل پوسته ابر ، موارد زیر را انجام دهید:
gcloud compute network-firewall-policies create looker-psc-demo-policy --global
gcloud compute network-firewall-policies associations create --firewall-policy looker-psc-demo-policy --network looker-psc-demo --name looker-psc-demo --global-firewall-policy
قانون فایروال زیر امکان ترافیک از محدوده زیر شبکه PSC NAT را به کلیه موارد موجود در شبکه امکان پذیر می کند.
در داخل پوسته ابر ، موارد زیر را انجام دهید:
gcloud compute network-firewall-policies rules create 2001 --action ALLOW --firewall-policy looker-psc-demo-policy --description "allow traffic from PSC NAT subnet" --direction INGRESS --src-ip-ranges 172.16.10.0/28 --global-firewall-policy --layer4-configs=tcp
8. ایجاد سرویس تولید کننده
اجزای متعادل کننده بار را ایجاد کنید
در داخل پوسته ابر ، موارد زیر را انجام دهید:
gcloud compute backend-services create producer-backend-svc --protocol=tcp --region=$region --load-balancing-scheme=INTERNAL_MANAGED
gcloud compute backend-services add-backend producer-backend-svc --network-endpoint-group=github-internet-neg --network-endpoint-group-region=$region --region=$region
در Cloud Shell ، یک پروکسی TCP هدف را برای هدایت درخواست ها به سرویس باطن خود ایجاد کنید:
gcloud compute target-tcp-proxies create producer-lb-tcp-proxy \
--backend-service=producer-backend-svc \
--region=$region
در نحو زیر ، یک قانون حمل و نقل (متعادل کننده بار پروکسی داخلی TCP) ایجاد کنید.
در Cloud Shell ، موارد زیر را انجام دهید:
gcloud compute forwarding-rules create producer-github-fr \
--load-balancing-scheme=INTERNAL_MANAGED \
--network-tier=PREMIUM \
--network=looker-psc-demo \
--subnet=producer-psc-fr-subnet \
--address=internet-neg-lb-ip \
--target-tcp-proxy=producer-lb-tcp-proxy \
--target-tcp-proxy-region=$region \
--region=$region \
--ports=443
ایجاد ضمیمه خدمات
در داخل پوسته ابر ، ایجاد ضمیمه سرویس ، GitHub-SVC-Attachment-HTTPS:
gcloud compute service-attachments create github-svc-attachment-https --region=$region --producer-forwarding-rule=producer-github-fr --connection-preference=ACCEPT_AUTOMATIC --nat-subnets=producer-psc-nat-subnet
در مرحله بعد ، پیوست سرویس ذکر شده در Selflink URI را با پروژه هایی برای پیکربندی نقطه انتهایی PSC در Looker دریافت و یادداشت کنید.
SelfLink: پروژه ها/<-your-project-id>/مناطق/<ty-region>/serviceattachments/github-svc-attachment-https
در داخل پوسته ابر ، موارد زیر را انجام دهید:
gcloud compute service-attachments describe github-svc-attachment-https --region=$region
مثال:
connectionPreference: ACCEPT_AUTOMATIC
creationTimestamp: '2024-08-30T09:44:03.883-07:00'
description: ''
enableProxyProtocol: false
fingerprint: RfKh3blWZE0=
id: '2897904404386302012'
kind: compute#serviceAttachment
name: github-svc-attachment-https
natSubnets:
- https://www.googleapis.com/compute/v1/projects/$project/regions/$region/subnetworks/producer-psc-nat-subnet
pscServiceAttachmentId:
high: '19348441121424360'
low: '2897904404386302012'
reconcileConnections: false
region: https://www.googleapis.com/compute/v1/projects/$project/regions/$region
selfLink: https://www.googleapis.com/compute/v1/projects/$project/regions/$region/serviceAttachments/github-svc-attachment-https
targetService: https://www.googleapis.com/compute/v1/projects/$project/regions/$region/forwardingRules/producer-github-fr
در کنسول ابر ، به:
خدمات شبکه → خدمات خصوصی اتصال → خدمات منتشر شده
9. یک اتصال نقطه پایانی PSC را در Looker ایجاد کنید
در بخش زیر ، شما پیوست خدمات تولید کنندگان را با Flags PSC استفاده از Looker Core PSC از طریق پرچم های استفاده از خدمات-PSC-Service در پوسته ابر برای یک دامنه واحد مرتبط خواهید کرد.
در داخل Cloud Shell ، با به روزرسانی پارامترهای زیر ، انجمن PSC را ایجاد کنید تا با محیط خود مطابقت داشته باشید:
- sustance_name: نام Looker (Google Cloud Core).
- دامنه_1: github.com
- Service_Attachment_1: URI هنگام توصیف دلبستگی سرویس ، GitHub-SVC-Attachment-HTTPS ضبط شد.
- منطقه: منطقه ای که در آن نمونه Looker (Google Cloud Core) میزبان است.
در داخل پوسته ابر ، موارد زیر را انجام دهید:
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=github.com,attachment=projects/$project/regions/$region/serviceAttachments/github-svc-attachment-https \
--region=$region
در داخل پوسته ابری ، تأیید کنید که serviceattachments ConnectionStatus "پذیرفته شده" است ، با 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
مثال:
{
"adminSettings": {},
"createTime": "2024-08-23T00:00:45.339063195Z",
"customDomain": {
"domain": "cosmopup.com",
"state": "AVAILABLE"
},
"encryptionConfig": {},
"lookerVersion": "24.12.28",
"name": "projects/$project/locations/$region/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/$region/serviceAttachments/looker-psc-f51982e2-ac0d-48b1-91bb-88656971c183",
"serviceAttachments": [
{
"connectionStatus": "ACCEPTED",
"localFqdn": "github.com",
"targetServiceAttachmentUri": "projects/$project/regions/$region/serviceAttachments/github-svc-attachment-https"
}
]
},
"pscEnabled": true,
"state": "ACTIVE",
"updateTime": "2024-08-30T17:47:33.440271635Z"
}
نقطه پایانی PSC را در کنسول ابر تأیید کنید
از کنسول ابر می توانید اتصال PSC را تأیید کنید
در کنسول ابر ، به:
Looker → نمونه نگاه کننده → جزئیات
10. اتصال به GitHub را تست کنید
در مراحل زیر ، از کنسول Looker برای ایجاد یک پروژه برای اعتبارسنجی اتصال HTTPS به GitHub.com استفاده خواهید کرد.
11. یک پروژه جدید ایجاد کنید
حالت توسعه را فعال کنید
در کنسول Looker ، به:
حالت توسعه (صفحه سمت چپ پایین) را فعال کنید ، پس از انتخاب بنر "شما در حالت توسعه" نمایش داده می شود.
یک پروژه جدید ایجاد کنید
در کنسول ابر ، به:
توسعه → پروژه ها
پروژه جدید LookML را انتخاب کنید
یک نام پروژه ارائه دهید ، Blank Project را انتخاب کنید و سپس ایجاد پروژه کنید.
پیکربندی git را انتخاب کنید
پیکربندی git
URL مخزن را با جزئیات HTTPS GitHub خود به روز کنید ، اطمینان حاصل کنید که URL را با .git اضافه کنید و سپس ادامه را انتخاب کنید.
مثال:
انتخاب را با نام کاربری GitHub خود و نشانه دسترسی شخصی (کلاسیک) به روز کنید ، سپس تست و تنظیم نهایی را انتخاب کنید.
اقدامات GIT را انتخاب کنید
تست اتصال GIT را انتخاب کنید
تست اتصال GIT را تأیید کنید
تمیز کردن
از یک ترمینال پوسته ابری اجزای آزمایشگاه حذف
gcloud compute service-attachments delete github-svc-attachment-https --region=$region -q
gcloud compute forwarding-rules delete producer-github-fr --region=$region -q
gcloud compute target-tcp-proxies delete producer-lb-tcp-proxy --region=$region -q
gcloud compute backend-services delete producer-backend-svc --region=$region -q
gcloud compute network-firewall-policies rules delete 2001 --firewall-policy looker-psc-demo-policy --global-firewall-policy -q
gcloud compute network-firewall-policies associations delete --firewall-policy=looker-psc-demo-policy --name=looker-psc-demo --global-firewall-policy -q
gcloud compute network-firewall-policies delete looker-psc-demo-policy --global -q
gcloud compute routers nats delete looker-psc-demo-natgw --router=looker-psc-demo-cloud-router --router-region=$region -q
gcloud compute routers delete looker-psc-demo-cloud-router --region=$region -q
gcloud compute network-endpoint-groups delete github-internet-neg --region=$region -q
gcloud compute addresses delete internet-neg-lb-ip --region=$region -q
gcloud compute networks subnets delete producer-psc-fr-subnet producer-psc-nat-subnet $region-proxy-only-subnet --region=$region -q
gcloud compute networks delete looker-psc-demo -q
12. تبریک می گویم
تبریک می گویم ، شما با استفاده از کنسول Looker که توسط Private Service Connect طراحی شده است ، با موفقیت به GitHub پیکربندی و اعتبار داده اید.
شما زیرساخت های تولید کننده را ایجاد کرده اید ، یاد گرفتید که چگونه یک اینترنت NEG ، سرویس تولید کننده و نقطه پایانی Looker PSC ایجاد کنید که امکان اتصال به سرویس تولید کننده را فراهم می کند.
Cosmopup فکر می کند CodeLabs عالی است !!
بعدش چی؟
برخی از این codelabs را بررسی کنید ...
- با استفاده از سرویس خصوصی برای انتشار و مصرف خدمات متصل شوید
- با استفاده از اتصال خدمات خصوصی و یک تعادل بار در Proxy Proxy Load به سرویس های Preem از طریق شبکه ترکیبی متصل شوید
- دسترسی به کلیه خدمات خصوصی منتشر شده CONNELABS