با استفاده از Private Service Connect و Hybrid NEG TCP Proxy از طریق شبکه هیبریدی به سرویس های اولیه متصل شوید

۱. مقدمه

یک متعادل‌کننده بار پروکسی TCP منطقه‌ای داخلی با اتصال ترکیبی به شما امکان می‌دهد سرویسی را که در محیط‌های داخلی یا سایر محیط‌های ابری میزبانی می‌شود، برای کلاینت‌های شبکه VPC خود در دسترس قرار دهید.

اگر می‌خواهید سرویس ترکیبی را در سایر شبکه‌های VPC در دسترس قرار دهید، می‌توانید از Private Service Connect برای انتشار سرویس استفاده کنید. با قرار دادن یک پیوست سرویس در مقابل متعادل‌کننده بار پروکسی TCP منطقه‌ای داخلی خود، می‌توانید به کلاینت‌ها در سایر شبکه‌های VPC اجازه دهید به سرویس‌های ترکیبی که در محیط‌های داخلی یا سایر محیط‌های ابری اجرا می‌شوند، دسترسی پیدا کنند.

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

در این آزمایشگاه کد، شما قصد دارید یک متعادل‌کننده بار داخلی TCP Proxy با قابلیت اتصال ترکیبی (Hybrid Connectivity) برای یک سرویس داخلی با استفاده از یک گروه نقطه پایانی شبکه (Network Endpoint Group) بسازید. از طریق Consumer VPC قادر خواهید بود با سرویس داخلی ارتباط برقرار کنید.

a4fa0e406e7232fa.png

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

  • نحوه ایجاد یک TCP Proxy ILB با سرویس Backend Hybrid NEG
  • نحوه ایجاد یک تولیدکننده (ضمیمه سرویس) و مصرف‌کننده (قانون ارسال) اتصال سرویس خصوصی
  • نحوه آزمایش و اعتبارسنجی ارتباطات خدمات مصرف‌کننده به تولیدکننده

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

  • شبکه‌های ترکیبی (Hybrid Networking) راه‌اندازی شده مانند HA VPN، Interconnect، SW-WAN
  • پروژه ابری گوگل

ایجاد اتصال ترکیبی

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

یک روتر ابری که با مسیریابی پویای سراسری فعال شده باشد، از طریق BGP در مورد نقطه پایانی خاص اطلاعات کسب می‌کند و آن را در شبکه Google Cloud VPC شما برنامه‌ریزی می‌کند. مسیریابی پویای منطقه‌ای پشتیبانی نمی‌شود. مسیرهای ایستا نیز پشتیبانی نمی‌شوند.

شبکه Google Cloud VPC که برای پیکربندی Cloud Interconnect یا Cloud VPN استفاده می‌کنید، همان شبکه‌ای است که برای پیکربندی استقرار متعادل‌سازی بار ترکیبی استفاده می‌کنید. اطمینان حاصل کنید که محدوده‌های CIDR زیرشبکه شبکه VPC شما با محدوده‌های CIDR از راه دور شما تداخل نداشته باشند. هنگامی که آدرس‌های IP همپوشانی دارند، مسیرهای زیرشبکه نسبت به اتصال از راه دور اولویت‌بندی می‌شوند.

برای دستورالعمل‌ها، مراجعه کنید به:

تبلیغات مسیر سفارشی

زیرشبکه‌های زیر نیاز به تبلیغات سفارشی از روتر ابری به شبکه داخلی دارند تا از به‌روزرسانی قوانین فایروال داخلی اطمینان حاصل شود.

زیرشبکه

توضیحات

۱۷۲.۱۶.۰.۰/۲۳

زیرشبکه پروکسی TCP که برای ارتباط مستقیم با سرویس داخلی استفاده می‌شود

۱۳۰.۲۱۱.۰.۰/۲۲، ۳۵.۱۹۱.۰.۰/۱۶

بررسی سلامت فضای ابری گوگل

۲. قبل از شروع

پروژه را برای پشتیبانی از codelab به‌روزرسانی کنید

