با استفاده از Private Service Connect و Hybrid NEG با بار متعادل کننده داخلی HTTP (ها) از طریق شبکه هیبریدی به خدمات اولیه متصل شوید.

۱. مقدمه

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

یک استراتژی ترکیبی، یک راه حل عملی برای شماست تا با نیازهای متغیر بازار سازگار شوید و برنامه‌های خود را به تدریج مدرن کنید. این می‌تواند یک استقرار ترکیبی موقت برای امکان مهاجرت به یک راه حل مدرن مبتنی بر ابر یا یک بخش دائمی از زیرساخت فناوری اطلاعات سازمان شما باشد.

راه‌اندازی متعادل‌سازی بار ترکیبی همچنین شما را قادر می‌سازد تا از مزایای قابلیت‌های شبکه‌ای متعادل‌سازی بار ابری برای سرویس‌هایی که روی زیرساخت موجود شما خارج از Google Cloud اجرا می‌شوند، استفاده کنید.

اگر می‌خواهید سرویس ترکیبی را در سایر شبکه‌های VPC در دسترس قرار دهید، می‌توانید از Private Service Connect برای انتشار سرویس استفاده کنید. با قرار دادن یک پیوست سرویس در مقابل HTTP(s) Load Balancer منطقه‌ای داخلی خود، می‌توانید به کلاینت‌ها در سایر شبکه‌های VPC اجازه دهید به سرویس‌های ترکیبی که در محیط‌های داخلی یا سایر محیط‌های ابری اجرا می‌شوند، دسترسی پیدا کنند.

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

در این آزمایشگاه کد، شما قصد دارید یک متعادل‌کننده بار HTTP(S) داخلی با قابلیت اتصال ترکیبی (Hybrid Connectivity) برای یک سرویس داخلی با استفاده از یک گروه نقطه پایانی شبکه (Network Endpoint Group) بسازید. سرور مجازی مصرف‌کننده (Consumer VPC) قادر خواهد بود با استفاده از پورت‌های ۸۰ با سرویس داخلی ارتباط برقرار کند، پورت ۴۴۳ در محدوده آزمایشگاه کد نیست.

4ad647fa51b3473e.png

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

  • نحوه ایجاد یک متعادل‌کننده بار داخلی HTTP(S) با بک‌اند 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 همپوشانی دارند، مسیرهای زیرشبکه نسبت به اتصال از راه دور اولویت‌بندی می‌شوند.

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

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

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

زیرشبکه

توضیحات

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

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

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

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

۲. قبل از شروع

پروژه را برای پشتیبانی از 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
gcloud compute networks subnets create subnet-202 --project=$psclab --range=10.20.1.0/24 --network=producer-vpc --region=us-central1

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

داخل Cloud Shell موارد زیر را انجام دهید، استفاده از SHARED_VIP با Private Service Connect پشتیبانی نمی‌شود، به جای آن از GCE_ENDPOINT استفاده کنید

gcloud compute addresses create lb-ip \
    --region=us-central1 \
    --subnet=subnet-202 \
    --purpose=GCE_ENDPOINT

برای مشاهده آدرس IP اختصاص داده شده ، از دستور compute addresses describe استفاده کنید.

gcloud compute addresses describe lb-ip  --region=us-central1 | grep address:

زیرشبکه‌های پروکسی منطقه‌ای را ایجاد کنید

تخصیص پروکسی در سطح 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

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

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 http http-health-check \
    --region=us-central1 \
    --use-serving-port

در داخل Cloud Shell، سرویس backend را برای backend داخلی با استفاده از NEG ترکیبی ایجاد کنید.

 gcloud compute backend-services create on-premise-service-backend \
      --load-balancing-scheme=INTERNAL_MANAGED \
      --protocol=HTTP \
      --health-checks=http-health-check \
      --health-checks-region=us-central1 \
      --region=us-central1

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

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

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

gcloud compute url-maps create on-prem-svc-url-map \
    --default-service on-premise-service-backend \
    --region=us-central1

