1. מבוא
Private Service Connect היא יכולת של רשתות Google Cloud שמאפשרת לצרכנים לגשת לשירותים מנוהלים באופן פרטי מתוך רשת ה-VPC שלהם. באופן דומה, הוא מאפשר לספקי שירותים מנוהלים לארח את השירותים האלה ברשתות VPC נפרדות משלהם ולהציע חיבור פרטי לצרכנים שלהם.
עד עכשיו, אחרי ששירותי PSC נחשפו דרך קובץ מצורף לשירות, לא היה אפשר לבצע שינויים במאזני העומסים של השירות בלי להסיר את הקובץ המצורף לשירות ולשבש את הקישוריות של נקודת הקצה של PSC לצרכן. ההשקה של שינוי ב-PSC מאפשרת ליצרנים לעדכן את מאזן העומסים שלהם תוך שמירה על החיבור לנקודת הקצה של PSC. היתרון של שמירה על החיבור של נקודת הקצה של PSC לחיבור השירות בזמן שינוי מאזן העומסים הוא שלא נדרשת פעולה מצד הלקוח.
בשלב הזה, אפשרות השינוי של PSC תתמוך ב
- העברה לכלל העברה של מאזן עומסים מאותו סוג (למשל, העברת סיגנל ללא שינוי ברשת להעברת סיגנל ללא שינוי ברשת)
- העברה לכלל העברה של מאזן עומסים מסוג אחר (לדוגמה, העברת סיגנל ללא שינוי ברשת למאזן עומסים של אפליקציות)
יכולת השינוי של PSC לא תומכת בעריכת כלל ההעברה במקום.
בשיעור ה-Lab הזה תיצרו שירות אינטרנט של בעלים של שירות מנוהל שחשוף דרך מאזן עומסים פנימי להעברת סיגנל ללא שינוי, תוודאו שיש לשירות קישוריות דרך נקודת קצה (endpoint) מסוג PSC, ואז תעדכנו את השיוך של קובץ ה-Service Attachment לכלל העברה חדש למאזן עומסים פנימי של אפליקציות.
מה תלמדו
- יוצרים שירות אינטרנט פשוט של Apache שנחשף כשירות בעלים של PSC.
- יוצרים נקודת קצה של PSC.
- יוצרים אזור פרטי ב-Cloud DNS עבור קריאות השירות של הצרכן.
- מעדכנים את כלל ההעברה שמשויך ל-Service Attachment באמצעות PSC Mutability.
מה תצטרכו
- פרויקט בענן של Google עם הרשאות בעלים
- ידע בסיסי ברשתות של Google Cloud
2. סביבת בדיקה
באופן מסורתי, יצרנים וצרכנים עובדים בפרויקטים שונים. לצורך פשטות, נבצע את כל הפעולות באותו פרויקט, אבל כל אחד מהשלבים יתויג בפרויקטים של Producer או Consumer, למקרה שהמשתמש יעדיף לעבוד בפרויקטים שונים.
בשיעור ה-Lab הזה, נתחיל ביצירת רשת VPC של יצרן עם שלוש תת-רשתות: אחת לאירוח שירות היצרן ומכונת הבדיקה הווירטואלית, אחת לכללי העברת התנועה של מאזן העומסים ותת-רשת NAT של PSC. כדי להוריד חבילות של Linux, נצטרך Cloud Router ו-Cloud NAT כדי להגיע לאינטרנט. נחשוף את שירות Apache שלנו, שהוגדר באמצעות קבוצת מופעים לא מנוהלת, דרך מאזן עומסים פנימי אזורי של רשתות להעברת סיגנל ללא שינוי, ונקשר את כלל ההעברה לחיבור שירות.
בצד הצרכן, ניצור את consumer-vpc עם רשת משנה אחת לאירוח נקודת קצה של PSC ומכונה וירטואלית של לקוח לבדיקה. אנחנו נגדיר אזור פרטי של Cloud DNS כדי לגשת לשירות באמצעות שם מארח.
כדי להציג את התכונה 'שינוי של PSC', בצד היצרן נוסיף שתי רשתות משנה נוספות: אחת לאירוח ה-VM של השירות החדש, ואחת לרשת המשנה של מאזן העומסים (פרוקסי בלבד). ניצור מכונה וירטואלית חדשה שמארחת שרת אינטרנט של Apache, שוב באמצעות קבוצת מופעים לא מנוהלת, ונחשוף אותה באמצעות מאזן עומסים חדש של אפליקציות (ALB) פנימי אזורי. נעדכן את קובץ ה-service attachment כך שיצביע על כלל ההעברה החדש, ונבדוק שהקישוריות בצד הצרכן נשארת במקומה.

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



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

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