این Codelab از $variables برای کمک به پیاده‌سازی پیکربندی gcloud در Cloud Shell استفاده می‌کند.

درون Cloud Shell موارد زیر را انجام دهید

gcloud config list project
gcloud config set project [YOUR-PROJECT-NAME]
psclab=YOUR-PROJECT-NAME
echo $psclab

۳. تنظیمات تولیدکننده

VPC تولیدکننده را ایجاد کنید

درون Cloud Shell موارد زیر را انجام دهید

gcloud compute networks create producer-vpc --project=$psclab --subnet-mode=custom

ایجاد زیرشبکه‌های تولیدکننده

درون Cloud Shell موارد زیر را انجام دهید

gcloud compute networks subnets create subnet-201 --project=$psclab --range=10.10.1.0/24 --network=producer-vpc --region=us-central1

زیرشبکه‌های TCP Proxy را ایجاد کنید

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

  1. یک کلاینت به آدرس IP و پورتِ قانونِ ارسالِ متعادل‌کننده‌ی بار (load balancer) متصل می‌شود.
  2. هر پروکسی به آدرس IP و پورت مشخص شده توسط قانون ارسال متعادل کننده بار مربوطه گوش می‌دهد. یکی از پروکسی‌ها اتصال شبکه کلاینت را دریافت و قطع می‌کند.
  3. پروکسی، همانطور که توسط نقشه URL و سرویس‌های backend متعادل‌کننده بار تعیین می‌شود، اتصالی را به ماشین مجازی backend یا نقطه پایانی مناسب در NEG برقرار می‌کند.

صرف نظر از اینکه شبکه شما در حالت خودکار است یا سفارشی، باید زیرشبکه‌های فقط پروکسی ایجاد کنید. یک زیرشبکه فقط پروکسی باید ۶۴ یا بیشتر آدرس IP ارائه دهد. این مربوط به طول پیشوند ۲۶/ یا کمتر است. اندازه زیرشبکه توصیه شده ۲۳/ (۵۱۲ آدرس فقط پروکسی) است.

درون Cloud Shell موارد زیر را انجام دهید

gcloud compute networks subnets create proxy-subnet-us-central \
  --purpose=REGIONAL_MANAGED_PROXY \
  --role=ACTIVE \
  --region=us-central1 \
  --network=producer-vpc \
  --range=172.16.0.0/23

ایجاد زیرشبکه‌های NAT سرویس اتصال خصوصی

یک یا چند زیرشبکه اختصاصی برای استفاده با Private Service Connect ایجاد کنید . اگر از کنسول Google Cloud برای انتشار یک سرویس استفاده می‌کنید، می‌توانید زیرشبکه‌ها را در طول این فرآیند ایجاد کنید. زیرشبکه را در همان منطقه‌ای که متعادل‌کننده بار سرویس قرار دارد، ایجاد کنید. نمی‌توانید یک زیرشبکه معمولی را به یک زیرشبکه Private Service Connect تبدیل کنید.

درون Cloud Shell موارد زیر را انجام دهید

gcloud compute networks subnets create psc-nat-subnet --network=producer-vpc --region=us-central1 --range=100.100.10.0/24 --purpose=private-service-connect

ایجاد قوانین فایروال تولیدکننده

قوانین فایروال را طوری پیکربندی کنید که ترافیک بین نقاط انتهایی Private Service Connect و ضمیمه سرویس برقرار شود. در codelab، یک قانون فایروال Ingress ایجاد کنید که به زیرشبکه NAT 100.100.10.0/24 اجازه دسترسی به ضمیمه سرویس Private Service Connect (متعادل کننده بار داخلی) را می‌دهد.

درون Cloud Shell موارد زیر را انجام دهید

gcloud compute --project=$psclab firewall-rules create allow-to-ingress-nat-subnet --direction=INGRESS --priority=1000 --network=producer-vpc --action=ALLOW --rules=all --source-ranges=100.100.10.0/24

