‫Agentspace Hybrid NEG למסד נתונים באירוח עצמי בענן אחר

1. מבוא

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

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

מה תלמדו

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

מה צריך להכין

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

2. מה תפַתחו

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

3. דרישות הרשת

בהמשך מפורטות דרישות הרשת עבור רשת המפיקים. הצרכן במעבדת התכנות הזו הוא 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 פנימיים.תת-הרשת של כלל ההעברה נחשבת תת-רשת רגילה.

Proxy Only Subnet

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

Hybrid NEG

שירותים מקומיים ושירותי ענן אחרים נחשבים כמו כל שרת קצה עורפי אחר של Cloud Load Balancing. ההבדל העיקרי הוא שמשתמשים ב-NEG עם קישוריות היברידית כדי להגדיר את נקודות הקצה של השרתים העורפיים האלה. נקודות הקצה צריכות להיות שילובים תקפים של כתובת IP ויציאה שמאזן העומסים יכול להגיע אליהם באמצעות מוצרי קישוריות היברידית כמו Cloud VPN או Cloud Interconnect.

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

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

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

  • ‫AgentSpace תומך בגישה בין עננים למסדי נתונים באירוח עצמי שנפרסו במקום או ב-Compute (למשל, ‫AWS EC2 ומכונות וירטואליות של Azure) כשמפרסמים אותם בתור בעלים של שירות מנוהל.
  • התנועה למסד הנתונים בין העננים תגיע מרשת המשנה של ה-proxy האזורי. לכן, צריך לעדכן את כללי חומת האש כדי להוסיף את התנועה הזו לרשימת ההיתרים.
  • למרות שתת-הרשת של שרת ה-proxy מפורסמת כברירת מחדל על ידי Cloud Router, צריך לוודא שהרשת חוצת-הענן למדה את תת-הרשת הזו.
  • מוודאים שרשת ה-VPC של Agentspace למדה את רשת המשנה או את כתובת ה-IP של המארח של מסד הנתונים בענן אחר.
  • לפני שיוצרים את קובץ השירות, צריך להפעיל גישה גלובלית בכלל ההעברה של הספק.
  • מפעילים גישה גלובלית כשיוצרים את נקודת הקצה של Agentspace.

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

f5cb7b235f6fa306.png

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

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

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

fbef9caa1602edd0.png

a99b7ace416376c4.png

5e3ff691252acf41.png

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

הפעלת Cloud Shell

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

ב-Google Cloud Console, לוחצים על סמל 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]
zone=[YOUR-ZONE]
echo $project
echo $region

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

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, יוצרים את תת-הרשת של ה-proxy האזורי של Producer, שמופיעה במסד הנתונים חוצה-הענן כ-IP המקור.

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 hybrid-neg-lb-ip \
  --region=$region \
  --subnet=producer-psc-fr-subnet

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

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

פלט לדוגמה:

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

הגדרת קבוצת נקודות קצה היברידית

יוצרים Hybrid NEG ומגדירים את ‎–network-endpoint-type ל-NON_GCP_PRIVATE_IP_PORT

ב-Cloud Shell, יוצרים Hybrid NEG שמשמש לגישה למסד הנתונים המקומי:

gcloud compute network-endpoint-groups create on-prem-hybrid-neg \
    --network-endpoint-type=NON_GCP_PRIVATE_IP_PORT \
    --network=agentspace-psc-demo \
    --zone=$zone

ב-Cloud Shell, מעדכנים את ה-NEG ההיברידי עם כתובת ה-IP:יציאה של מסד הנתונים חוצה הענן, 192.168.10.10 ויציאה 443 בהתאם לארכיטקטורת העזר:

gcloud compute network-endpoint-groups update on-prem-hybrid-neg \
    --add-endpoint=ip=192.168.10.10,port=443 \
    --zone=$zone

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

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

gcloud compute health-checks create tcp on-prem-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" --direction INGRESS --src-ip-ranges 172.16.10.0/28 --global-firewall-policy --layer4-configs=tcp

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

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

ב-Cloud Shell, יוצרים שירות backend::

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

ב-Cloud Shell, מוסיפים את הקצה העורפי של ה-NEG ההיברידי לשירות הקצה העורפי:

gcloud compute backend-services add-backend producer-backend-svc --network-endpoint-group=on-prem-hybrid-neg --network-endpoint-group-zone=$zone --balancing-mode=CONNECTION --max-connections=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-hybrid-neg-fr \
     --load-balancing-scheme=INTERNAL_MANAGED \
     --network-tier=PREMIUM \
     --network=agentspace-psc-demo \
     --subnet=producer-psc-fr-subnet \
     --address=hybrid-neg-lb-ip \
     --target-tcp-proxy=producer-lb-tcp-proxy \
     --target-tcp-proxy-region=$region \
     --region=$region \
     --allow-global-access \
     --ports=443

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

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

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

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

gcloud compute service-attachments create cc-database1-svc-attachment --region=$region --producer-forwarding-rule=producer-hybrid-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/cc-database1-svc-attachment

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

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

פלט לדוגמה:

connectionPreference: ACCEPT_AUTOMATIC
creationTimestamp: '2025-07-06T16:05:14.706-07:00'
description: ''
enableProxyProtocol: false
fingerprint: rXjeAOjb41k=
id: '1726139744351862725'
kind: compute#serviceAttachment
name: cc-database1-svc-attachment
natSubnets:
- https://www.googleapis.com/compute/v1/projects/$project/regions/us-central1/subnetworks/producer-psc-nat-subnet
pscServiceAttachmentId:
  high: '54619734758392808'
  low: '1726139744351862725'
reconcileConnections: false
region: https://www.googleapis.com/compute/v1/projects/$project/regions/us-central1
selfLink: https://www.googleapis.com/compute/v1/projects/$project/regions/us-central1/serviceAttachments/cc-database1-svc-attachment
targetService: https://www.googleapis.com/compute/v1/projects/$project/regions/us-central1/forwardingRules/producer-hybrid-neg-fr

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

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

62a981141ca52077.png

e36e988fc46c07a8.png

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

לפני שמקשרים את קובץ ה-Producer Service Attachment אל Agentspace, צריך לוודא שהאימותים הבאים הושלמו:

  • חומת האש ברשתות מרובות עננים מאשרת את רשת המשנה של ה-Proxy האזורי.
  • הרשת בין העננים למדה את תת-הרשת של ה-proxy האזורי.
  • רשת ה-VPC של Agentspace למדה את רשת המשנה של מסד הנתונים או את כתובת ה-IP של המארח בענן.

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

c80e0e3845880771.png

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

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

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

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

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

4ae5916ea5402c1e.png

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

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

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

gcloud compute forwarding-rules delete producer-hybrid-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 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 on-prem-hybrid-neg --zone=$zone -q

gcloud compute addresses delete hybrid-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 health-checks delete on-prem-443-healthcheck --region=us-central1 -q

gcloud compute networks delete agentspace-psc-demo -q

12. מזל טוב

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

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

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

c911c127bffdee57.jpeg

מה השלב הבא?

כדאי לעיין בכמה מה-codelabs האלה…

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

מאמרי עזרה