המכונה הווירטואלית הזו כוללת את כל הכלים שדרושים למפתחים. יש בה ספריית בית בנפח מתמיד של 5GB והיא פועלת ב-Google Cloud, מה שמשפר מאוד את הביצועים והאימות ברשת. אפשר לבצע את כל העבודה ב-codelab הזה בדפדפן. לא צריך להתקין שום דבר.
4. לפני שמתחילים
הפעלת ממשקי ה-API
ב-Cloud Shell, מוודאים שמזהה הפרויקט מוגדר
gcloud config list project gcloud config set project [YOUR-PROJECT-NAME] export project=[YOUR-PROJECT-NAME] export region=us-central1 export zone=$region-a echo $project echo $region echo $zone
הפעלת כל השירותים הנדרשים
gcloud services enable compute.googleapis.com gcloud services enable dns.googleapis.com
5. יצירת רשת של ספקי שירותים [פרויקט של ספק שירותים]
יצירת רשת VPC
מ-Cloud Shell
gcloud compute networks create producer-vpc \
--subnet-mode=custom
יצירת רשתות משנה
נתחיל בפריסה של 3 רשתות משנה ב-producer-vpc. אחד ישמש לפריסת שירות הבעלים, אחד לכללי העברה של מאזן העומסים ואחד שישויך ל-Service Attachment של PSC עבור רשת המשנה של PSC NAT.
מ-Cloud Shell
gcloud compute networks subnets create producer-service-subnet \
--network=producer-vpc \
--range=10.0.0.0/28 \
--region=$region
gcloud compute networks subnets create producer-fr-subnet \
--network=producer-vpc \
--range=192.168.0.0/28 \
--region=$region
gcloud compute networks subnets create psc-nat-subnet \
--network=producer-vpc \
--range=10.100.0.0/28 \
--region=$region \
--purpose=PRIVATE_SERVICE_CONNECT
יצירת Cloud NAT
כדי להתקין את החבילות המתאימות לשירותי הבעלים שלנו, צריך Cloud NAT.
מ-Cloud Shell
gcloud compute routers create $region-cr \
--network=producer-vpc \
--region=$region
מ-Cloud Shell
gcloud compute routers nats create $region-nat \
--router=$region-cr \
--region=$region \
--nat-all-subnet-ip-ranges \
--auto-allocate-nat-external-ips
יצירת מדיניות וכללים לחומת אש ברשת
מ-Cloud Shell
gcloud compute network-firewall-policies create producer-vpc-policy --global
gcloud compute network-firewall-policies associations create \
--firewall-policy producer-vpc-policy \
--network producer-vpc \
--name network-producer-vpc \
--global-firewall-policy
כדי לאפשר ל-IAP להתחבר למכונות הווירטואליות, צריך ליצור כלל חומת אש ש:
- רלוונטי לכל מכונות ה-VM שרוצים לגשת אליהן באמצעות IAP.
- מאפשר תנועה נכנסת מטווח כתובות ה-IP 35.235.240.0/20. הטווח הזה מכיל את כל כתובות ה-IP שמשמשות את IAP להעברת TCP.
מ-Cloud Shell
gcloud compute network-firewall-policies rules create 1000 \
--action ALLOW \
--firewall-policy producer-vpc-policy \
--description "SSH with IAP" \
--direction INGRESS \
--src-ip-ranges 35.235.240.0/20 \
--layer4-configs tcp:22 \
--global-firewall-policy
נתחיל עם שלושה כללים לחומת האש. אחת תאפשר גישה למכונות וירטואליות לבדיקות התקינות של מאזן העומסים (2000), אחת תאפשר גישה למכונות וירטואליות מטווח ה-NAT של PSC (3000), ואחת תאפשר קישוריות בין מכונות וירטואליות ברשת המשנה של השירות למטרות בדיקה (4000). אנחנו ניצור את כל הכללים עבור יציאה 80 כי נשתמש ביציאה הזו לשירות שלנו.
מ-Cloud Shell
gcloud compute network-firewall-policies rules create 2000 \
--action ALLOW \
--firewall-policy producer-vpc-policy \
--description "LB healthchecks" \
--direction INGRESS \
--src-ip-ranges 130.211.0.0/22,35.191.0.0/16 \
--layer4-configs tcp:80 \
--global-firewall-policy
gcloud compute network-firewall-policies rules create 3000 \
--action ALLOW \
--firewall-policy producer-vpc-policy \
--description "allow access from PSC NAT subnet" \
--direction INGRESS \
--src-ip-ranges 10.100.0.0/28 \
--layer4-configs tcp:80 \
--global-firewall-policy
gcloud compute network-firewall-policies rules create 4000 \
--action ALLOW \
--firewall-policy producer-vpc-policy \
--description "allow access between producer service VMs and testing client for testing purposes" \
--direction INGRESS \
--src-ip-ranges 10.0.0.0/28 \
--layer4-configs tcp:80 \
--global-firewall-policy
6. יצירת שירות מנוהל [פרויקט של הבעלים של השירות]
ניצור שירות אינטרנט פשוט של Apache באמצעות קבוצת מופעים לא מנוהלת שמציגה את הטקסט I am a Producer Service.
יצירת מכונה
מ-Cloud Shell
gcloud compute instances create producer-service-vm \
--network producer-vpc \
--subnet producer-service-subnet \
--zone $zone \
--no-address \
--metadata startup-script='#! /bin/bash
sudo apt-get update
sudo apt-get install apache2 -y
a2enmod ssl
sudo a2ensite default-ssl
echo "I am a Producer Service." | \
tee /var/www/html/index.html
systemctl restart apache2'
יצירת קבוצת מופעים לא מנוהלת
מ-Cloud Shell
gcloud compute instance-groups unmanaged create producer-uig \ --zone=$zone
מוסיפים את producer-service-vm לקבוצת המופעים הלא מנוהלת שיצרנו.
מ-Cloud Shell
gcloud compute instance-groups unmanaged add-instances producer-uig \ --zone=$zone \ --instances=producer-service-vm
יצירת רכיבים של מאזן עומסים
בגרסה 1 של שירות היצרן, נחשוף את השירות באמצעות מאזן עומסים להעברת סיגנל ללא שינוי ביציאה 80.
פורסים את בדיקת התקינות ליציאה 80.
מ-Cloud Shell
gcloud compute health-checks create http producer-hc \
--region=$region
פורסים את שירות הקצה העורפי ומוסיפים את הקצה העורפי לשירות הקצה העורפי.
מ-Cloud Shell
gcloud compute backend-services create producer-bes \ --load-balancing-scheme=internal \ --protocol=tcp \ --region=$region \ --health-checks=producer-hc \ --health-checks-region=$region gcloud compute backend-services add-backend producer-bes \ --region=$region \ --instance-group=producer-uig \ --instance-group-zone=$zone
יוצרים את כתובת ה-IP הסטטית שתשמש לכלל ההעברה של מאזן העומסים.
מ-Cloud Shell
gcloud compute addresses create producer-fr-ip\ --region $region \ --subnet producer-fr-subnet \ --addresses 192.168.0.2
יוצרים את כלל ההעברה של מאזן העומסים שחושף את יציאה 80, באמצעות שירות לקצה העורפי וכתובת ה-IP שיצרנו קודם.
מ-Cloud Shell
gcloud compute forwarding-rules create producer-fr \ --region=$region \ --load-balancing-scheme=internal \ --network=producer-vpc \ --subnet=producer-fr-subnet \ --address=producer-fr-ip \ --ip-protocol=TCP \ --ports=80 \ --backend-service=producer-bes \ --backend-service-region=$region
7. בדיקת השירות של הבעלים [פרויקט הבעלים]
יוצרים מכונה וירטואלית לבדיקה ברשת המשנה של שירות הבעלים, מתחברים למכונה הווירטואלית ובודקים קריאה לשירות Apache.
מ-Cloud Shell
gcloud compute instances create producer-test-vm \
--zone=$zone \
--subnet=producer-service-subnet \
--no-address
מ-Cloud Shell
gcloud compute ssh producer-test-vm \
--zone=$zone \
--command="curl -s 192.168.0.2/index.html"
הפלט הצפוי
I am a Producer Service.
8. חשיפת שירות ההפקה דרך צירוף שירות [פרויקט ההפקה]
יוצרים את קובץ השירות המצורף. משייכים אותו לכלל ההעברה שיצרנו באמצעות psc-nat-subnet.
מ-Cloud Shell
gcloud compute service-attachments create producer-attachment \
--region=$region \
--producer-forwarding-rule=producer-fr \
--connection-preference=ACCEPT_AUTOMATIC \
--nat-subnets=psc-nat-subnet
חשוב לרשום את ה-URI של Service Attachment (selfLink), כי תצטרכו אותו בשלב הבא בהגדרת נקודת הקצה של PSC. אפשר לקבל אותו על ידי הפעלת הפקודה הבאה ב-Cloud Shell.
מ-Cloud Shell
gcloud compute service-attachments describe producer-attachment --region=$region
פלט לדוגמה
connectionPreference: ACCEPT_AUTOMATIC creationTimestamp: '2026-02-10T07:50:04.250-08:00' description: '' enableProxyProtocol: false fingerprint: xxx id: 'xxx' kind: compute#serviceAttachment name: producer-attachment natSubnets: - https://www.googleapis.com/compute/v1/projects/$project/regions/$region/subnetworks/psc-nat-subnet pscServiceAttachmentId: high: 'xxx' low: 'xxx' reconcileConnections: false region: https://www.googleapis.com/compute/v1/projects/$project/regions/$region selfLink: https://www.googleapis.com/compute/v1/projects/$project/regions/$region/serviceAttachments/producer-attachment targetService: https://www.googleapis.com/compute/v1/projects/$project/regions/$region/forwardingRules/producer-fr
מעתיקים את ה-URI החל מ-projects
דוגמה: projects/$project/regions/$region/serviceAttachments/producer-attachment
9. בניית רשת צרכנים [פרויקט צרכנים]
יצירת רשת VPC
מ-Cloud Shell
gcloud compute networks create consumer-vpc \
--subnet-mode=custom
יצירת רשת משנה
תופעל רשת משנה אחת שבה נפרוס את נקודת הקצה של PSC ואת המכונה הווירטואלית של לקוח הבדיקה.
מ-Cloud Shell
gcloud compute networks subnets create consumer-subnet \
--network=consumer-vpc \
--range=10.0.0.0/28 \
--region=$region
יצירת מדיניות וכללים לחומת אש ברשת
מ-Cloud Shell
gcloud compute network-firewall-policies create consumer-vpc-policy --global
gcloud compute network-firewall-policies associations create \
--firewall-policy consumer-vpc-policy \
--network consumer-vpc \
--name network-consumer-vpc \
--global-firewall-policy
בנוסף, נגדיר את consumer-vpc כך שישתמש ב-IAP ל-SSH.
מ-Cloud Shell
gcloud compute network-firewall-policies rules create 1000 \
--action ALLOW \
--firewall-policy consumer-vpc-policy \
--description "SSH with IAP" \
--direction INGRESS \
--src-ip-ranges 35.235.240.0/20 \
--layer4-configs tcp:22 \
--global-firewall-policy
10. יצירת נקודת קצה של Private Service Connect [פרויקט צרכן]
שומרים את כתובת ה-IP הסטטית שתשמש לנקודת הקצה של PSC.
מ-Cloud Shell
gcloud compute addresses create psc-endpoint-ip \
--region=$region \
--subnet=consumer-subnet \
--addresses 10.0.0.2
יוצרים את נקודת הקצה (endpoint) של PSC באמצעות כתובת ה-IP הסטטית השמורה וכתובת ה-URI של קובץ השירות שציינו קודם.
מ-Cloud Shell
gcloud compute forwarding-rules create psc-endpoint \ --region=$region \ --network=consumer-vpc \ --address=psc-endpoint-ip \ --target-service-attachment=projects/$project/regions/$region/serviceAttachments/producer-attachment
11. הגדרת תחום DNS פרטי לנקודת הקצה של PSC [פרויקט הצרכן]
באמצעות Cloud DNS, נגדיר תחום DNS פרטי עם שם ה-DNS myservice.com, לשימוש עם נקודת הקצה (endpoint) של PSC.
מ-Cloud Shell
gcloud dns managed-zones create "consumer-service" \
--dns-name=myservice.com \
--description="consumer service dns" \
--visibility=private \
--networks=consumer-vpc
gcloud dns record-sets transaction start \
--zone="consumer-service"
יוצרים רשומת A בשביל myservice.com ומפנים אותה לכתובת ה-IP של נקודת הקצה של PSC.
מ-Cloud Shell
gcloud dns record-sets transaction add 10.0.0.2 \ --name=myservice.com \ --ttl=300 \ --type=A \ --zone="consumer-service" gcloud dns record-sets transaction execute \ --zone="consumer-service"
12. בדיקת נקודת הקצה של PSC [פרויקט צרכן]
יצירת מכונה וירטואלית של לקוח
מ-Cloud Shell
gcloud compute instances create consumer-client-vm \
--zone=$zone \
--subnet=consumer-subnet \
--no-address
בדיקת הקישוריות של נקודת קצה של PSC
מ-Cloud Shell
gcloud compute ssh consumer-client-vm \
--zone=$zone \
--command="curl -s myservice.com/index.html"
הפלט הצפוי
I am a Producer Service.
בחלק הבא של ה-codelab, ניצור את שירות היצרן החדש ונעבור אליו. נציג את התכונה 'שינוי' של PSC, שמאפשרת את העדכון החלק הזה בלי לדרוש עדכונים בהגדרות בצד הצרכן.
13. יצירת שירות מנוהל מעודכן [פרויקט של ספק שירות]
כדי לעדכן את שירות היצרן, נפרוס מכונה וירטואלית חדשה שמריצה שרת אינטרנט דומה של Apache עם ההודעה 'I am a NEW Producer service'. אנחנו נוסיף את ה-VM הזה לקבוצת מכונות חדשה לא מנוהלת, ונשתמש בקבוצת המכונות הלא מנוהלת הזו כקצה עורפי למאזן העומסים החדש שלנו. במקום להשתמש במאזן עומסים להעברת סיגנל ללא שינוי ברשת, נעדכן את מאזן העומסים למאזן עומסים פנימי אזורי של אפליקציות (ALB).
עדכון הרשת
יוצרים רשת משנה חדשה שתשמש כרשת משנה של פרוקסי בלבד עבור מאזן העומסים של האפליקציה.
מ-Cloud Shell
gcloud compute networks subnets create lb-proxy-subnet \
--network=producer-vpc \
--range=10.200.0.0/24 \
--region=$region \
--purpose=REGIONAL_MANAGED_PROXY \
--role=ACTIVE
יוצרים רשת משנה חדשה שבה השירות החדש יתארח.
מ-Cloud Shell
gcloud compute networks subnets create producer-service-new-subnet \
--network=producer-vpc \
--range=10.0.1.0/28 \
--region=$region
יוצרים כלל חומת אש חדש שיאפשר קישוריות לשירות ה-producer החדש שלנו מתת-הרשת של שרת ה-Proxy בלבד.
מ-Cloud Shell
gcloud compute network-firewall-policies rules create 3001 \
--action ALLOW \
--firewall-policy producer-vpc-policy \
--description "allow access from proxy only subnet" \
--direction INGRESS \
--src-ip-ranges 10.200.0.0/24 \
--layer4-configs tcp:80 \
--global-firewall-policy
יצירת מכונה
מ-Cloud Shell
gcloud compute instances create new-producer-service-vm \
--network producer-vpc \
--subnet producer-service-new-subnet \
--zone $zone \
--no-address \
--metadata startup-script='#! /bin/bash
sudo apt-get update
sudo apt-get install apache2 -y
a2enmod ssl
sudo a2ensite default-ssl
echo "I am a NEW Producer Service." | \
tee /var/www/html/index.html
systemctl restart apache2'
יצירת קבוצת מופעים לא מנוהלת
מ-Cloud Shell
gcloud compute instance-groups unmanaged create producer-new-uig \
--zone=$zone
gcloud compute instance-groups unmanaged add-instances producer-new-uig \
--zone=$zone \
--instances=new-producer-service-vm
gcloud compute instance-groups unmanaged set-named-ports producer-new-uig \
--named-ports=http:80 \
--zone=$zone
יצירה של רכיבים חדשים של מאזן עומסים
יוצרים את שירות הקצה העורפי. שימו לב שאנחנו משתמשים בסכימת איזון העומסים INTERNAL_MANAGED כי אנחנו מעדכנים למאזן עומסים של אפליקציות פנימי.
מ-Cloud Shell
gcloud compute backend-services create producer-new-bes \ --load-balancing-scheme=INTERNAL_MANAGED \ --protocol=http \ --region=$region \ --health-checks=producer-hc \ --health-checks-region=$region
מוסיפים את קבוצת המכונות הלא מנוהלת בתור קצה עורפי לשירות הקצה העורפי.
מ-Cloud Shell
gcloud compute backend-services add-backend producer-new-bes \ --region=$region \ --instance-group=producer-new-uig \ --instance-group-zone=$zone
יוצרים את מיפוי כתובות ה-URL ואת שרתי ה-proxy של HTTP.
מ-Cloud Shell
gcloud compute url-maps create producer-url-map \ --default-service=producer-new-bes \ --region=$region gcloud compute target-http-proxies create http-proxy \ --url-map=producer-url-map \ --region=$region
יוצרים את כתובת ה-IP הסטטית שבה נשתמש בכלל ההעברה. ההודעה תגיע מאותה רשת משנה שבה השתמשנו לכלל ההעברה המקורי.
מ-Cloud Shell
gcloud compute addresses create producer-fr-new-ip\ --region $region \ --subnet producer-fr-subnet \ --addresses 192.168.0.3
יוצרים את כלל ההעברה.
מ-Cloud Shell
gcloud compute forwarding-rules create new-producer-fr \ --load-balancing-scheme=INTERNAL_MANAGED \ --network=producer-vpc \ --subnet=producer-fr-subnet \ --address=producer-fr-new-ip \ --ports=80 \ --region=$region \ --target-http-proxy=http-proxy \ --target-http-proxy-region=$region
14. בדיקת שירות הייצור המעודכן [פרויקט הייצור]
נשתמש באותה מכונה וירטואלית לבדיקה שיצרנו כדי לבדוק את השירות שפרסנו במקור.
מ-Cloud Shell
gcloud compute ssh producer-test-vm \
--zone=$zone \
--command="curl -s 192.168.0.3/index.html"
שימו לב שאנחנו מתקשרים מכתובת IP מעודכנת. 192.168.0.3 היא כתובת ה-IP של מאזן העומסים הפנימי האזורי של האפליקציה.
הפלט הצפוי
I am a NEW Producer Service.
15. עדכון קובץ מצורף של שירות [פרויקט של ספק שירות]
כדי להמחיש את העדכון של כלל ההעברה של Service Attachment, אפשר להריץ תיאור של Service Attachment לפני השינוי ואחריו.
מ-Cloud Shell
gcloud compute service-attachments describe producer-attachment \
--region=$region \
--format="value(targetService)"
הפלט הצפוי
https://www.googleapis.com/compute/v1/projects/$project/regions/$region/forwardingRules/producer-fr
מעדכנים את קובץ השירות.
מ-Cloud Shell
gcloud compute service-attachments update producer-attachment \ --region=$region \ --target-service=projects/$project/regions/$region/forwardingRules/new-producer-fr
עכשיו מריצים שוב את הפקודה describe כדי לראות את כלל ההעברה החדש.
מ-Cloud Shell
gcloud compute service-attachments describe producer-attachment \
--region=$region \
--format="value(targetService)"
הפלט הצפוי
https://www.googleapis.com/compute/v1/projects/$project/regions/$region/forwardingRules/new-producer-fr
16. בדיקה מחדש של החיבור ל-PSC של הצרכן [פרויקט הצרכן]
מתחברים לאותו לקוח צרכן.
מ-Cloud Shell
gcloud compute ssh consumer-client-vm \
--zone=$zone \
--command="curl -s myservice.com/index.html"
הפלט הצפוי
I am a NEW Producer Service.
מעולה! עדכנתם בהצלחה מאזן עומסים של שירות יצרן ב-PSC, ולא היה צורך לבצע שינויים בהגדרות בצד הצרכן.
17. שלבי ניקוי [פרויקט לצרכנים]
מחיקת רכיבי מעבדה ממסוף Cloud Shell יחיד
gcloud dns record-sets delete myservice.com --zone="consumer-service" --type=A -q gcloud dns managed-zones delete "consumer-service" -q gcloud compute forwarding-rules delete psc-endpoint --region=$region -q gcloud compute addresses delete psc-endpoint-ip --region=$region -q gcloud compute instances delete consumer-client-vm --zone=$zone --project $project -q gcloud compute network-firewall-policies rules delete 1000 --firewall-policy consumer-vpc-policy --global-firewall-policy -q gcloud compute network-firewall-policies associations delete --firewall-policy=consumer-vpc-policy --name=network-consumer-vpc --global-firewall-policy -q gcloud compute network-firewall-policies delete consumer-vpc-policy --global -q gcloud compute networks subnets delete consumer-subnet --region $region -q gcloud compute networks delete consumer-vpc -q
18. שלבי הניקוי [פרויקט של יוצר תוכן]
מחיקת רכיבי מעבדה ממסוף Cloud Shell יחיד
gcloud compute service-attachments delete producer-attachment --region=$region -q gcloud compute instances delete producer-test-vm --zone=$zone --project $project -q gcloud compute forwarding-rules delete new-producer-fr --region=$region -q gcloud compute addresses delete producer-fr-new-ip --region $region -q gcloud compute target-http-proxies delete http-proxy --region $region -q gcloud compute url-maps delete producer-url-map --region $region -q gcloud compute backend-services delete producer-new-bes --region $region -q gcloud compute instance-groups unmanaged delete producer-new-uig --zone $zone -q gcloud compute instances delete new-producer-service-vm --zone $zone --project $project -q gcloud compute networks subnets delete producer-service-new-subnet --region $region -q gcloud compute networks subnets delete lb-proxy-subnet --region $region -q gcloud compute forwarding-rules delete producer-fr --region=$region -q gcloud compute addresses delete producer-fr-ip --region $region -q gcloud compute backend-services delete producer-bes --region $region -q gcloud compute health-checks delete producer-hc --region $region -q gcloud compute instance-groups unmanaged delete producer-uig --zone $zone -q gcloud compute instances delete producer-service-vm --zone $zone --project $project -q gcloud compute network-firewall-policies rules delete 4000 --firewall-policy producer-vpc-policy --global-firewall-policy -q gcloud compute network-firewall-policies rules delete 3001 --firewall-policy producer-vpc-policy --global-firewall-policy -q gcloud compute network-firewall-policies rules delete 3000 --firewall-policy producer-vpc-policy --global-firewall-policy -q gcloud compute network-firewall-policies rules delete 2000 --firewall-policy producer-vpc-policy --global-firewall-policy -q gcloud compute network-firewall-policies rules delete 1000 --firewall-policy producer-vpc-policy --global-firewall-policy -q gcloud compute network-firewall-policies associations delete --firewall-policy=producer-vpc-policy --name=network-producer-vpc --global-firewall-policy -q gcloud compute network-firewall-policies delete producer-vpc-policy --global -q gcloud compute routers nats delete $region-nat --router=$region-cr --region=$region -q gcloud compute routers delete $region-cr --region=$region -q gcloud compute networks subnets delete psc-nat-subnet --region=$region -q gcloud compute networks subnets delete producer-fr-subnet --region=$region -q gcloud compute networks subnets delete producer-service-subnet --region=$region -q gcloud compute networks delete producer-vpc -q
19. מעולה!
כל הכבוד, סיימתם את ה-Codelab.
מה נכלל
- יוצרים שירות אינטרנט פשוט של Apache שנחשף כשירות בעלים של PSC.
- יוצרים נקודת קצה של PSC.
- יוצרים אזור פרטי ב-Cloud DNS עבור קריאות השירות של הצרכן.
- מעדכנים את כלל ההעברה שמשויך ל-Service Attachment באמצעות PSC Mutability.