درون پوسته ابری، قانون fw-allow-health-check را ایجاد کنید تا بررسی‌های سلامت Google Cloud به سرویس داخلی (سرویس backend) روی پورت TCP 80 دسترسی پیدا کنند.

gcloud compute firewall-rules create fw-allow-health-check \
    --network=producer-vpc \
    --action=allow \
    --direction=ingress \
    --source-ranges=130.211.0.0/22,35.191.0.0/16 \
    --rules=tcp:80

یک قانون فایروال ورودی ایجاد کنید که به سرویس‌های داخلی اجازه می‌دهد با زیرشبکه پروکسی روی پورت ۸۰ ارتباط برقرار کنند.

gcloud compute firewall-rules create fw-allow-proxy-only-subnet \
    --network=producer-vpc \
    --action=allow \
    --direction=ingress \
    --source-ranges=172.16.0.0/23 \
    --rules=tcp:80

اتصال ترکیبی NEG را تنظیم کنید

هنگام ایجاد NEG، از منطقه‌ای استفاده کنید که فاصله جغرافیایی بین Google Cloud و محیط داخلی یا سایر محیط‌های ابری شما را به حداقل برساند. به عنوان مثال، اگر میزبان سرویسی در یک محیط داخلی در فرانکفورت آلمان هستید، می‌توانید هنگام ایجاد NEG، منطقه Europe-West3-a Google Cloud را مشخص کنید.

علاوه بر این، اگر از Cloud Interconnect استفاده می‌کنید، ZONE مورد استفاده برای ایجاد NEG باید در همان منطقه‌ای باشد که اتصال Cloud Interconnect پیکربندی شده است.

برای مناطق و نواحی موجود، به مستندات Compute Engine مراجعه کنید: مناطق و نواحی موجود .

درون Cloud Shell یک اتصال ترکیبی NEG با استفاده از دستور ایجاد گروه‌های شبکه‌ای-نقطه‌ای-نقطه‌ای gcloud compute ایجاد کنید.

gcloud compute network-endpoint-groups create on-prem-service-neg \
    --network-endpoint-type=NON_GCP_PRIVATE_IP_PORT \
    --zone=us-central1-a \
    --network=producer-vpc

درون Cloud Shell، نقطه پایانی IP:Port داخلی را به NEG ترکیبی اضافه کنید.

gcloud compute network-endpoint-groups update on-prem-service-neg \
    --zone=us-central1-a \
    --add-endpoint="ip=192.168.1.5,port=80"

متعادل کننده بار را پیکربندی کنید

در مراحل زیر، متعادل‌کننده بار (قانون ارسال) را پیکربندی کرده و آن را با گروه نقطه پایانی شبکه مرتبط خواهید کرد.

در داخل Cloud Shell، بررسی سلامت منطقه‌ای که به سرویس داخلی منتقل شده است را ایجاد کنید.

gcloud compute health-checks create tcp on-prem-service-hc \
    --region=us-central1 \
    --use-serving-port

در داخل Cloud Shell، سرویس backend را برای backend داخلی ایجاد کنید.

gcloud compute backend-services create on-premise-service-backend \
   --load-balancing-scheme=INTERNAL_MANAGED \
   --protocol=TCP \
   --region=us-central1 \
   --health-checks=on-prem-service-hc \
   --health-checks-region=us-central1

در داخل Cloud Shell، بک‌اند ترکیبی NEG را به سرویس بک‌اند اضافه کنید. برای MAX_CONNECTIONS، حداکثر تعداد اتصالات همزمانی که بک‌اند باید مدیریت کند را وارد کنید.

gcloud compute backend-services add-backend on-premise-service-backend \
   --network-endpoint-group=on-prem-service-neg \
   --network-endpoint-group-zone=us-central1-a \
   --region=us-central1 \
   --balancing-mode=CONNECTION \
   --max-connections=100

درون Cloud Shell، Target Proxy را ایجاد کنید

gcloud compute target-tcp-proxies create on-premise-svc-tcpproxy \
   --backend-service=on-premise-service-backend \
   --region=us-central1

