Private Service Connect 66

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

11a36b2a52d60fe7.png

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

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

  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 הזה בדפדפן. לא צריך להתקין שום דבר.

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

130648bcdb9266b1.png

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

רשת המשנה של 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 → שירותים שפורסמו

4356b8ab4a385eb6.png

312795be39b21f62.png

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

f0cb0565e4af4c72.png

יצירת רשת משנה

ב-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 ‏→ נקודות קצה מחוברות

1ee60ea44c5027dd.png

בדיקת הקישוריות

ב-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 הם מדהימים!!

c911c127bffdee57.jpeg

מה השלב הבא?

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

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

מאמרי עזרה