1. מבוא
Private Service Connect משנה את האופן שבו ארגונים משתמשים בשירותים במערכת האקולוגית של Google Cloud, ומספק תמיכה מלאה בכתובות IPv6 לצד כתובות IPv4. הוא משלב אבטחה משופרת, קישוריות פשוטה, ביצועים משופרים וניהול מרכזי, ולכן הוא פתרון אידיאלי לעסקים שמחפשים מודל צריכת שירותים חזק, אמין ויעיל שמוכן לעתיד של הרשתות. בין אם אתם בונים ענן היברידי, משתפים שירותים בארגון או ניגשים לשירותים של צד שלישי, PSC מציע דרך חלקה ומאובטחת לנצל את מלוא הפוטנציאל של Google Cloud, תוך שימוש ביתרונות של IPv6.
מה תלמדו
- היתרונות העיקריים של PSC 66
- תרגום נתמך של Private Service Connect 66
- סקירה כללית על Dual Stack ULA
- דרישות רשת
- יצירת שירות הפקה של Private Service Connect
- יצירת נקודת קצה של Private Service Connect
- יצירת קישוריות לנקודת הקצה של Private Service Connect ממכונה וירטואלית עם תמיכה ב-IPv4 ו-IPv6
מה תצטרכו
- פרויקט ב-Google Cloud עם הרשאות בעלים
2. מה תפַתחו
תקימו רשת Producer כדי לפרוס שרת אינטרנט של Apache כשירות שפורסם באמצעות Private Service Connect (PSC). אחרי הפרסום, תבצעו את הפעולות הבאות כדי לאמת את הגישה לשירות Producer:
- מ-VPC של הצרכן, מופע GCE עם מחסנית כפולה, מכוונים לנקודת הקצה של PSC ב-IPv6 כדי להגיע לשירות של הבעלים.
היתרונות העיקריים של PSC 66
- שילוב חלק: PSC משתלב בצורה חלקה עם רשתות VPC שהוגדרו ל-IPv6, ומאפשר לכם ליהנות מהיתרונות של כתובות IPv6 לחיבורי השירות שלכם.
- תמיכה ב-Dual-Stack: PSC תומך בהגדרות Dual-Stack, שמאפשרות שימוש בו-זמני ב-IPv4 וב-IPv6 באותו VPC, ומספקות גמישות והגנה על הרשת שלכם מפני שינויים עתידיים.
- מעבר פשוט יותר: PSC מאפשר מעבר פשוט יותר ל-IPv6, כי אפשר להטמיע את IPv6 בהדרגה לצד תשתית IPv4 הקיימת.
- תמיכה במפיק: המפיק נדרש לאמץ מחסנית כפולה, וכתוצאה מכך נקודת קצה של צרכן PSC רק עם IPv6.
3. תרגום נתמך של Private Service Connect 64 ו-66
שיקולים של צרכנים
גרסת ה-IP של נקודת הקצה יכולה להיות IPv4 או IPv6, אבל לא שתיהן. צרכנים יכולים להשתמש בכתובת IPv4 אם תת-הרשת של הכתובת היא single-stack. צרכנים יכולים להשתמש בכתובת IPv4 או IPv6 אם רשת המשנה של הכתובת היא בעלת מחסנית כפולה. צרכנים יכולים לחבר נקודות קצה של IPv4 ו-IPv6 לאותו קובץ מצורף של שירות, מה שיכול לעזור בהעברת שירותים ל-IPv6.
שיקולים למפיקים
גרסת ה-IP של כלל ההעברה של הבעלים של השירות המנוהל קובעת את גרסת ה-IP של קובץ השירות המצורף ושל התעבורה שיוצאת מקובץ השירות המצורף. גרסת ה-IP של קובץ השירות יכולה להיות IPv4 או IPv6, אבל לא שתיהן. מפיקים יכולים להשתמש בכתובת IPv4 אם תת-הרשת של הכתובת היא single-stack. מפיקים יכולים להשתמש בכתובת IPv4 או IPv6 אם רשת המשנה של הכתובת היא dual-stack.
גרסת ה-IP של כתובת ה-IP של כלל ההעברה של היצרן צריכה להיות תואמת לסוג מחסנית הפרוטוקולים של רשת המשנה של NAT של קובץ השירות.
- אם כלל ההעברה של היצרן הוא IPv4, רשת המשנה של ה-NAT יכולה להיות single-stack או dual-stack.
- אם כלל ההעברה של היצרן הוא IPv6, תת-הרשת של ה-NAT צריכה להיות בעלת מחסנית כפולה.
אלה השילובים האפשריים של הגדרות נתמכות:
- נקודת קצה של IPv4 לצירוף שירות של IPv4
- נקודת קצה של IPv6 לצירוף שירות IPv6
- נקודת קצה של IPv6 לקובץ מצורף של שירות IPv4 בהגדרה הזו, Private Service Connect מתרגם אוטומטית בין שתי גרסאות ה-IP.
אין תמיכה בתכונות הבאות:
Private Service Connect לא תומך בחיבור של נקודת קצה IPv4 לקובץ מצורף של שירות IPv6. במקרה כזה, יצירת נקודת הקצה תיכשל ותוצג הודעת השגיאה הבאה:
כלל העברה של Private Service Connect עם כתובת IPv4 לא יכול להיות מכוון לקובץ מצורף של שירות IPv6.
4. סקירה כללית על Dual Stack ULA
Google Cloud תומך ביצירה של רשתות משנה פרטיות של IPv6 ומכונות וירטואליות של ULA. RFC 4193 מגדיר סכמת כתובות IPv6 לתקשורת מקומית, שמתאימה במיוחד לתקשורת בתוך VPC. כתובות ULA לא ניתנות לניתוב גלובלי, ולכן המכונות הווירטואליות שלכם מבודדות לחלוטין מהאינטרנט, ומספקות התנהגות כמו RFC-1918 באמצעות IPv6. Google Cloud מאפשרת ליצור קידומות ULA של רשת VPC מסוג /48, כך שכל רשתות המשנה של IPv6 ULA מסוג /64 יוקצו מטווח רשת ה-VPC הזה.
בדומה לכתובות IPv6 חיצוניות ייחודיות באופן גלובלי שנתמכות על ידי Google Cloud, כל רשת משנה עם כתובות ULA IPv6 תקבל רשת משנה /64 מטווח ה-ULA של רשת ה-VPC /48, ולכל VM תוקצה כתובת /96 מרשת המשנה הזו.
RFC4193 מגדיר את מרחב הכתובות של IPv6 בטווח fc00::/7. אפשר להקצות כתובות ULA ולהשתמש בהן באופן חופשי בתוך רשתות פרטיות או אתרים פרטיים. Google Cloud מקצה את כל כתובות ה-ULA מהטווח fd20::/20. אפשר להגדיר ניתוב לכתובות האלה רק במסגרת רשתות VPC, ולא באינטרנט הגלובלי של IPv6.
כתובות ULA שמוקצות על ידי Google Cloud הן ייחודיות בכל רשתות ה-VPC. ב-Google Cloud מוודאים שלא מוקצית אותה קידומת ULA לשתי רשתות VPC. כך נמנעת הבעיה של טווחים חופפים ברשתות VPC.
אתם יכולים לאפשר ל-Google Cloud להקצות באופן אוטומטי את הקידומת /48 לרשת שלכם, או לבחור קידומת IPv6 ספציפית של /48. אם קידומת ה-IPv6 שציינתם כבר הוקצתה ל-VPC אחר או לרשת המקומית שלכם, תוכלו לבחור טווח אחר.
5. דרישות רשת
בהמשך מפורטות הדרישות של רשת הצרכנים ורשת היוצרים:
רשת צרכנית (כל הרכיבים נפרסים ב-us-central1)
רכיבים | תיאור |
VPC | רשתות עם תמיכה כפולה ב-IPv4 ו-IPv6 דורשות VPC במצב מותאם אישית עם ULA מופעל |
נקודת קצה של PSC | נקודת קצה ב-PSC ב-IPv6 שמשמשת לגישה לשירות היצרן |
רשתות משנה | Dual-stack |
GCE | Dual-stack |
רשת של יוצרים(כל הרכיבים נפרסים באזור us-central1)
רכיבים | תיאור |
VPC | רשתות עם תמיכה כפולה ב-IPv4 ו-IPv6 דורשות VPC במצב מותאם אישית עם ULA מופעל |
רשת משנה של NAT ב-PSC | Dual-stack. מנות מרשת ה-VPC של הצרכן מתורגמות באמצעות NAT של המקור (SNAT), כך שכתובות ה-IP המקוריות שלהן מומרות לכתובות IP של המקור מרשת המשנה של ה-NAT ברשת ה-VPC של היצרן. |
כלל העברה של PSC | Dual-stack. מאזן עומסי רשת פנימי להעברת סיגנל ללא שינוי |
כלל תעבורה נכנסת (ingress) שרלוונטי למכונות שמתבצע בהן איזון עומסים, שמאפשר תעבורת נתונים ממערכות בדיקת תקינות ב-Google Cloud (2600:2d00:1:b029::/64). | |
שירות לקצה העורפי | שירות לקצה העורפי משמש כגשר בין מאזן העומסים לבין משאבי הקצה העורפי. במדריך, שירות ה-Backend משויך לקבוצת המופעים הלא מנוהלת. |
קבוצת מופעים לא מנוהלת | יש תמיכה במכונות וירטואליות שנדרשת בהן הגדרה או כוונון פרטניים. לא תומך בהתאמה אוטומטית של קנה מידה. |
6. טופולוגיית Codelab

