מסד נתונים בהארחה עצמית מ-Agentspace ל-Zonal NEG

1. מבוא

ב-codelab הזה תפרסו מאזן עומסים פנימי של TCP Proxy וקבוצת נקודות קצה ברשת (NEG) אזורית, שפורסמו כשירות PSC Producer. ה-NEG יכלול מכונה אחת או יותר של Compute ב-GCP שמארחת בעצמה מסד נתונים, למשל JIRA, ‏ Confluence או Sharepoint.

Private Service Connect היא יכולת של רשתות Google Cloud שמאפשרת לצרכנים לגשת לשירותים מנוהלים באופן פרטי מתוך רשת ה-VPC שלהם. באופן דומה, הוא מאפשר לספקי שירותים מנוהלים לארח את השירותים האלה בענן וירטואלי פרטי (VPC) משלהם או ברשת חוצת-עננים, ולהציע חיבור פרטי לצרכנים שלהם. לדוגמה, כשמשתמשים ב-Private Service Connect כדי לגשת ל-NEG אזורי, אתם הבעלים של השירות המנוהל ו-Google (Agentspace) היא צרכן השירות.

מה תלמדו

  • דרישות רשת ל-Agentspace
  • שיטות מומלצות לשימוש ברשת Agentspace
  • יצירת שירות הפקה של Private Service Connect

מה תצטרכו

  • פרויקט ב-Google Cloud עם הרשאות בעלים

2. מה תפַתחו

תקימו רשת של ספק, agentspace-psc-demo, כדי לפרוס מאזן עומסים פנימי של שרת proxy מסוג TCP ו-NEG אזורי שפורסם כשירות באמצעות Private Service Connect ‏ (PSC).

3. דרישות רשת

בהמשך מפורטות דרישות הרשת עבור רשת ה-Producer. ה-Consumer במעבדת הקוד הזו הוא Agentspace.

רכיבים

תיאור

VPC (agentspace-psc-demo)

מצב מותאם אישית של VPC

רשת משנה של NAT ב-PSC

מנות מרשת ה-VPC של הצרכן מתורגמות באמצעות NAT של המקור (SNAT), כך שכתובות ה-IP המקוריות של המקור מומרות לכתובות IP של המקור מרשת המשנה של ה-NAT ברשת ה-VPC של היצרן. ‫PSC NAT תומך ברשת משנה (subnet) מסוג ‎ /29 לכל Service Attachment.

תת-רשת של כלל העברה של PSC

משמש להקצאת כתובת IP למאזן עומסים אזורי בשרתי TCP Proxy פנימיים.רשת המשנה של כלל ההעברה נחשבת רשת משנה רגילה.

רשת משנה של NEG

משמש להקצאת כתובת IP לקבוצת נקודות הקצה ברשת מתת-רשת רגילה.

Proxy Only Subnet

לכל אחד מהפרוקסי של מאזן העומסים מוקצית כתובת IP פנימית. לחבילות שנשלחות מ-proxy למכונה וירטואלית בעורף או לקבוצת נקודות קצה ברשת יש כתובת IP של מקור מרשת משנה של proxy בלבד.מומלץ להשתמש ברשת משנה מסוג ‎ /23, אבל אפשר גם להשתמש ברשת משנה מסוג ‎/26. נדרשת תת-רשת אחת של שרת proxy אזורי לכל אזור.

שירות לקצה העורפי

שירות לקצה העורפי משמש כגשר בין מאזן העומסים לבין משאבי הקצה העורפי. במדריך, שירות הקצה העורפי משויך ל-NEG אזורי.

4. שיטות מומלצות

  • קבוצות אזוריות של נקודות קצה ברשת תומכות במכונה וירטואלית אחת או יותר של GCE באזור מסוים, על סמך GCE_VM_IP_PORT
  • לפני שיוצרים את קובץ השירות, צריך להפעיל גישה גלובלית בכלל ההעברה של הספק.
  • מפעילים את הגישה הגלובלית כשיוצרים את נקודת הקצה של מרחב הסוכנים.
  • מאזן עומסים פנימי של TCP Proxy תומך גם בקבוצות מנוהלות ולא מנוהלות של מכונות וירטואליות
  • אפשר לחשוף מאזני עומסים קיימים של שרת proxy של TCP או של העברת נתונים ב-Google Cloud כשירות של ספק

5. טופולוגיית Codelab

9a8a948b0a4ad91e.png

6. הגדרה ודרישות

הגדרת סביבה בקצב אישי

  1. נכנסים ל-מסוף Google Cloud ויוצרים פרויקט חדש או משתמשים בפרויקט קיים. אם עדיין אין לכם חשבון Gmail או Google Workspace, אתם צריכים ליצור חשבון.

fbef9caa1602edd0.png

a99b7ace416376c4.png

5e3ff691252acf41.png

  • שם הפרויקט הוא השם המוצג של הפרויקט הזה למשתתפים. זו מחרוזת תווים שלא נמצאת בשימוש ב-Google APIs. תמיד אפשר לעדכן את המיקום.
  • מזהה הפרויקט הוא ייחודי לכל הפרויקטים ב-Google Cloud ואי אפשר לשנות אותו אחרי שהוא מוגדר. מסוף Cloud יוצר באופן אוטומטי מחרוזת ייחודית, ובדרך כלל לא צריך לדעת מה היא. ברוב ה-Codelabs, תצטרכו להפנות למזהה הפרויקט (בדרך כלל מסומן כ-PROJECT_ID). אם אתם לא אוהבים את המזהה שנוצר, אתם יכולים ליצור מזהה אקראי אחר. אפשר גם לנסות שם משתמש משלכם ולבדוק אם הוא זמין. אי אפשר לשנות את ההגדרה הזו אחרי השלב הזה, והיא תישאר לאורך הפרויקט.
  • לידיעתכם, יש ערך שלישי, מספר פרויקט, שחלק מממשקי ה-API משתמשים בו. במאמרי העזרה מפורט מידע נוסף על שלושת הערכים האלה.
  1. בשלב הבא, תצטרכו להפעיל את החיוב במסוף Cloud כדי להשתמש במשאבי Cloud או בממשקי API של Cloud. השלמת ה-codelab הזה לא תעלה לכם הרבה, אם בכלל. כדי להשבית את המשאבים ולמנוע חיובים נוספים אחרי שתסיימו את המדריך הזה, תוכלו למחוק את המשאבים שיצרתם או למחוק את הפרויקט. משתמשים חדשים ב-Google Cloud זכאים לתוכנית תקופת ניסיון בחינם בשווי 300$.

מפעילים את Cloud Shell

אפשר להפעיל את Google Cloud מרחוק מהמחשב הנייד, אבל ב-codelab הזה תשתמשו ב-Google Cloud Shell, סביבת שורת פקודה שפועלת בענן.

ב-מסוף Google Cloud, לוחצים על סמל Cloud Shell בסרגל הכלים שבפינה הימנית העליונה:

55efc1aaa7a4d3ad.png

יחלפו כמה רגעים עד שההקצאה והחיבור לסביבת העבודה יושלמו. בסיום התהליך, אמור להופיע משהו כזה:

7ffe5cbb04455448.png

המכונה הווירטואלית הזו כוללת את כל הכלים שדרושים למפתחים. יש בה ספריית בית בנפח מתמיד של 5GB והיא פועלת ב-Google Cloud, מה שמשפר מאוד את הביצועים והאימות ברשת. אפשר לבצע את כל העבודה ב-codelab הזה בדפדפן. לא צריך להתקין שום דבר.

7. לפני שמתחילים

הפעלת ממשקי ה-API

ב-Cloud Shell, מוודאים שמזהה הפרויקט מוגדר:

gcloud config list project
gcloud config set project [YOUR-PROJECT-ID]
project=[YOUR-PROJECT-ID]
region=[YOUR-REGION]
zone1a=[YOUR-ZONE1a]
zone1b=[YOUR-ZONE1b]
echo $project
echo $region
echo $zone1a
echo $zone1b

מפעילים את כל השירותים הנדרשים:

gcloud services enable compute.googleapis.com

8. יצירת רשת VPC של יצרן

רשת VPC

ב-Cloud Shell, מבצעים את הפעולות הבאות:

gcloud compute networks create agentspace-psc-demo --subnet-mode custom

יצירת תת-רשתות

רשת המשנה של PSC תשויך לקובץ המצורף של שירות PSC לצורך תרגום כתובות רשת (NAT).

ב-Cloud Shell, יוצרים את תת-הרשת של PSC NAT:

gcloud compute networks subnets create producer-psc-nat-subnet --network agentspace-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 agentspace-psc-demo --range 172.16.20.0/28 --region $region --enable-private-ip-google-access

ב-Cloud Shell, יוצרים את תת-הרשת של קבוצת נקודות הקצה ברשת:

gcloud compute networks subnets create neg-subnet --network agentspace-psc-demo --range 172.16.30.0/28 --region $region --enable-private-ip-google-access

בתוך Cloud Shell, יוצרים את תת-הרשת של ה-Proxy האזורי של ה-Producer בלבד

gcloud compute networks subnets create $region-proxy-only-subnet \
  --purpose=REGIONAL_MANAGED_PROXY \
  --role=ACTIVE \
  --region=$region \
  --network=agentspace-psc-demo \
  --range=10.10.10.0/24

שמירת כתובת ה-IP של מאזן העומסים

ב-Cloud Shell, שומרים כתובת IP פנימית למאזן העומסים:

gcloud compute addresses create zonal-neg-lb-ip \
  --region=$region \
  --subnet=producer-psc-fr-subnet

ב-Cloud Shell, מציגים את כתובת ה-IP השמורה.

gcloud compute addresses describe zonal-neg-lb-ip \
  --region=$region | grep -i address:

פלט לדוגמה:

gcloud compute addresses describe zonal-neg-lb-ip --region=$region | grep -i address:
address: 172.16.20.2

הגדרת ה-NEG האזורי

בקטע הבא, תיצרו קבוצת נקודות קצה ברשת אזורית שמכילה כתובת IP אחת או יותר, או שילובים של כתובת IP ויציאת יעד:

  • כתובת ה-IPv4 הפנימית הראשית של ממשק רשת של מכונה וירטואלית
  • כתובת ה-IPv4 הפנימית הראשית של ממשק רשת של מכונה וירטואלית, בתוספת מספר יציאה של היעד
  • כתובת IPv4 פנימית מתוך טווח כתובות ה-IP של הכינוי שהוקצה לממשק הרשת של מכונה וירטואלית
  • כתובת IPv4 פנימית מתוך טווח כתובות ה-IP של הכינוי שהוקצה לממשק הרשת של VM, בתוספת מספר יציאת היעד

ממשק הרשת שמכיל את נקודת הקצה GCE_VM_IP_PORT חייב להיות בתת-הרשת של ה-NEG. כשמשמיטים מספר יציאה מנקודת קצה מסוג GCE_VM_IP_PORT, מערכת Google Cloud משתמשת במספר היציאה שמוגדר כברירת מחדל ב-NEG עבור נקודת הקצה.

בארכיטקטורת העזר, מופעי GCE שמשויכים ל-NEG אזורי כוללים את הרכיבים הבאים:

  • database-us-central1-a | us-central1-a | IP: 100.100.10.2 | Port: 443
  • database-us-central1-a | us-central1-b | IP: 100.100.10.3 | Port: 443
  • שם תת-הרשת: database-subnet-1

יצירת ה-NEG האזורי לאזור zone1a

בקטע הבא, תיצרו קבוצת נקודות קצה ברשת לכל אזור, למשל us-central1-a, ותציינו את שם רשת המשנה ששימש ליצירת מכונת GCE. בארכיטקטורה לדוגמה, שם רשת המשנה הוא database-subnet-1.

ב-Cloud Shell, יוצרים קבוצת NEG אזורית:

gcloud compute network-endpoint-groups create us-central-zonal-neg-1a \
    --zone=$zone1a \
    --network=agentspace-psc-demo \
    --subnet=database-subnet-1 \
    --default-port=443

ב-Cloud Shell, מעדכנים את ה-NEG האזורי עם כתובת ה-IP:יציאה של מופע GCE שנפרס ב-zone1a. בארכיטקטורת ההפניה, מופע GCE הוא 100.100.10.2 יציאה 443 שנפרס באזור us-central1-a.

gcloud compute network-endpoint-groups update us-central-zonal-neg-1a --zone=$zone1a --add-endpoint instance=database-us-central1-a,port=443

יצירת Zonal NEG לאזור zone1b

בקטע הבא, תיצרו את קבוצת נקודות הקצה ברשת לכל אזור, למשל us-central1-b, ותציינו את שם רשת המשנה ששימש ליצירת מכונת GCE. בארכיטקטורה לדוגמה, שם רשת המשנה הוא database-subnet-1.

ב-Cloud Shell, יוצרים קבוצת NEG אזורית:

gcloud compute network-endpoint-groups create us-central-zonal-neg-1b \
    --zone=$zone1b \
    --network=agentspace-psc-demo \
    --subnet=database-subnet-1 \
    --default-port=443

ב-Cloud Shell, מעדכנים את ה-NEG האזורי עם כתובת ה-IP:Port של מופע GCE שנפרס ב-zone1b. בארכיטקטורת העזר, מופע GCE הוא 100.100.10.3 Port 443 שנפרס באזור us-central1-b.

gcloud compute network-endpoint-groups update us-central-zonal-neg-1b --zone=$zone1b --add-endpoint instance=database-us-central1-b,port=443

יצירת בדיקת תקינות אזורית

ב-Cloud Shell, יוצרים בדיקת תקינות שבודקת את יציאת מסד הנתונים המקומי, 443:

gcloud compute health-checks create tcp zonal-443-healthcheck \
    --region=$region \
    --port=443

יצירת מדיניות של חומת אש ברשת וכללים לחומת האש

ב-Cloud Shell, מבצעים את הפעולות הבאות:

gcloud compute network-firewall-policies create agentspace-psc-demo-policy --global

gcloud compute network-firewall-policies associations create --firewall-policy agentspace-psc-demo-policy --network agentspace-psc-demo --name agentspace-psc-demo --global-firewall-policy

כלל חומת האש הבא מאפשר תעבורת נתונים מטווח כתובות ה-NAT של PSC לכל המכונות ברשת.

ב-Cloud Shell, מבצעים את הפעולות הבאות:

gcloud compute network-firewall-policies rules create 2001 --action ALLOW --firewall-policy agentspace-psc-demo-policy --description "allow traffic from PSC NAT subnet to GCE" --direction INGRESS --src-ip-ranges 172.16.10.0/28 --global-firewall-policy --layer4-configs=tcp

כלל חומת האש הבא מאפשר תעבורת נתונים מטווח בדיקת התקינות לכל המופעים ברשת. חשוב לשים לב שבדיקת התקינות ויציאת האפליקציה צריכות להיות זהות.

ב-Cloud Shell, מבצעים את הפעולות הבאות:

gcloud compute network-firewall-policies rules create 2002 --action ALLOW --firewall-policy agentspace-psc-demo-policy --description "allow internal probe health check range to GCE" --direction INGRESS --src-ip-ranges 35.191.0.0/16,130.211.0.0/22 --global-firewall-policy --layer4-configs=tcp:443

כלל חומת האש הבא מאפשר תעבורת נתונים מהטווח של תת-הרשת של שרת ה-proxy בלבד לכל המכונות ברשת. שימו לב: רשת המשנה של ה-proxy והיציאה של האפליקציה חייבות להיות זהות.

ב-Cloud Shell, מבצעים את הפעולות הבאות:

gcloud compute network-firewall-policies rules create 2003 --action ALLOW --firewall-policy agentspace-psc-demo-policy --description "allow internal tcp proxy health check range to GCE" --direction INGRESS --src-ip-ranges 10.10.10.0/24 --global-firewall-policy --layer4-configs=tcp:443

9. יצירת שירות של ספק

יצירת רכיבים של מאזן עומסים

ב-Cloud Shell, יוצרים שירות לקצה העורפי:

gcloud compute backend-services create producer-backend-svc --region=$region --load-balancing-scheme=INTERNAL_MANAGED --protocol=TCP --region=$region --health-checks=zonal-443-healthcheck --health-checks-region=$region

ב-Cloud Shell, משייכים את ה-NEG האזורי, us-central-zonal-neg-1a, לשירות הקצה העורפי:

gcloud compute backend-services add-backend producer-backend-svc \
   --network-endpoint-group=us-central-zonal-neg-1a  \
   --network-endpoint-group-zone=$zone1a \
   --balancing-mode=CONNECTION \
   --max-connections-per-endpoint=100 \
   --region=$region

