תת-רשתות עם תמיכה כפולה מאפשרות למשאבי Cloud Run לשלוח תעבורת IPv4 ו-IPv6 לרשת VPC עם יציאה ישירה מ-VPC. אפשר לשנות תת-רשת קיימת של IPv4 בלבד (single-stack) לתת-רשת של dual-stack.
סוגי רשתות משנה
רשתות VPC תומכות בסוגים הבאים של תת-רשתות ב-Compute Engine:
רשתות משנה עם IPv4 בלבד (single-stack), עם טווחי רשת משנה של IPv4 בלבד
רשתות משנה של IPv4 ו-IPv6 (dual-stack), עם טווחי רשתות משנה של IPv4 ו-IPv6
מגבלות של Dual-stack
לפני שמשנים את סוג ה-stack במשאב קיים של Cloud Run, חשוב להביא בחשבון את המגבלות הבאות:
תמיכה ב-Dual-stack זמינה רק ברשתות משנה ברשת VPC במצב מותאם אישית. כדי שסוג הגישה הפנימית יהיה זמין לרשתות משנה עם מחסנית כפולה, צריך להפעיל את טווח ה-IPv6 הפנימי של רשת ה-VPC. מגדירים את רשת ה-VPC למצב מותאם אישית או ממירים אותה למצב מותאם אישית.
בהשוואה לרשתות משנה עם IPv4 בלבד, ברשתות משנה עם מחסנית כפולה יכול להיות שזמני האחזור של התחלה קרה יהיו גבוהים יותר, ולכן קצב ההרחבה של האפליקציה יהיה מוגבל.
אין תמיכה ב-NAT64.
לפני שמתחילים
חשוב לוודא שלסוכן השירות של Cloud Run יש את התפקיד 'אדמין של כתובות IP ציבוריות ב-Compute' (roles/compute.publicIpAdmin) כדי להשתמש ברשת המשנה עם IPv6 חיצוני.
הוספת רשת משנה עם פרוטוקול כפול למשאב
לרשתות משנה עם פרוטוקול כפול יש טווחים של כתובות IPv4 ו-IPv6.
כדי להוסיף רשת משנה עם תמיכה כפולה במשאב Cloud Run:
המסוף
במסוף Google Cloud :
מפעילים את Compute Engine API:
נכנסים לדף VPC networks:
אם אתם יוצרים רשת חדשה במצב מותאם אישית, לוחצים על יצירת רשת VPC. אם אתם משתמשים ברשת VPC קיימת, לוחצים על השם של רשת ה-VPC כדי להציג את הדף VPC network details (פרטי רשת ה-VPC).
אם יוצרים רשת חדשה או ממירים רשת קיימת, מזינים את השם ומוודאים שמצב יצירת רשתות משנה מוגדר לבהתאמה אישית. לאחר מכן בוחרים באפשרות הגדרת טווח פנימי של כתובות IPv6 מסוג ULA לרשת ה-VPC הזו.
בכרטיסייה Subnets, לוחצים על Add subnet. בחלונית שמופיעה:
- מזינים שם.
- בוחרים Region.
- בשביל IP stack type, בוחרים באפשרות IPv4 and IPv6 (dual-stack).
- מזינים טווח IPv4. זהו טווח IPv4 הראשי של רשת המשנה.
בוחרים באפשרות סוג הגישה IPv6.
אם האפשרות פנימי לא זמינה ואתם צריכים אותה, צריך לוודא שהוקצה לרשת טווח פנימי של כתובות IPv6.
לוחצים על הוספה.
פריסת שירות Cloud Run, הפעלת משימה או פריסת מאגר worker ברשת המשנה עם פרוטוקול כפול שיצרתם. כשמזינים את פרטי המשאב הדרושים, בוחרים את טווח כתובות ה-IPv6 החדש באופן הבא:
- לוחצים על Container(s), Volumes, Networking, Security (מאגרי נתונים, נפחים, רשת, אבטחה) ובוחרים בכרטיסייה Networking (רשת).
- לוחצים על Connect to a VPC for outbound traffic (התחברות ל-VPC לתעבורה יוצאת) ואז על Send traffic directly to a VPC (שליחת תעבורה ישירות ל-VPC).
- בוחרים את הרשת שיצרתם בשלב הקודם.
- לוחצים על השדה Subnet (רשת משנה) כדי לבחור את טווח כתובות ה-IPv6 שנוצר.
המשאב מוקצה באופן אוטומטי עם סוג הערימה של רשת המשנה.
gcloud
כדי ליצור רשת במצב מותאם אישית שתומכת ברשתות משנה עם מחסנית כפולה, מריצים את הפקודה
gcloud compute networks create.כדי להגדיר טווחי IPv6 פנימיים בכל רשת משנה ברשת הזו, משתמשים בדגל
--enable-ula-internal-ipv6. האפשרות הזו מקצה קידומת/48ULA מתוך טווחfd20::/20שמשמש את Google Cloud לטווחים פנימיים של רשתות משנה ב-IPv6.gcloud compute networks create NETWORK \ --subnet-mode=custom \ --enable-ula-internal-ipv6
מחליפים את
NETWORKבשם של רשת ה-VPC שתכיל את רשת המשנה החדשה.כדי להמיר רשת במצב מותאם אישית או לעדכן אותה כך שתתמוך בתת-רשתות עם כתובות IPv4 ו-IPv6, מריצים את הפקודה הבאה:
gcloud compute networks update NETWORK \ --subnet-mode=custom \ --enable-ula-internal-ipv6
מחליפים את
NETWORKבשם של רשת ה-VPC שתכיל את רשת המשנה החדשה.כדי ליצור רשת משנה עם תמיכה כפולה ב-IPv4 ו-IPv6 עם טווח IPv6, מריצים את הפקודה
subnets createעם ההגדרות של התמיכה הכפולה:gcloud compute networks subnets create SUBNET \ --network=NETWORK \ --range=PRIMARY_IPv4_RANGE \ --stack-type=IPV4_IPV6 \ --ipv6-access-type=IPV6_ACCESS_TYPE \ --region=REGION
מחליפים את מה שכתוב בשדות הבאים:
-
SUBNET: שם לתת-הרשת החדשה. -
NETWORK: השם של רשת ה-VPC שתכיל את תת-הרשת החדשה. -
PRIMARY_IPv4_RANGE: טווח ה-IPv4 הראשי של תת-הרשת החדשה, בסימון CIDR. מידע נוסף זמין במאמר בנושא טווחים של רשתות משנה ב-IPv4. -
IPV6_ACCESS_TYPE: סוג הגישה ל-IPv6 עבור רשת המשנה החדשה,internalאוexternal. -
REGION: Google Cloud האזור שבו ייווצר תת-הרשת החדשה.
-
פריסת שירות Cloud Run, הפעלת משימה או פריסת מאגר worker ברשת המשנה עם פרוטוקול כפול שיצרתם. המשאב מוקצה באופן אוטומטי עם סוג הערימה של רשת המשנה.
YAML
אם אתם יוצרים שירות חדש, דלגו על השלב הזה. אם אתם מעדכנים שירות קיים, מורידים את הגדרות ה-YAML שלו:
gcloud run services describe SERVICE --format export > service.yaml
מעדכנים את המאפיינים הבאים:
apiVersion: serving.knative.dev/v1 kind: Service metadata: name: SERVICE_NAME labels: cloud.googleapis.com/location: REGION spec: template: metadata: annotations: run.googleapis.com/network-interfaces: '[{"network":"NETWORK","subnetwork":"SUBNET","tags":"NETWORK_TAG_NAMES"}]' run.googleapis.com/vpc-access-egress: EGRESS_SETTING spec: containers: - image: IMAGE
מחליפים את:
- SERVICE_NAME מחליפים בשם של שירות Cloud Run. שמות של שירותים צריכים להיות באורך של עד 49 תווים, והם צריכים להיות ייחודיים לכל אזור ופרויקט.
- REGION מחליפים באזור של שירות Cloud Run, שחייב להיות זהה לאזור של רשת המשנה.
- NETWORK בשם של רשת ה-VPC.
- SUBNET בשם של רשת המשנה. אפשר לפרוס או להריץ כמה שירותים, משימות או מאגרי עובדים באותה רשת משנה.
- אופציונלי: NETWORK_TAG_NAMES עם השמות של תגי הרשת שרוצים לשייך לשירות. בשירותים, תגי הרשת מצוינים ברמת השינוי. לכל גרסה של שירות יכולים להיות תגי רשת שונים, כמו
network-tag-2. - EGRESS_SETTING עם ערך של הגדרת יציאה:
-
all-traffic: שליחת כל התעבורה היוצאת דרך רשת ה-VPC. -
private-ranges-only: שולח תנועה רק לכתובות פנימיות דרך רשת ה-VPC.
-
- IMAGE בכתובת ה-URL של קובץ אימג' הקונטיינר של השירות.
אפשר גם לציין הגדרות נוספות, כמו משתני סביבה או מגבלות זיכרון.
יוצרים או מעדכנים את השירות באמצעות הפקודה הבאה:
gcloud run services replace service.yaml
Terraform
כדי ללמוד איך להחיל הגדרות ב-Terraform או להסיר אותן, ראו פקודות בסיסיות ב-Terraform.
מוסיפים לקובץ
main.tfאת הנתונים הבאים:
אם רוצים לאפשר גישה לשירות ללא אימות, אפשר להגדיר את השירות כציבורי.
שינוי רשת משנה מ-IPv4 בלבד ל-IPv4 ו-IPv6
כדי להוסיף טווח של תת-רשת IPv6 לתת-רשת קיימת מסוג IPv4 בלבד ברשת VPC במצב מותאם אישית, אפשר לעיין במאמר שינוי סוג הערימה של תת-רשת לדו-ערכית. לאחר מכן, פורסים את שירות Cloud Run, מריצים את העבודה או פורסים את מאגר העובדים ברשת המשנה עם פרוטוקול כפול.
שינוי של רשת משנה מ-dual-stack ל-single-stack
כדי לשנות רשת משנה עם מחסנית כפולה של משאב לרשת משנה עם מחסנית יחידה, אפשר לעיין במאמר בנושא שינוי רשת משנה עם מחסנית כפולה ל-IPv4 בלבד. לאחר מכן, פורסים את שירות Cloud Run, מריצים את העבודה או פורסים את מאגר העובדים ברשת המשנה עם פרוטוקול כפול.
אימות הרשת ורשת המשנה
כדי לוודא שהמשאב נמצא ברשת ה-VPC, מריצים את הפקודה הבאה:
gcloud run services describe SERVICE_NAME --region=REGION
מחליפים את REGION ב Google Cloud אזור שבו נוצרה רשת המשנה החדשה.
בדוגמת הפלט הבאה מוצגים הרשת ורשת המשנה שלכם:
VPC Access:
Network: example-network
Subnet: example-subnet
Egress: private-ranges-only