7. הגדרה ודרישות
הגדרת סביבה בקצב אישי
- נכנסים ל-מסוף 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 הזה בדפדפן. לא צריך להתקין שום דבר.
8. לפני שמתחילים
הפעלת ממשקי ה-API
ב-Cloud Shell, מוודאים שמזהה הפרויקט מוגדר:
gcloud config list project gcloud config set project [YOUR-PROJECT-ID] project=[YOUR-PROJECT-ID] region=us-central1 echo $project echo $region
מפעילים את כל השירותים הנדרשים:
gcloud services enable compute.googleapis.com
9. יצירת רשת VPC של ספק
רשת VPC
ב-Cloud Shell, מבצעים את הפעולות הבאות:
gcloud compute networks create producer-vpc --subnet-mode custom --enable-ula-internal-ipv6
Google מקצה רשת משנה ייחודית ברמה הגלובלית ( /48) ל-Consumer VPC. כדי לראות את ההקצאה, מבצעים את הפעולות הבאות:
ב-Cloud Console, עוברים אל:
רשתות VPC

יצירת תת-רשתות
רשת המשנה של PSC תשויך לקובץ המצורף של שירות PSC לצורך תרגום כתובות רשת (NAT). בתרחישי שימוש בסביבת ייצור, צריך להגדיר את הגודל של רשת המשנה בצורה מתאימה כדי לתמוך בכמות תעבורת הנתונים הנכנסת מכל נקודות הקצה המצורפות של PSC. מידע נוסף זמין במאמרי העזרה בנושא קביעת גודל של רשת משנה ל-NAT ב-PSC.
ב-Cloud Shell, יוצרים את תת-הרשת של PSC NAT:
gcloud compute networks subnets create producer-nat-dual-stack-subnet --network producer-vpc --range 172.16.10.0/28 --region $region --purpose=PRIVATE_SERVICE_CONNECT --stack-type=IPV4_IPV6 --ipv6-access-type=INTERNAL
תצטרכו להשיג ולרשום את כתובת ה-IPv6 של רשת המשנה producer-nat-dual-stack-subnet שבה תשתמשו בשלב מאוחר יותר כדי ליצור כלל חומת אש לכניסה שיאפשר לרשת המשנה של NAT ב-PSC לגשת לעורף של מאזן העומסים.
ב-Cloud Shell, מקבלים את תת-הרשת של PSC NAT IPv6.
gcloud compute networks subnets describe producer-nat-dual-stack-subnet --region=us-central1 | grep -i internalIpv6Prefix:
התוצאה הצפויה:
user@cloudshell$ gcloud compute networks subnets describe producer-nat-dual-stack-subnet --region=us-central1 | grep -i internalIpv6Prefix: internalIpv6Prefix: fd20:b4a:ea9f:2:0:0:0:0/64
ב-Cloud Shell, יוצרים את תת-הרשת של כלל העברת התנועה של היצרן:
gcloud compute networks subnets create producer-dual-stack-fr-subnet --network producer-vpc --range 172.16.20.0/28 --region $region --enable-private-ip-google-access --stack-type=IPV4_IPV6 --ipv6-access-type=INTERNAL
ב-Cloud Shell, יוצרים את תת-הרשת של המכונה הווירטואלית של המפיק:
gcloud compute networks subnets create producer-dual-stack-vm-subnet --network producer-vpc --range 172.16.30.0/28 --region $region --enable-private-ip-google-access --stack-type=IPV4_IPV6 --ipv6-access-type=INTERNAL
יצירת שער NAT ציבורי
למכונה הווירטואלית של היצרן נדרשת גישה לאינטרנט כדי להוריד את Apache, אבל למופע GCE אין כתובת IP חיצונית. לכן, Cloud NAT יספק תעבורת נתונים יוצאת (egress) לאינטרנט להורדת החבילה.
ב-Cloud Shell, יוצרים את Cloud Router:
gcloud compute routers create producer-cloud-router --network producer-vpc --region us-central1
ב-Cloud Shell, יוצרים את שער Cloud NAT כדי לאפשר יציאה לאינטרנט:
gcloud compute routers nats create producer-nat-gw --router=producer-cloud-router --auto-allocate-nat-external-ips --nat-all-subnet-ip-ranges --region us-central1
יצירת מדיניות של חומת אש ברשת וכללים לחומת האש
ב-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 producer-vpc --global-firewall-policy
כדי לאפשר ל-IAP להתחבר למכונות הווירטואליות, צריך ליצור כלל חומת אש ש:
- רלוונטי לכל מכונות ה-VM שרוצים לגשת אליהן באמצעות IAP.
- מאפשר תעבורת נתונים נכנסת (ingress) מטווח כתובות ה-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
כלל חומת האש הבא מאפשר תעבורת נתונים מטווח בדיקת התקינות לכל המופעים ברשת. בסביבת ייצור, כלל חומת האש הזה צריך להיות מוגבל רק למופעים שמשויכים לשירות הספציפי של בעל השירות.
ב-Cloud Shell, מבצעים את הפעולות הבאות:
gcloud compute network-firewall-policies rules create 2000 --action ALLOW --firewall-policy producer-vpc-policy --description "allow traffic from health check probe range" --direction INGRESS --src-ip-ranges 2600:2d00:1:b029::/64 --layer4-configs tcp:80 --global-firewall-policy
כלל חומת האש הבא מאפשר תעבורת נתונים מטווח כתובות ה-NAT של PSC לכל המכונות ברשת. בסביבת ייצור, כלל חומת האש הזה צריך להיות מוגבל רק למופעים שמשויכים לשירות הספציפי של בעל השירות.
מעדכנים את כלל חומת האש <insert-your-psc-nat-ipv6-subnet> עם רשת המשנה של NAT ב-PSC ב-IPv6 שהתקבלה קודם ב-codelab.
ב-Cloud Shell, מבצעים את הפעולות הבאות:
gcloud compute network-firewall-policies rules create 2001 --action ALLOW --firewall-policy producer-vpc-policy --description "allow traffic from PSC NAT subnet" --direction INGRESS --src-ip-ranges <insert-your-psc-nat-ipv6-subnet> --global-firewall-policy --layer4-configs=tcp
יצירת מכונת ה-VM של היצרן
ב-Cloud Shell, יוצרים את שרת האינטרנט של Apache במכונה producer-vm:
gcloud compute instances create producer-vm \
--project=$project \
--machine-type=e2-micro \
--image-family debian-12 \
--no-address \
--image-project debian-cloud \
--zone us-central1-a \
--subnet=producer-dual-stack-vm-subnet \
--stack-type=IPV4_IPV6 \
--metadata startup-script="#! /bin/bash
sudo apt-get update
sudo apt-get install apache2 -y
sudo service apache2 restart
echo 'Welcome to Producer-VM !!' | tee /var/www/html/index.html
EOF"
ב-Cloud Shell, יוצרים קבוצה של מופעי מכונה לא מנוהלים שכוללת את מופע producer-vm ובדיקת תקינות:
gcloud compute instance-groups unmanaged create producer-instance-group --zone=us-central1-a gcloud compute instance-groups unmanaged add-instances producer-instance-group --zone=us-central1-a --instances=producer-vm gcloud compute health-checks create http hc-http-80 --port=80
10. יצירת שירות של ספק
יצירת רכיבים של מאזן עומסים
ב-Cloud Shell, מבצעים את הפעולות הבאות:
gcloud compute backend-services create producer-backend-svc --load-balancing-scheme=internal --protocol=tcp --region=us-central1 --health-checks=hc-http-80 gcloud compute backend-services add-backend producer-backend-svc --region=us-central1 --instance-group=producer-instance-group --instance-group-zone=us-central1-a
הוקצתה כתובת IPv6 לכלל ההעברה של היצרן (מאזן עומסי רשת פנימי).
ב-Cloud Shell, מבצעים את הפעולות הבאות:
gcloud compute addresses create producer-fr-ipv6-address \
--region=us-central1 \
--subnet=producer-dual-stack-fr-subnet \
--ip-version=IPV6
בתחביר הבא, יוצרים כלל העברה (מאזן עומסי רשת פנימי) עם כתובת IPv6 מוגדרת מראש producer-fr-ipv6-address שמשויכת לשירות הקצה העורפי, producer-backend-svc
ב-Cloud Shell, מבצעים את הפעולות הבאות:
gcloud compute forwarding-rules create producer-fr --region=us-central1 --load-balancing-scheme=internal --network=producer-vpc --subnet=producer-dual-stack-fr-subnet --address=producer-fr-ipv6-address --ip-protocol=TCP --ports=all --backend-service=producer-backend-svc --backend-service-region=us-central1 --ip-version=IPV6
יצירת קובץ מצורף לשירות
ב-Cloud Shell, יוצרים את קובץ השירות:
gcloud compute service-attachments create ipv6-producer-svc-attachment --region=$region --producer-forwarding-rule=producer-fr --connection-preference=ACCEPT_AUTOMATIC --nat-subnets=producer-nat-dual-stack-subnet
לאחר מכן, צריך לקבל ולרשום את קובץ השירות המצורף שמופיע ב-URI של selfLink שמתחיל ב-projects, כדי להגדיר את נקודת הקצה של PSC בסביבת הצרכן.
selfLink: projects/<your-project-id>/regions/us-central1/serviceAttachments/ipv4-producer-svc-attachment
ב-Cloud Shell, מבצעים את הפעולות הבאות:
gcloud compute service-attachments describe ipv6-producer-svc-attachment --region=$region
פלט לדוגמה
connectionPreference: ACCEPT_AUTOMATIC creationTimestamp: '2024-08-27T05:59:17.188-07:00' description: '' enableProxyProtocol: false fingerprint: EaultrFOzc4= id: '8752850315312657226' kind: compute#serviceAttachment name: ipv6-producer-svc-attachment natSubnets: - https://www.googleapis.com/compute/v1/projects/projectid/regions/us-central1/subnetworks/producer-nat-dual-stack-subnet pscServiceAttachmentId: high: '1053877600257000' low: '8752850315312657226' reconcileConnections: false region: https://www.googleapis.com/compute/v1/projects/projectid/regions/us-central1 selfLink: https://www.googleapis.com/compute/v1/projects/projectid/regions/us-central1/serviceAttachments/ipv6-producer-svc-attachment targetService: https://www.googleapis.com/compute/v1/projects/projectid/regions/us-central1/forwardingRules/producer-fr
ב-Cloud Console, עוברים אל:
שירותי רשת → Private Service Connect → שירותים שפורסמו