ב-Cloud Shell, משייכים את ה-NEG האזורי, us-central-zonal-neg-1b,לשירות הקצה העורפי:

gcloud compute backend-services add-backend producer-backend-svc \
   --network-endpoint-group=us-central-zonal-neg-1b  \
   --network-endpoint-group-zone=$zone1b \
   --balancing-mode=CONNECTION \
   --max-connections-per-endpoint=100 \
   --region=$region

ב-Cloud Shell, יוצרים שרת proxy TCP ליעד כדי לנתב בקשות לשירות הקצה העורפי:

gcloud compute target-tcp-proxies create producer-lb-tcp-proxy \
      --backend-service=producer-backend-svc  \
      --region=$region

בתחביר הבא, יוצרים כלל העברה (מאזן עומסים פנימי מסוג TCP Proxy) עם גישה גלובלית מופעלת.

ב-Cloud Shell, מבצעים את הפעולות הבאות:

gcloud compute forwarding-rules create producer-zonal-neg-fr \
     --load-balancing-scheme=INTERNAL_MANAGED \
     --network-tier=PREMIUM \
     --network=agentspace-psc-demo \
     --subnet=producer-psc-fr-subnet \
     --address=zonal-neg-lb-ip \
     --target-tcp-proxy=producer-lb-tcp-proxy \
     --target-tcp-proxy-region=$region \
     --region=$region \
     --allow-global-access \
     --ports=443

אימות תקינות הקצה העורפי

בקטע הבא מוסבר איך להשתמש במסוף Cloud כדי לוודא שהשירות לקצה העורפי והמכונות המשויכות לו תקינים (סטטוס ירוק). עוברים אל:

שירותי רשת → איזון עומסים → Producer-backend-svc

dbbc97dcef9db785.png

יצירת קובץ מצורף לשירות

כדי לפרסם שירות, צריך ליצור קובץ מצורף עם השירות Private Service Connect. אפשר לפרסם את השירות עם אישור אוטומטי או עם אישור מפורש.

  • כדי לפרסם את השירות ולאפשר באופן אוטומטי לכל צרכן להתחבר אליו, פועלים לפי ההוראות במאמר פרסום שירות עם אישור אוטומטי.
  • כדי לפרסם את השירות עם אישור צרכן מפורש, בהגדרות החיבור של קובץ השירות, בוחרים באפשרות 'אישור חיבורים לפרויקטים נבחרים' ומשאירים את השדה 'פרויקטים שאושרו' ריק.
  • אחרי שיוצרים את קובץ השירות המצורף, נקודות הקצה של הצרכן שמבקשות גישה לשירות הבעלים נכנסות בהתחלה למצב 'בהמתנה'. כדי לאשר את החיבור, הספק צריך לאשר את הפרויקט שממנו הגיעה הבקשה לנקודת הקצה של הצרכן.

ב-Cloud Shell, יוצרים את קובץ ה-Service Attachment, ‏ cc-database1-svc-attachment עם אישור אוטומטי:

gcloud compute service-attachments create zonal-database1-svc-attachment --region=$region --producer-forwarding-rule=producer-zonal-neg-fr --connection-preference=ACCEPT_AUTOMATIC --nat-subnets=producer-psc-nat-subnet

בשלב הבא, צריך להשיג את Service Attachment (הקובץ המצורף לשירות) שמופיע ב-URI של selfLink שמתחיל ב-projects, ולרשום אותו כדי להגדיר את נקודת הקצה של PSC ב-Agentspace.

selfLink: projects/<your-project-id>/regions/<your-region>/serviceAttachments/zonal-database1-svc-attachment

ב-Cloud Shell, מבצעים את הפעולות הבאות:

gcloud compute service-attachments describe zonal-database1-svc-attachment --region=$region

פלט צפוי לדוגמה:

connectionPreference: ACCEPT_AUTOMATIC
creationTimestamp: '2025-07-12T16:00:22.429-07:00'
description: ''
enableProxyProtocol: false
fingerprint: zOpeRQnPWSc=
id: '1784245893044590569'
kind: compute#serviceAttachment
name: zonal-database1-svc-attachment
natSubnets:
- https://www.googleapis.com/compute/v1/projects/$project-svc4/regions/us-central1/subnetworks/producer-psc-nat-subnet
pscServiceAttachmentId:
  high: '119824781489996776'
  low: '1784245893044590569'