در داخل Cloud Shell، قانون ارسال (ILB) را ایجاد کنید

با استفاده از دستور gcloud compute forwarding-rules create، قانون ارسال را ایجاد کنید.

به جای FWD_RULE_PORT، یک شماره پورت از ۱ تا ۶۵۵۳۵ قرار دهید. این قانون ارسال، فقط بسته‌هایی را ارسال می‌کند که پورت مقصدشان با پورت مقصد مورد نظر مطابقت داشته باشد.

gcloud compute forwarding-rules create tcp-ilb-psc \
   --load-balancing-scheme=INTERNAL_MANAGED \
   --network=producer-vpc \
   --subnet=subnet-201 \
   --ports=80 \
   --region=us-central1 \
   --target-tcp-proxy=on-premise-svc-tcpproxy \
   --target-tcp-proxy-region=us-central1

آدرس IP متعادل‌کننده بار داخلی را بدست آورید

gcloud compute forwarding-rules describe tcp-ilb-psc --region=us-central1 | grep -i IPAddress:

Example output:
gcloud compute forwarding-rules describe tcp-ilb-psc --region=us-central1 | grep -i IPAddress:
IPAddress: 10.10.1.2

۴. اعتبارسنجی متعادل‌کننده بار

از کنسول ابری به مسیر Network Services → Load Balancing → Load Balancers بروید. توجه داشته باشید که NEG 1 "سبز" است که نشان دهنده بررسی سلامت موفقیت‌آمیز سرویس داخلی است.

c16a93d1e185336b.png

انتخاب «on-premise-service-backend» آدرس IP سرور جلویی (Front End) را نشان می‌دهد.

26db2d30747fd40a.png

۵. مسیرهای آموخته‌شده را از داخل شرکت مشاهده کنید

به VPC Network → Routes بروید. توجه داشته باشید که زیرشبکه سرویس پیش‌فرض 192.168.1.0/27 است.

bae85fdc418f9811.png

۶. اعتبارسنجی اتصال به سرویس داخلی

از طریق Producers VPC، یک ماشین مجازی برای آزمایش اتصال به سرویس داخلی ایجاد خواهیم کرد و پس از آن، پیکربندی پیوست سرویس (Service Attachment) در مرحله بعدی قرار دارد.

درون Cloud Shell، نمونه آزمایشی را در vpc تولیدکننده ایجاد کنید.

gcloud compute instances create test-box-us-central1 \
    --zone=us-central1-a \
    --image-family=debian-10 \
    --image-project=debian-cloud \
    --subnet=subnet-201 \
    --no-address

برای اینکه به IAP اجازه دهید به ماشین‌های مجازی شما متصل شود، یک قانون فایروال ایجاد کنید که:

  • برای تمام نمونه‌های ماشین مجازی که می‌خواهید با استفاده از IAP به آنها دسترسی داشته باشید، اعمال می‌شود.
  • اجازه ورود ترافیک از محدوده IP 35.235.240.0/20 را می‌دهد. این محدوده شامل تمام آدرس‌های IP است که IAP برای ارسال TCP استفاده می‌کند.

درون Cloud Shell، نمونه آزمایشی را در vpc تولیدکننده ایجاد کنید.

gcloud compute firewall-rules create ssh-iap \
    --network producer-vpc \
    --allow tcp:22 \
    --source-ranges=35.235.240.0/20

با استفاده از IAP در Cloud Shell، وارد test-box-us-central1 شوید تا اتصال به سرویس داخلی را با انجام یک curl در برابر آدرس IP تعادل بار، تأیید کنید. در صورت وجود timeout، دوباره امتحان کنید.

gcloud compute ssh test-box-us-central1 --project=$psclab --zone=us-central1-a --tunnel-through-iap

یک اتصال معتبر به سرویس محلی را با curl انجام دهید. پس از اعتبارسنجی، از ماشین مجازی خارج شوید و به خط فرمان Cloud Shell برگردید. IP متعادل‌کننده بار داخلی را بر اساس خروجی مشخص شده در مراحل ۳ و ۴ جایگزین کنید.

