מומלץ להשתמש בממשק Private Service Connect לקישוריות פרטית, כי הוא מפחית את הסיכוי למיצוי כתובות IP ומאפשר שימוש ב-transitive peering.
ממשק Private Service Connect נתמך במשימות מותאמות אישית ובמשאבים קבועים בפלטפורמת הסוכן.
סקירה כללית
ממשק Private Service Connect נתמך במשימות בהתאמה אישית ובמשאבים קבועים ב-Vertex AI Training. כדי להשתמש בממשק Private Service Connect, צריך להגדיר רשת VPC, תת-רשת ורכיב Network Attachment בפרויקט המשתמש. הוראות להגדרת ממשק Private Service Connect כדי להפעיל ממשק Private Service Connect, צריך לכלול את שם הקובץ המצורף לרשת בבקשה ליצירת משימה בהתאמה אישית או משאב קבוע.
קישוריות יוצאת של Private Service Connect ל-Gemini Enterprise Agent Platform לרשתות אחרות
ב-Gemini Enterprise Agent Platform שולבו קישורי יציאה מהרשת שנתמכים על ידי Private Service Connect (ראו חיבור לעומסי עבודה ברשתות אחרות), עם התנהגויות ארכיטקטוניות מהסוגים הבאים.
גישה לממשקי Google API ולשירותים פנימיים בלבד
כשפלטפורמת הסוכנים של Gemini Enterprise שולחת תעבורת נתונים אל Google APIs, היא נפתרת באופן מקומי בסביבת היצרן ולא משתמשת בהגדרות של Private Google Access או בניתוב של רשת ה-VPC של הצרכן.
שימו לב:
- דרישה לזהות VPC: מכיוון שההפניה המקומית עוקפת את נתיב רשת ה-VPC של הצרכן, התנועה לא כוללת את הזהות של רשת ה-VPC. הדבר יגרום לכך שבקשות לשירותי Google פנימיים בלבד, כמו שירותי Cloud Run שהוגדרו עם תעבורת נתונים נכנסת (ingress) פנימית, ייכשלו עם שגיאה 404 או 403.
- פתרון של נקודת קצה של Private Service Connect: כדי להגיע לשירותים הפנימיים האלה באופן פרטי, צריך להגדיר נקודת קצה של Private Service Connect לממשקי Google APIs ברשת ה-VPC.
- הגדרת DNS: כדי לוודא שהתעבורה תישאר בנתיב פרטי בלבד, צריך לוודא שדומיין השירות (למשל *.run.app) מומר לכתובת ה-IP הפנימית של נקודת הקצה (endpoint) של Private Service Connect.
תעבורת נתונים יוצאת (egress) באינטרנט ו-Cloud NAT
כברירת מחדל, פלטפורמת הסוכנים של Gemini Enterprise משתמשת בשערי אינטרנט בניהול Google לתעבורת נתונים יוצאת, ולא בנתיבים של רשת ה-VPC. תעבורת נתונים יוצאת (egress) באמצעות שער Cloud NAT של צרכן משמשת רק כשהפרויקט הוא חלק מגבולות גזרה של VPC Service Controls.
ההיקף הזה חוסם גישה לאינטרנט כברירת מחדל, ומאלץ את התנועה לעבור דרך ממשק Private Service Connect וכללי הניתוב של רשת ה-VPC. אם אתם לא משתמשים ב-VPC Service Control, תעבורת האינטרנט היוצאת תעקוף את רשת ה-VPC ואת שער Cloud NAT לחלוטין.
מגבלות
מידע על התכונות והמגבלות של ממשקי Private Service Connect זמין במאמר מידע על גישה לשירותי פלטפורמת הסוכנים של Gemini Enterprise דרך ממשקי Private Service Connect.
תמחור
התמחור של ממשקי Private Service Connect מפורט בקטע 'שימוש בממשק Private Service Connect לגישה לרשת VPC של יצרן או צרכן' בדף כל התמחור של שירותי הרשת.
לפני שמתחילים
מגדירים את המשאבים לממשק Private Service Connect בפרויקט של המשתמש.
יצירת משימת אימון ללא שרת (serverless) עם ממשק Private Service Connect
אתם יכולים ליצור משימת אימון בלי שרת (serverless) עם ממשק Private Service Connect באמצעות Agent Platform SDK ל-Python או API בארכיטקטורת REST.
Python
כדי ליצור משימת אימון ללא שרת עם PSC-I באמצעות Agent Platform SDK ל-Python, מגדירים את המשימה באמצעות ההגדרה aiplatform_v1/services/job_service.
Python
project: . אפשר למצוא את המזהים האלה בדף welcome במסוף Cloud de Confiance .-
location: ראו רשימה של מיקומים זמינים. -
bucket: מחליפים אתbucketבשם של קטגוריה שיש לכם גישה אליה. display_name: השם המוצג של המשאב הקבוע.-
machine_type: מציינים את משאבי החישוב. -
replica_count: מספר העותקים המשוכפלים של העובדים שבהם יש להשתמש בכל ניסיון. -
service_attachment: השם של משאב ההצמדה לשירות. מאוכלס אם Private Service Connect מופעל. -
image_uri: ה-URI של קובץ אימג' של קונטיינר Docker עם קוד האימון. איך יוצרים תמונה מותאמת אישית של קונטיינר -
network_attachment: השם או הנתיב המלא של קובץ מצורף לרשת שיצרתם כשאתם מגדירים את המשאבים ל-Private Service Connect. -
domain: שם ה-DNS של אזור ה-DNS הפרטי ב-Cloud שיצרתם כשאתם מגדירים את ה-Peering של ה-DNS הפרטי. -
target_project: הפרויקט שמארח את רשת ה-VPC. -
target_network: השם של רשת ה-VPC.
REST
כדי ליצור משימת אימון ללא שרת, שולחים בקשת POST באמצעות השיטה customJobs.create.
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- LOCATION: האזור שבו יופעלו הקונטיינר או חבילת Python.
- PROJECT_ID: מזהה הפרויקט. .
- JOB_NAME: שם מוצג ל-
CustomJob. - REPLICA_COUNT: מספר העותקים של העובדים לשימוש. ברוב המקרים, צריך להגדיר את הערך הזה ל-
1עבור מאגר העובדים הראשון. - אם אפליקציית האימון פועלת בקונטיינר בהתאמה אישית, צריך לציין את הפרטים הבאים:
- IMAGE_URI: ה-URI של קובץ אימג' של קונטיינר Docker עם קוד האימון. איך יוצרים תמונה מותאמת אישית של קונטיינר
- NETWORK_ATTACHMENT: השם או הנתיב המלא של קובץ הרשת המצורף שיצרתם כשהגדרתם את הממשק של Private Service Connect.
- אם אתם צריכים שירות DNS פרטי, השדה
dns_peering_configsהוא חובה. בכל פריט ברשימה הזו מופיעים:- DOMAIN_SUFFIX: שם ה-DNS של אזור ה-DNS הפרטי ב-Cloud שיצרתם כשמגדירים את ה-Peering של ה-DNS הפרטי.
- TARGET_PROJECT: הפרויקט שמארח את רשת ה-VPC.
- TARGET_NETWORK: השם של רשת ה-VPC.
ה-method של ה-HTTP וכתובת ה-URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/customJobs
גוף בקשת JSON:
"display_name": JOB_NAME,
"job_spec": {
"worker_pool_specs": [
{
"machine_spec": {
"machine_type": "n2-standard-4",
},
"replica_count": REPLICA_COUNT,
"container_spec": {
"image_uri": IMAGE_URI,
},
},
],
"psc_interface_config": {
"network_attachment": NETWORK_ATTACHMENT,
"dns_peering_configs": [
{
"domain": DOMAIN_SUFFIX,
"target_project": TARGET_PROJECT,
"target_network": TARGET_NETWORK
}
],
},
"enable_web_access": 1
}
כדי לשלוח את הבקשה עליכם לבחור אחת מהאפשרויות הבאות:
curl
שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/customJobs"
PowerShell
שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/customJobs" | Select-Object -Expand Content
אתם אמורים לקבל תגובת JSON שדומה לזו: