תת-רשתות עם תמיכה כפולה מאפשרות למשאבי Cloud Run לשלוח תעבורת IPv4 ו-IPv6 לרשת VPC עם Direct VPC egress. אפשר לשנות תת-רשת קיימת של 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.
אם אתם יוצרים רשת חדשה או ממירים רשת קיימת, מזינים את השם ומוודאים שמצב יצירת תת-רשת מוגדר לבהתאמה אישית. לאחר מכן בוחרים באפשרות הגדרת טווח IPv6 פנימי של ULA לרשת ה-VPC הזו.
בכרטיסייה Subnets, לוחצים על Add subnet. בחלונית שמופיעה:
- מזינים שם.
- בוחרים Region.
- בשביל IP stack type, בוחרים באפשרות IPv4 and IPv6 (dual-stack).
- מזינים טווח IPv4. זהו טווח ה-IPv4 הראשי של רשת המשנה.
בוחרים באפשרות סוג הגישה IPv6.
אם האפשרות פנימי לא זמינה ואתם צריכים אותה, צריך לוודא שטווח IPv6 פנימי מוקצה ברשת.
לוחצים על הוספה.
פריסת שירות Cloud Run, הפעלת משימה או פריסת מאגר עובדים ברשת המשנה עם תמיכה ב-IPv4 ו-IPv6 שיצרתם. כשמזינים את פרטי המשאב הדרושים, בוחרים את טווח כתובות ה-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 שתכיל את רשת המשנה החדשה.כדי ליצור תת-רשת עם שני סוגי כתובות עם טווח 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, הפעלת משימה או פריסת מאגר עובדים ברשת המשנה עם תמיכה ב-IPv4 ו-IPv6 שיצרתם. המשאב מוקצה אוטומטית עם סוג המקבץ של רשת המשנה.
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את הנתונים הבאים:
אפשרות נוספת: הגדרת השירות כציבורי אם רוצים לאפשר גישה לשירות ללא אימות.
שינוי של רשת משנה מ-single-stack ל-dual-stack
כדי להוסיף טווח של תת-רשת 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