11. יצירת רשת VPC של צרכן
רשת VPC
ב-Cloud Shell, יוצרים את ה-VPC של הצרכן עם ULA של IPv6 מופעל:
gcloud compute networks create consumer-vpc \
--subnet-mode=custom \
--enable-ula-internal-ipv6
Google מקצה רשת משנה ייחודית ברמה הגלובלית ( /48) ל-Consumer VPC. כדי לראות את ההקצאה, מבצעים את הפעולות הבאות:
ב-Cloud Console, עוברים אל:
רשתות VPC

יצירת רשת משנה
ב-Cloud Shell, יוצרים את תת-הרשת של GCE עם תמיכה כפולה ב-IPv4 ו-IPv6:
gcloud compute networks subnets create consumer-dual-stack-subnet --network consumer-vpc --range=192.168.20.0/28 --stack-type=IPV4_IPV6 --ipv6-access-type=INTERNAL --region $region --enable-private-ip-google-access
ב-Cloud Shell, יוצרים את תת-הרשת של נקודת הקצה של PSC עם תמיכה ב-IPv4 ו-IPv6:
gcloud compute networks subnets create psc-dual-stack-endpoint-subnet --network consumer-vpc --range=192.168.21.0/28 --stack-type=IPV4_IPV6 --ipv6-access-type=INTERNAL --region $region --enable-private-ip-google-access
יצירת מדיניות של חומת אש ברשת וכללים לחומת האש
ב-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 consumer-vpc --global-firewall-policy 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
רק גישת SSH מ-IAP נדרשת לרשת הצרכנים.
12. יצירת מכונה וירטואלית, נקודת קצה של PSC ובדיקת קישוריות של מחסנית כפולה
יצירת מכונה וירטואלית לבדיקה עם תמיכה ב-dual-stack
ב-Cloud Shell, יוצרים את מכונת GCE עם כתובות IPv4 ו-IPv6 ברשת המשנה עם כתובות IPv4 ו-IPv6:
gcloud compute instances create consumer-vm-ipv4-ipv6 --zone=us-central1-a --subnet=consumer-dual-stack-subnet --no-address --stack-type=IPV4_IPV6
יצירת כתובת IPv6 סטטית של נקודת קצה (endpoint) מסוג PSC
ב-Cloud Shell, יוצרים כתובת IPv6 סטטית לנקודת הקצה (endpoint) של PSC:
gcloud compute addresses create psc-ipv6-endpoint-ip --region=$region --subnet=psc-dual-stack-endpoint-subnet --ip-version=IPV6
קבלת כתובת IPv6 סטטית של נקודת קצה של PSC
ב-Cloud Shell, מקבלים את כתובת ה-IPv6 של PSC שתשמש לגישה לשירות של הספק:
gcloud compute addresses describe psc-ipv6-endpoint-ip --region=us-central1 | grep -i address:
פלט לדוגמה:
user@cloudshell$ gcloud compute addresses describe psc-ipv6-endpoint-ip --region=us-central1 | grep -i address: address: 'fd20:799:4ea3:1::'
יצירה של נקודת קצה של PSC עם IPv6
ב-Cloud Shell, מעדכנים את מזהה ה-URI של קובץ השירות עם מזהה ה-URI שצילמתם כשיוצרים את קובץ השירות, כדי ליצור את נקודת הקצה של PSC.
gcloud compute forwarding-rules create psc-ipv6-endpoint --region=$region --network=consumer-vpc --address=psc-ipv6-endpoint-ip --target-service-attachment=[SERVICE ATTACHMENT URI]
אימות של נקודת הקצה של PSC
צריך לוודא שהמפיק אישר את נקודת הקצה של PSC. ב-Cloud Console, עוברים אל:
שירותי רשת → Private Service Connect → נקודות קצה מחוברות