reconcileConnections: false
region: https://www.googleapis.com/compute/v1/projects/$project-svc4/regions/us-central1
selfLink: https://www.googleapis.com/compute/v1/projects/$project-svc4/regions/us-central1/serviceAttachments/zonal-database1-svc-attachment
targetService: https://www.googleapis.com/compute/v1/projects/$project-svc4/regions/us-central1/forwardingRules/producer-zonal-neg-fr

ב-Cloud Console, עוברים אל:

שירותי רשת → Private Service Connect → שירותים שפורסמו

898fe7673474be14.png

4d0b77966af14c7a.png

10. יצירת חיבור של נקודת קצה PSC ב-Agentspace

משייכים את כתובת ה-URI של קובץ מצורף עם שירות ההפקה ל-Agentspace, ומוודאים שהאפשרות 'גישה גלובלית' נבחרה. בדוגמה הבאה מוצגת הפעלה של גישה גלובלית באמצעות Service Attachment של ארכיטקטורת ההפניה.

cb16ba8d7cfb86dd.png

כדי להשלים את הגדרת הרשת הפרטית, אפשר לעיין בהוראות נוספות במקורות נתונים של צד שלישי ב-Agentspace.

אימות של נקודת הקצה של PSC ב-Cloud Console

כדי לוודא שחיבור ה-PSC בין Agentspace (הצרכן) לבין הספק בוצע בהצלחה, צריך לאמת את פרויקט הדייר של Agentspace שמקושר לשירות של הספק. הוא מופיע בקטע 'פרויקטים מקושרים'. מזהה פרויקט דייר (tenant) מוקצה באופן אקראי, אבל תמיד יסתיים ב-tp.

אפשר לאמת את חיבור ה-PSC דרך Cloud Console. ב-Cloud Console, עוברים אל:

‫Network Services (שירותי רשת) ‏→ ‏Private Service Connect ‏→ ‏Published Service (שירות שפורסם), ואז בוחרים את השירות zonal-database1-svc-attachment.

2f6b7830ce3db3b7.png

11. הסרת המשאבים

מחיקת רכיבי מעבדה ממסוף Cloud Shell יחיד

gcloud compute service-attachments delete zonal-database1-svc-attachment --region=$region -q

gcloud compute forwarding-rules delete producer-zonal-neg-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 agentspace-psc-demo-policy --global-firewall-policy -q

gcloud compute network-firewall-policies rules delete 2002 --firewall-policy agentspace-psc-demo-policy --global-firewall-policy -q

gcloud compute network-firewall-policies rules delete 2003 --firewall-policy agentspace-psc-demo-policy --global-firewall-policy -q

gcloud compute network-firewall-policies associations delete --firewall-policy=agentspace-psc-demo-policy  --name=agentspace-psc-demo --global-firewall-policy -q

gcloud compute network-firewall-policies delete agentspace-psc-demo-policy --global -q

gcloud compute network-endpoint-groups delete us-central-zonal-neg-1a --zone=$zone1a -q

gcloud compute network-endpoint-groups delete us-central-zonal-neg-1b --zone=$zone1b -q

gcloud compute addresses delete zonal-neg-lb-ip --region=$region -q

gcloud compute networks subnets delete $region-proxy-only-subnet --region=$region -q

gcloud compute networks subnets delete producer-psc-nat-subnet --region=$region -q

gcloud compute networks subnets delete producer-psc-fr-subnet --region=$region -q

gcloud compute networks subnets delete neg-subnet --region=$region -q

gcloud compute health-checks delete zonal-443-healthcheck --region=us-central1 -q

gcloud compute networks delete agentspace-psc-demo -q

12. מזל טוב

הגדרתם ופרסמתם בהצלחה שירות הפקה באמצעות Private Service Connect.

יצרתם את התשתית של הספק, למדתם איך ליצור NEG אזורי, שירות ספק ולשייך את הקובץ המצורף של השירות ל-Agentspace.

‫Cosmopup חושב ש-codelabs הם מדהימים!!

c911c127bffdee57.jpeg

מה השלב הבא?

כדאי לעיין ב-Codelabs הבאים…

קריאה נוספת וסרטונים

מאמרי עזרה