deepakmichael@test-box-us-central1:~$ curl -v 10.10.1.2
* Expire in 0 ms for 6 (transfer 0x55b9a6b2f0f0)
*   Trying 10.10.1.2...
* TCP_NODELAY set
* Expire in 200 ms for 4 (transfer 0x55b9a6b2f0f0)
* Connected to 10.10.1.2 (10.10.1.2) port 80 (#0)
> GET / HTTP/1.1
> Host: 10.10.1.2
> User-Agent: curl/7.64.0
> Accept: */*
> 
< HTTP/1.1 200 OK
< Content-Type: text/html; charset=utf-8
< Accept-Ranges: bytes
< ETag: "3380914763"
< Last-Modified: Mon, 05 Dec 2022 15:10:56 GMT
< Expires: Mon, 05 Dec 2022 15:42:38 GMT
< Cache-Control: max-age=0
< Content-Length: 37
< Date: Mon, 05 Dec 2022 15:42:38 GMT
< Server: lighttpd/1.4.53
< 
Welcome to my on-premise service!!

۷. پیوست سرویس اتصال سرویس خصوصی را ایجاد کنید

در مراحل بعدی، پیوست سرویس (Service Attachment) را ایجاد خواهیم کرد، پس از جفت شدن با یک نقطه پایانی مصرف‌کننده (Consumer Endpoint)، دسترسی به سرویس پیش‌فرض بدون نیاز به اتصال VPC محقق می‌شود.

پیوست سرویس را ایجاد کنید

درون Cloud Shell، ضمیمه سرویس را ایجاد کنید

gcloud compute service-attachments create service-1 --region=us-central1 --producer-forwarding-rule=tcp-ilb-psc --connection-preference=ACCEPT_AUTOMATIC --nat-subnets=psc-nat-subnet

اختیاری: در صورت استفاده از VPC مشترک، ضمیمه سرویس را در پروژه سرویس ایجاد کنید.

gcloud compute service-attachments create service-1 --region=us-central1 --producer-forwarding-rule=tcp-ilb-psc --connection-preference=ACCEPT_AUTOMATIC --nat-subnets=projects/<hostproject>/regions/<region>/subnetworks/<natsubnet>

پیوست سرویس TCP را اعتبارسنجی کنید

gcloud compute service-attachments describe service-1 --region us-central1

۸. اختیاری: برای مشاهده پیوست سرویس تازه ایجاد شده، به Network Services → Private Service Connect بروید.

bddc23a10d38d981.png

انتخاب Service-1 جزئیات بیشتری را ارائه می‌دهد، از جمله URI پیوست سرویس که توسط مصرف‌کننده برای ایجاد یک اتصال سرویس خصوصی استفاده می‌شود. به URI توجه کنید زیرا در مرحله بعد از آن استفاده خواهد شد.

5c0a74874536909d.png

جزئیات پیوست سرویس: projects/<projectname>/regions/us-central1/serviceAttachments/service-1

۹. تنظیمات مصرف‌کننده

ایجاد VPC مصرف‌کننده

درون Cloud Shell موارد زیر را انجام دهید

gcloud compute networks create consumer-vpc --project=$psclab --subnet-mode=custom

زیرشبکه‌های مصرف‌کننده را ایجاد کنید

درون Cloud Shell زیرشبکه GCE را ایجاد کنید

gcloud compute networks subnets create subnet-101 --project=$psclab --range=10.100.1.0/24 --network=consumer-vpc --region=us-central1

درون Cloud Shell، زیرشبکه نقطه پایانی مصرف‌کننده (Consumer Endpoint Subnet) را ایجاد کنید.

gcloud compute networks subnets create subnet-102 --project=$psclab --range=10.100.2.0/24 --network=consumer-vpc --region=us-central1

ایجاد نقطه پایانی مصرف‌کننده (قانون ارسال)

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

gcloud compute addresses create psc-consumer-ip-1 --region=us-central1 --subnet=subnet-102 --addresses 10.100.2.10

بیایید از URI پیوست سرویس که قبلاً تولید شده است برای ایجاد نقطه پایانی مصرف‌کننده استفاده کنیم.

درون Cloud Shell، نقطه پایانی مصرف‌کننده (Consumer Endpoint) را ایجاد کنید.

gcloud compute forwarding-rules create psc-consumer-1 --region=us-central1 --network=consumer-vpc --address=psc-consumer-ip-1 --target-service-attachment=projects/$psclab/regions/us-central1/serviceAttachments/service-1

۱۰. اعتبارسنجی اتصال سرویس خصوصی مصرف‌کننده - Consumer VPC

از طریق Consumer VPC، با رفتن به Network Services → Private Service Connect→ Connected Endpoints، اتصال سرویس خصوصی موفق را تأیید کنید. به اتصال psc-consumer-1 برقرار شده و آدرس IP مربوطه که قبلاً ایجاد کردیم، توجه کنید.

629d4cea87293a42.png

هنگام انتخاب psc-consumer-1، جزئیات اضافی از جمله URI پیوست سرویس ارائه می‌شود.

۱۸b۱۳۲b۴۵۸f۶۹۸b۴.png

۱۱. اعتبارسنجی اتصال خدمات خصوصی مصرف‌کننده - VPC تولیدکننده

از طریق Producer VPC، با رفتن به Network Services → Private Service ConnectPublished Service، اتصال سرویس خصوصی موفق را تأیید کنید. توجه داشته باشید که اتصال سرویس-۱ منتشر شده اکنون نشان‌دهنده ۱ قانون ارسال (نقطه پایانی اتصال) است.

۳۳۸۷b۱۷۰۷۴۲d۷d۸d.png

۱۲. ایجاد یک منطقه و رکورد DNS خصوصی

یک منطقه DNS خصوصی ایجاد کنید که به نقطه اتصال PSC نگاشت شده باشد و امکان دسترسی یکپارچه به تولیدکننده از هر میزبان درون VPC را فراهم کند.

از پوسته ابری

gcloud dns --project=$psclab managed-zones create codelab-zone --description="" --dns-name="codelab.net." --visibility="private" --networks="consumer-vpc"

gcloud dns --project=$psclab record-sets create service1.codelab.net. --zone="codelab-zone" --type="A" --ttl="300" --rrdatas="10.100.2.10"

۱۳. اعتبارسنجی دسترسی مصرف‌کننده به سرویس تولیدکنندگان با استفاده از ماشین مجازی

از طریق Consumers VPC، یک ماشین مجازی برای آزمایش اتصال به سرویس داخلی با دسترسی به نقطه پایانی مصرف‌کننده service1.codelabs.net ایجاد خواهیم کرد.

درون Cloud Shell، نمونه آزمایشی را در vpc مصرف‌کننده ایجاد کنید.

gcloud compute instances create consumer-vm \
    --zone=us-central1-a \
    --image-family=debian-10 \
    --image-project=debian-cloud \
    --subnet=subnet-101 \
    --no-address

برای اینکه به IAP اجازه دهید به ماشین‌های مجازی شما متصل شود، یک قانون فایروال ایجاد کنید که:

  • برای تمام نمونه‌های ماشین مجازی که می‌خواهید با استفاده از IAP به آنها دسترسی داشته باشید، اعمال می‌شود.
  • اجازه ورود ترافیک از محدوده IP 35.235.240.0/20 را می‌دهد. این محدوده شامل تمام آدرس‌های IP است که IAP برای ارسال TCP استفاده می‌کند.

درون Cloud Shell، نمونه آزمایشی را در vpc مصرف‌کننده ایجاد کنید.

gcloud compute firewall-rules create ssh-iap-consumer \
    --network consumer-vpc \
    --allow tcp:22 \
    --source-ranges=35.235.240.0/20

با استفاده از IAP در Cloud Shell وارد consumer-vm شوید تا اتصال به سرویس داخلی را با انجام یک curl در برابر DNS FQDN service1.codelab.net تأیید کنید. در صورت وجود timeout دوباره امتحان کنید.

gcloud compute ssh consumer-vm --project=$psclab --zone=us-central1-a --tunnel-through-iap

یک اتصال معتبر برای سرویس محلی (on-premise) انجام دهید. پس از اعتبارسنجی، از ماشین مجازی خارج شوید و به اعلان Cloud Shell بازگردید.

درون پوسته ابری، حرکت کِرل انجام دهید

$ curl -v service1.codelab.net
*   Trying 10.100.2.10...
* TCP_NODELAY set
* Expire in 200 ms for 4 (transfer 0x5650fc3390f0)
* Connected to service1.codelab.net (10.100.2.10) port 80 (#0)
> GET / HTTP/1.1
> Host: service1.codelab.net
> User-Agent: curl/7.64.0
> Accept: */*
> 
< HTTP/1.1 200 OK
< Content-Type: text/html; charset=utf-8
< Accept-Ranges: bytes
< ETag: "3380914763"
< Last-Modified: Mon, 05 Dec 2022 15:10:56 GMT
< Expires: Mon, 05 Dec 2022 15:15:41 GMT
< Cache-Control: max-age=0
< Content-Length: 37
< Date: Mon, 05 Dec 2022 15:15:41 GMT
< Server: lighttpd/1.4.53
< 
Welcome to my on-premise service!!

در زیر نمونه‌ای از تصویر گرفته شده از سرویس داخلی ارائه شده است، توجه داشته باشید که آدرس IP منبع ۱۷۲.۱۶.۰.۲ از محدوده زیرشبکه TCP Proxy 172.16.0.0/23 است.

6dafe24917c937cb.png

۱۴. پاکسازی تولیدکننده

حذف کامپوننت‌های تولیدکننده

درون Cloud Shell، کامپوننت‌های تولیدکننده را حذف کنید

gcloud compute instances delete test-box-us-central1 --zone=us-central1-a --quiet

gcloud compute service-attachments delete service-1 --region=us-central1 --quiet 

gcloud compute forwarding-rules delete tcp-ilb-psc --region=us-central1 --quiet

gcloud compute target-tcp-proxies delete on-premise-svc-tcpproxy --region=us-central1 --quiet

gcloud compute backend-services delete on-premise-service-backend --region=us-central1 --quiet

gcloud compute network-endpoint-groups delete on-prem-service-neg --zone=us-central1-a --quiet

gcloud compute networks subnets delete psc-nat-subnet subnet-201 proxy-subnet-us-central --region=us-central1 --quiet

gcloud compute firewall-rules delete ssh-iap fw-allow-proxy-only-subnet allow-to-ingress-nat-subnet fw-allow-health-check --quiet

gcloud compute health-checks delete on-prem-service-hc --region=us-central1 --quiet

gcloud compute networks delete producer-vpc --quiet

۱۵. پاکسازی مصرف‌کننده

حذف کامپوننت‌های مصرف‌کننده

اجزای مصرفی را از داخل Cloud Shell حذف کنید

gcloud compute instances delete consumer-vm --zone=us-central1-a --quiet

gcloud compute forwarding-rules delete psc-consumer-1 --region=us-central1 --quiet

gcloud compute addresses delete psc-consumer-ip-1 --region=us-central1 --quiet

gcloud compute networks subnets delete subnet-101 subnet-102 --region=us-central1 --quiet

gcloud compute firewall-rules delete ssh-iap-consumer --quiet

gcloud dns record-sets delete service1.codelab.net --type=A --zone=codelab-zone --quiet

gcloud dns managed-zones delete codelab-zone --quiet 

gcloud compute networks delete consumer-vpc --quiet 

۱۶. تبریک

تبریک می‌گوییم، شما با موفقیت سرویس Private Service Connect را با TCP Proxy پیکربندی و اعتبارسنجی کردید.

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

بعدش چی؟

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

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

اسناد مرجع