استقرار Model Garden روی یک نقطه پایانی PSC

۱. مقدمه

از Private Service Connect برای ایجاد دسترسی امن و خصوصی برای مدل‌های مستقر در Vertex AI Model Garden استفاده کنید. به جای افشای یک نقطه پایانی عمومی، این روش به شما امکان می‌دهد مدل خود را در یک نقطه پایانی خصوصی Vertex AI مستقر کنید که فقط از طریق Virtual Private Cloud (VPC) شما قابل دسترسی است.

سرویس خصوصی Connect یک نقطه پایانی با یک آدرس IP داخلی در داخل VPC شما ایجاد می‌کند که مستقیماً به سرویس هوش مصنوعی Vertex که توسط گوگل مدیریت می‌شود و میزبان مدل شماست متصل می‌شود. این امر به برنامه‌های موجود در VPC و محیط‌های داخلی شما (از طریق Cloud VPN یا Interconnect) امکان می‌دهد تا درخواست‌های استنتاج را با استفاده از IP های خصوصی ارسال کنند. تمام ترافیک شبکه در شبکه گوگل باقی می‌ماند که این امر امنیت را افزایش می‌دهد، تأخیر را کاهش می‌دهد و نقطه پایانی سرویس‌دهنده مدل شما را کاملاً از اینترنت عمومی جدا می‌کند.

4a78228d4197997c.png

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

در این آموزش، شما Gemma 3 را از Model Garden دانلود خواهید کرد که در Vertex AI Online Inference به عنوان یک نقطه پایانی خصوصی قابل دسترسی از طریق Private Service Connect میزبانی می‌شود. تنظیمات سرتاسری شما شامل موارد زیر خواهد بود:

  1. مدل باغ مدل: شما Gemma 3 را از باغ مدل Vertex AI انتخاب کرده و آن را در یک نقطه پایانی Private Service Connect مستقر خواهید کرد.
  2. اتصال به سرویس خصوصی: شما یک نقطه پایانی مصرف‌کننده را در ابر خصوصی مجازی (VPC) خود پیکربندی خواهید کرد که شامل یک آدرس IP داخلی در شبکه خودتان است.
  3. اتصال امن به Vertex AI: نقطه پایانی PSC، ضمیمه سرویسی را که به طور خودکار توسط Vertex AI برای استقرار مدل خصوصی شما تولید می‌شود، هدف قرار می‌دهد. این یک اتصال خصوصی برقرار می‌کند و تضمین می‌کند که ترافیک بین VPC شما و نقطه پایانی ارائه دهنده مدل، از اینترنت عمومی عبور نمی‌کند.
  4. پیکربندی کلاینت در VPC شما: شما یک کلاینت (مثلاً Compute Engine VM) را در VPC خود تنظیم خواهید کرد تا درخواست‌های استنتاج را با استفاده از آدرس IP داخلی نقطه پایانی PSC به مدل مستقر ارسال کند.

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

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

در این آموزش، یاد خواهید گرفت که چگونه یک مدل از Vertex AI Model Garden را مستقر کنید و آن را با استفاده از Private Service Connect (PSC) به صورت ایمن از طریق Virtual Private Cloud (VPC) خود در دسترس قرار دهید. این روش به برنامه‌های شما در VPC (مصرف‌کننده) شما اجازه می‌دهد تا به صورت خصوصی و بدون نیاز به عبور از اینترنت عمومی، به نقطه پایانی مدل Vertex AI (سرویس تولیدکننده) متصل شوند.