בדיקת הקישוריות
ב-Cloud Shell, מתחברים באמצעות SSH למכונת GCE עם כתובות IPv4 ו-IPv6, consumer-vm-ipv4-ipv6.
gcloud compute ssh --zone us-central1-a "consumer-vm-ipv4-ipv6" --tunnel-through-iap --project $project
אחרי שנכנסים למופע GCE עם תמיכה ב-IPv4 ו-IPv6, מריצים פקודת curl לנקודת הקצה psc, psc-ipv6-endpoint, באמצעות כתובות ה-IPv6 שזוהו בשלב הקודם.
curl -6 http://[insert-your-ipv6-psc-endpoint]
הפלט אמור להיראות כך:
user@consumer-vm-ipv4-ipv6$ curl -6 http://[fd20:799:4ea3:1::] Welcome to Producer-VM !!
בתוך מופע GCE consumer-vm-ipv4-ipv6, מבצעים יציאה כדי להתנתק מהמופע ולחזור אל Cloud Shell.
exit
הפלט אמור להיראות כך:
user@consumer-vm-ipv4-ipv6:~$ exit logout Connection to compute.715101668351438678 closed.
13. שלבי הניקוי
מחיקה של רכיבי מעבדה ממסוף Cloud Shell יחיד
gcloud compute forwarding-rules delete psc-ipv6-endpoint --region=us-central1 -q gcloud compute instances delete consumer-vm-ipv4-ipv6 --zone=us-central1-a -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=consumer-vpc --global-firewall-policy -q gcloud compute network-firewall-policies delete consumer-vpc-policy --global -q gcloud compute addresses delete psc-ipv6-endpoint-ip --region=us-central1 -q gcloud compute networks subnets delete consumer-dual-stack-subnet psc-dual-stack-endpoint-subnet --region=us-central1 -q gcloud compute networks delete consumer-vpc -q gcloud compute service-attachments delete ipv6-producer-svc-attachment --region=us-central1 -q gcloud compute forwarding-rules delete producer-fr --region=us-central1 -q gcloud compute backend-services delete producer-backend-svc --region=us-central1 -q gcloud compute health-checks delete hc-http-80 -q gcloud compute network-firewall-policies rules delete 2001 --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=producer-vpc --global-firewall-policy -q gcloud compute network-firewall-policies delete producer-vpc-policy --global -q gcloud compute instance-groups unmanaged delete producer-instance-group --zone=us-central1-a -q gcloud compute instances delete producer-vm --zone=us-central1-a -q gcloud compute routers nats delete producer-nat-gw --router=producer-cloud-router --router-region=us-central1 -q gcloud compute routers delete producer-cloud-router --region=us-central1 -q gcloud compute addresses delete producer-fr-ipv6-address --region=us-central1 -q gcloud compute networks subnets delete producer-dual-stack-fr-subnet producer-dual-stack-vm-subnet producer-nat-dual-stack-subnet --region=us-central1 -q gcloud compute networks delete producer-vpc -q
14. מזל טוב
השלמתם בהצלחה את ההגדרה והאימות של Private Service Connect 64.
יצרתם את התשתית של הספק, ולמדתם איך ליצור נקודת קצה של צרכן IPv6 ברשת ה-VPC של הצרכן, שמאפשרת קישוריות לשירות הספק IPv6.
Cosmopup חושב ש-codelabs הם מדהימים!!

מה השלב הבא?
כדאי לעיין ב-Codelabs הבאים…
- שימוש ב-Private Service Connect לפרסום ולצריכה של שירותים ב-GKE
- שימוש ב-Private Service Connect לפרסום ולצריכה של שירותים
- התחברות לשירותים מקומיים דרך רשת היברידית באמצעות Private Service Connect ומאזן עומסים פנימי של TCP Proxy
- גישה לכל ה-codelab שפורסמו בנושא Private Service Connect