پروکسی هدف HTTP را ایجاد کنید

gcloud compute target-http-proxies create proxy-subnet-us-central\
    --url-map=on-prem-svc-url-map \
    --url-map-region=us-central1 \
    --region=us-central1

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

 gcloud compute forwarding-rules create http-hybrid-neg-fwd-rule \
      --load-balancing-scheme=INTERNAL_MANAGED \
      --network=producer-vpc \
      --subnet=subnet-202 \
      --address=lb-ip \
      --ports=80 \
      --region=us-central1 \
      --target-http-proxy=proxy-subnet-us-central \
      --target-http-proxy-region=us-central1

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

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

bb5d117dee3b8b04.png

انتخاب «on-premise-svc-url-map» آدرس IP سمت سرور (Front End) را نمایش می‌دهد و سرویس سمت سرور (Backend) را شناسایی می‌کند.

۱۲۸a7e85e8069097.png

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

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

d1ab51b79aeea9d8.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 متعادل‌کننده بار داخلی را بر اساس خروجی مشخص شده در مرحله ۴ جایگزین کنید.

user@test-box-us-central1:~$ curl -v 10.20.1.2
* Expire in 0 ms for 6 (transfer 0x55b7725c10f0)
*   Trying 10.20.1.2...
* TCP_NODELAY set
* Expire in 200 ms for 4 (transfer 0x55b7725c10f0)
* Connected to 10.20.1.2 (10.20.1.2) port 80 (#0)
> GET / HTTP/1.1
> Host: 10.20.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, 12 Dec 2022 03:17:20 GMT
< cache-control: max-age=0
< content-length: 37
< date: Mon, 12 Dec 2022 03:17:20 GMT
< server: lighttpd/1.4.53
< via: 1.1 google
< 
Welcome to my on-premise service!!

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

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

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

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

gcloud compute service-attachments create service-1 --region=us-central1 --producer-forwarding-rule=http-hybrid-neg-fwd-rule --connection-preference=ACCEPT_AUTOMATIC --nat-subnets=psc-nat-subnet

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

gcloud compute service-attachments create service-1 --region=us-central1 --producer-forwarding-rule=http-hybrid-neg-fwd-rule --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 بروید.

2f84578c9f2cc361.png

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

41639cb160231275.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 مربوطه که قبلاً ایجاد کردیم، توجه کنید.

b91ee5d5c854e60b.png

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

1dbc63217819dcd5.png

۱۰. اعتبارسنجی Consumer Private Service Connect - Producer VPC

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

۹۵۱۰۹۰b۸۱۲a۸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

یک curl برای اعتبارسنجی اتصال به سرویس داخلی انجام دهید. پس از اعتبارسنجی، از ماشین مجازی خارج شوید و به اعلان Cloud Shell بازگردید.

درون پوسته ابری (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 منبع ۱۷۲.۱۶.۰.۱۳ از محدوده زیرشبکه پروکسی ۱۷۲.۱۶.۰.۰/۲۳ است.

30802152f51ff751.png

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

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

داخل Cloud Shell، نمونه‌های آزمایشی موجود در Producer VPC را حذف کنید.

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 http-hybrid-neg-fwd-rule --region=us-central1 --quiet

gcloud compute target-http-proxies delete proxy-subnet-us-central --region=us-central1 --quiet

gcloud compute url-maps delete on-prem-svc-url-map --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 addresses delete lb-ip --region=us-central1 --quiet

gcloud compute networks subnets delete psc-nat-subnet subnet-201 subnet-202 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 http-health-check --region=us-central1 --quiet

gcloud compute networks delete producer-vpc --quiet

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

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

داخل Cloud Shell، نمونه‌های آزمایشی موجود در Consumer VPC را حذف کنید.

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 Connect را با یک متعادل‌کننده بار داخلی HTTP(S) پیکربندی و اعتبارسنجی کردید.

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

بعدش چی؟

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

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

اسناد مرجع