به طور خاص، شما یاد خواهید گرفت:

  1. درک PSC برای هوش مصنوعی Vertex: چگونه PSC ارتباطات خصوصی و امن بین مصرف‌کننده و تولیدکننده را ممکن می‌سازد. VPC شما می‌تواند با استفاده از آدرس‌های IP داخلی به مدل Model Garden مستقر شده دسترسی پیدا کند.
  2. استقرار یک مدل با دسترسی خصوصی: نحوه پیکربندی یک نقطه پایانی هوش مصنوعی Vertex برای مدل Model Garden شما جهت استفاده از PSC و تبدیل آن به یک نقطه پایانی خصوصی.
  3. نقش پیوست سرویس: وقتی مدلی را در یک نقطه پایانی هوش مصنوعی Vertex خصوصی مستقر می‌کنید، Google Cloud به طور خودکار یک پیوست سرویس در یک پروژه مستاجر تحت مدیریت گوگل ایجاد می‌کند. این پیوست سرویس، سرویس ارائه دهنده مدل را در اختیار شبکه‌های مصرف‌کننده قرار می‌دهد.
  4. ایجاد یک نقطه پایانی PSC در VPC شما:
  • چگونه می‌توان URI منحصر به فرد ضمیمه سرویس را از جزئیات Vertex AI Endpoint مستقر شده خود دریافت کرد.
  • نحوه رزرو یک آدرس IP داخلی در زیرشبکه انتخابی شما در VPC.
  • چگونه یک قانون ارسال (Forwarding Rule) در VPC خود ایجاد کنیم که به عنوان نقطه پایانی PSC عمل کند و ضمیمه سرویس Vertex AI را هدف قرار دهد. این نقطه پایانی، مدل را از طریق IP داخلی رزرو شده قابل دسترسی می‌کند.
  1. ایجاد اتصال خصوصی: نحوه اتصال نقطه پایانی PSC در VPC شما به ضمیمه سرویس، و ایجاد پل ارتباطی ایمن بین شبکه شما و سرویس Vertex AI.
  2. ارسال درخواست‌های استنتاج به صورت خصوصی: نحوه ارسال درخواست‌های پیش‌بینی از منابع (مانند ماشین‌های مجازی موتور محاسباتی) در VPC شما به آدرس IP داخلی نقطه پایانی PSC.
  3. اعتبارسنجی: مراحلی برای آزمایش و تأیید اینکه می‌توانید با موفقیت درخواست‌های استنتاج را از VPC خود به مدل Model Garden مستقر شده از طریق اتصال خصوصی ارسال کنید.

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

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

پروژه ابری گوگل

مجوزهای IAM

۲. قبل از شروع

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

این آموزش از متغیرها (variables) برای کمک به پیاده‌سازی پیکربندی gcloud در Cloud Shell استفاده می‌کند.

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

gcloud config list project
gcloud config set project [YOUR-PROJECT-ID]
projectid=[YOUR-PROJECT-ID]
echo $projectid

فعال‌سازی API

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

gcloud services enable "compute.googleapis.com"
gcloud services enable "aiplatform.googleapis.com"
gcloud services enable "serviceusage.googleapis.com"

۳. استقرار مدل

برای استقرار مدل خود از Model Garden مراحل زیر را دنبال کنید

در کنسول گوگل کلود، به Model Garden بروید و Gemma 3 را جستجو و انتخاب کنید.

10c7ce35cfc571dc.png

روی گزینه‌های Deploy کلیک کنید و Vertex AI را انتخاب کنید.

ed9280fcc5f4c3fa.png

در پنل Deploy on Vertex AI، گزینه Advanced را انتخاب کنید. ناحیه از پیش تعیین‌شده و مشخصات ماشین بر اساس ظرفیت موجود انتخاب می‌شوند. شما می‌توانید این مقادیر را تغییر دهید، اگرچه codelab برای us-central1 تنظیم شده است.

3f7e4cefdc06488a.png

در پنل Deploy on Vertex AI، مطمئن شوید که Endpoint Access به عنوان Private Service Connect پیکربندی شده است، سپس پروژه خود را انتخاب کنید.

d0f0d9bc49205fb3.png

برای سایر گزینه‌ها، همه پیش‌فرض‌ها را رها کنید، سپس در پایین گزینه Deploy را انتخاب کنید و وضعیت استقرار را بررسی کنید.

9bd3b10256b7b2cc.png

در model Garden، ناحیه‌ی us-central1 را انتخاب کنید که مدل Gemma 3 و نقطه‌ی پایانی را فراهم می‌کند. استقرار مدل تقریباً ۵ دقیقه طول می‌کشد.

e998ee6288a8a7a.png

پس از تکمیل، نقطه پایانی ظرف 30 دقیقه به حالت "فعال" منتقل می‌شود.

9dcc7c56dbe0e88a.png

با انتخاب نقطه پایانی، شناسه نقطه پایانی را بدست آورده و یادداشت کنید.

6e3e2feef82fadd5.png

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

درون Cloud Shell، شناسه نقطه پایانی (Endpoint ID) را به‌روزرسانی کنید، سپس دستور زیر را اجرا کنید.

gcloud ai endpoints describe [Endpoint ID] --region=us-central1  | grep -i serviceAttachment:

در زیر یک مثال آورده شده است:

user@cloudshell:$ gcloud ai endpoints describe 2124795225560842240 --region=us-central1 | grep -i serviceAttachment:

Using endpoint [https://us-central1-aiplatform.googleapis.com/]
    serviceAttachment: projects/o9457b320a852208e-tp/regions/us-central1/serviceAttachments/gkedpm-52065579567eaf39bfe24f25f7981d

محتویات بعد از serviceAttachment را در متغیری به نام "Service_attachment" کپی کنید، بعداً هنگام ایجاد اتصال PSC به آن نیاز خواهید داشت.

user@cloudshell:$ Service_attachment=projects/o9457b320a852208e-tp/regions/us-central1/serviceAttachments/gkedpm-52065579567eaf39bfe24f25f7981d

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

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

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

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

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

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

gcloud compute networks subnets create consumer-vm-subnet --project=$projectid --range=192.168.1.0/24 --network=consumer-vpc --region=us-central1 --enable-private-ip-google-access

زیرشبکه PSC Endpoint را ایجاد کنید

gcloud compute networks subnets create pscendpoint-subnet --project=$projectid --range=10.10.10.0/28 --network=consumer-vpc --region=us-central1

۵. فعال کردن پرداخت درون برنامه‌ای (IAP)

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

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

در داخل Cloud Shell، قانون فایروال IAP را ایجاد کنید.

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

۶. ایجاد نمونه‌های ماشین مجازی مصرف‌کننده

درون Cloud Shell، نمونه ماشین مجازی مصرف‌کننده، یعنی consumer-vm، را ایجاد کنید.

gcloud compute instances create consumer-vm \
    --project=$projectid \
    --machine-type=e2-micro \
    --image-family debian-11 \
    --no-address \
    --shielded-secure-boot \
    --image-project debian-cloud \
    --zone us-central1-a \
    --subnet=consumer-vm-subnet 

۷. نقاط پایانی اتصال سرویس خصوصی

مصرف‌کننده یک نقطه پایانی مصرف‌کننده (قانون ارسال) با یک آدرس IP داخلی در VPC خود ایجاد می‌کند. این نقطه پایانی PSC، پیوست سرویس تولیدکننده را هدف قرار می‌دهد. کلاینت‌های درون VPC مصرف‌کننده یا شبکه ترکیبی می‌توانند برای رسیدن به سرویس تولیدکننده، ترافیک را به این آدرس IP داخلی ارسال کنند.

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

درون Cloud Shell، قانون ارسال را ایجاد کنید.

gcloud compute addresses create psc-address \
    --project=$projectid \
    --region=us-central1 \
    --subnet=pscendpoint-subnet \
    --addresses=10.10.10.6

تأیید کنید که آدرس IP رزرو شده است

در داخل Cloud Shell، آدرس IP رزرو شده را فهرست کنید.

gcloud compute addresses list 

باید آدرس IP رزرو شده‌ی 10.10.10.6 را مشاهده کنید.

edb5661bea25cd14.png

با مشخص کردن URI پیوست سرویس، target-service-attachment، که در مرحله قبل، بخش Deploy Model، دریافت کردید، نقطه پایانی مصرف‌کننده را ایجاد کنید.

درون Cloud Shell، پیوست شبکه را شرح دهید.

 gcloud compute forwarding-rules create psc-consumer-ep \
    --network=consumer-vpc \
    --address=psc-address \
    --region=us-central1 \
    --target-service-attachment=$Service_attachment \
    --project=$projectid

تأیید کنید که پیوست سرویس، نقطه پایانی را می‌پذیرد.

gcloud compute forwarding-rules describe psc-consumer-ep \
    --project=$projectid \
    --region=us-central1 \

در پاسخ، مطمئن شوید که وضعیت "ACCEPTED" در فیلد pscConnectionStatus نمایش داده شود.

6c66347ede9d4c7d.png

۸. تست از ماشین مجازی مصرف‌کننده

در Cloud Shell مراحل زیر را برای دسترسی به Consumer VM جهت دسترسی به Vertex Model Garden API انجام دهید.

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

f0984d9e60530cb2.png

با استفاده از اعتبارنامه‌های پیش‌فرض برنامه (Application Default Credentials) دوباره احراز هویت کنید و محدوده‌های Vertex AI را مشخص کنید.

gcloud auth application-default login
--scopes=https://www.googleapis.com/auth/cloud-platform 

از جدول زیر برای تولید یک دستور CURLl استفاده کنید و آن را بر اساس محیط خود تنظیم کنید.

ویژگی

ارزش

پروتکل

اچ‌تی‌پی

مکان

ایالات متحده-مرکزی1

نقطه پایانی پیش‌بینی آنلاین

۲۱۳۳۵۳۹۶۴۱۵۳۶۵۴۴۷۶۸

شناسه پروژه

تست4-473419

مدل

جما-۳-۱۲ب-آن

سرویس خصوصی اتصال نقطه پایانی IP

۱۰.۱۰.۱۰.۶

پیام‌ها

[{"role": "user","content": "چه چیزی وزن بیشتری دارد؟ ۱ پوند پر یا سنگ؟"}]

دستور curl را بر اساس جزئیات محیط خود به‌روزرسانی و اجرا کنید:

curl -k -v -X POST   -H "Authorization: Bearer $(gcloud auth application-default print-access-token)"   -H "Content-Type: application/json"   http://[PSC-IP]/v1/projects/[Project-ID]/locations/us-central1/endpoints/[Predictions Endpoint]/chat/completions   -d '{"model": "google/gemma-3-12b-it", "messages": [{"role": "user","content": "What weighs more 1 pound of feathers or rocks?"}] }'

مثال:

curl -k -v -X POST   -H "Authorization: Bearer $(gcloud auth application-default print-access-token)"   -H "Content-Type: application/json"   http://10.10.10.6/v1/projects/test4-473419/locations/us-central1/endpoints/2133539641536544768/chat/completions   -d '{"model": "google/gemma-3-12b-it", "messages": [{"role": "user","content": "What weighs more 1 pound of feathers or rocks?"}] }'

نتیجه نهایی - موفقیت!!!

نتیجه‌ای که باید در پایین خروجی، پیش‌بینی Gemma 3 را ببینید، نشان می‌دهد که شما توانستید از طریق نقطه پایانی PSC به صورت خصوصی به نقطه پایانی API دسترسی پیدا کنید.

 Connection #0 to host 10.10.10.6 left intact
{"id":"chatcmpl-9e941821-65b3-44e4-876c-37d81baf62e0","object":"chat.completion","created":1759009221,"model":"google/gemma-3-12b-it","choices":[{"index":0,"message":{"role":"assistant","reasoning_content":null,"content":"This is a classic trick question! They weigh the same. One pound is one pound, regardless of the material. 😊\n\n\n\n","tool_calls":[]},"logprobs":null,"finish_reason":"stop","stop_reason":106}],"usage":{"prompt_tokens":20,"total_tokens":46,"completion_tokens":26,"prompt_tokens_details":null},"prompt_logprobs":null

۹. تمیز کردن

از Cloud Shell، اجزای آموزشی را حذف کنید.

gcloud ai endpoints undeploy-model ENDPOINT_ID --deployed-model-id=DEPLOYED_MODEL_ID --region=us-central1 --quiet

gcloud ai endpoints delete $ENDPOINT_ID --project=$projectid --region=us-central1 --quiet

gcloud ai models delete $MODEL_ID --project=$projectid --region=us-central1 --quiet

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

gcloud compute forwarding-rules delete psc-consumer-ep --region=us-central1 --project=$projectid --quiet

gcloud compute addresses delete psc-address --region=us-central1 --project=$projectid --quiet

gcloud compute networks subnets delete pscendpoint-subnet consumer-vm-subnet --region=us-central1 --quiet

gcloud compute firewall-rules delete ssh-iap-consumer --project=$projectid

gcloud compute networks delete consumer-vpc --project=$projectid --quiet

gcloud projects delete $projectid --quiet

۱۰. تبریک

تبریک می‌گوییم، شما با موفقیت دسترسی خصوصی به API مربوط به Gemma 3 که روی Vertex AI Prediction با استفاده از یک Private Service Connect Endpoint میزبانی می‌شود را پیکربندی و اعتبارسنجی کردید.

شما زیرساخت مصرف‌کننده را ایجاد کردید، از جمله رزرو یک آدرس IP داخلی و پیکربندی یک نقطه پایانی اتصال سرویس خصوصی (یک قانون ارسال) در VPC خود. این نقطه پایانی با هدف قرار دادن پیوست سرویس مرتبط با مدل Gemma 3 مستقر شده شما، به طور ایمن به سرویس Vertex AI متصل می‌شود. این تنظیمات به برنامه‌های شما در VPC یا شبکه‌های متصل اجازه می‌دهد تا با استفاده از یک آدرس IP داخلی، بدون نیاز به ترافیک برای عبور از اینترنت عمومی، به صورت خصوصی و ایمن با API Gemma 3 تعامل داشته باشند.

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

اسناد مرجع