תת-רשתות עם תמיכה כפולה מאפשרות למשאבי App Engine לשלוח תעבורת נתונים מסוג 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 במשאב קיים של App Engine, חשוב להביא בחשבון את המגבלות הבאות:
תמיכה ב-Dual-stack זמינה רק בתת-רשתות ברשת VPC במצב מותאם אישית. כדי שסוג הגישה הפנימית יהיה זמין לתת-רשתות ב-Dual-stack, צריך להפעיל את טווח ה-IPv6 הפנימי של רשת ה-VPC. צריך להגדיר את רשת ה-VPC למצב מותאם אישית או להמיר אותה למצב הזה.
בהשוואה לרשתות משנה עם IPv4 בלבד, יכול להיות שברשתות משנה עם מחסנית כפולה יהיו השהיות מוגברות בהפעלה קרה, מה שיגביל את מהירות ההרחבה של האפליקציה.
אין תמיכה ב-NAT64.
לפני שמתחילים
כדי להשתמש ברשת המשנה עם IPv6 חיצוני, צריך לוודא שלסוכן השירות של App Engine יש את התפקיד 'אדמין של כתובת IP ציבורית ב-Compute' (roles/compute.publicIpAdmin).
הגדרה של רשת משנה עם פרוטוקול כפול
לרשתות משנה עם פרוטוקול כפול יש טווחים של כתובות IPv4 ו-IPv6.
כדי להגדיר רשת משנה עם כתובות IPv4 ו-IPv6, אפשר להשתמש במסוף Google Cloud או ב-Google Cloud CLI:
המסוף
נכנסים למסוף Google Cloud ומפעילים את Compute Engine API:
עוברים לדף VPC networks (רשתות VPC):
אם אתם יוצרים רשת חדשה במצב מותאם אישית, לוחצים על יצירת רשת VPC. אם אתם משתמשים ברשת VPC קיימת, לוחצים על השם של רשת ה-VPC כדי להציג את הדף פרטי רשת ה-VPC.
אם אתם יוצרים רשת חדשה או ממירים רשת קיימת, מזינים את השם ומוודאים שמצב יצירת תת-רשת מוגדר לבהתאמה אישית. לאחר מכן בוחרים באפשרות הגדרת טווח IPv6 פנימי של ULA לרשת ה-VPC הזו.
בכרטיסייה Subnets, לוחצים על Add subnet. בחלונית שמופיעה:
- מזינים שם.
- בוחרים Region.
- בשביל IP stack type, בוחרים באפשרות IPv4 and IPv6 (dual-stack).
- מזינים טווח כתובות IPv4. זהו טווח כתובות ה-IPv4 הראשי של רשת המשנה.
בוחרים באפשרות סוג הגישה IPv6.
אם האפשרות פנימי לא זמינה ואתם צריכים אותה, צריך לוודא שטווח 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 \ --switch-to-custom-subnet-mode \ --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 האזור שבו תיווצר רשת המשנה החדשה.
הוספת רשת משנה עם כתובות IPv4 ו-IPv6 למשאב App Engine
אחרי שיוצרים רשת משנה עם תמיכה ב-IPv4 ו-IPv6, צריך להגדיר את שירות App Engine כך שישתמש ברשת המשנה:
בקובץ
app.yaml, מציינים את הרשת ואת רשת המשנה בשדהvpc_access:vpc_access: network_interface: network: NETWORK subnet: SUBNET vpc_egress: EGRESS_SETTING
מחליפים את מה שכתוב בשדות הבאים:
NETWORK: השם של הרשת שיצרתם בשלב הקודם.
SUBNET: השם של תת-הרשת שיצרתם בשלב הקודם.
אופציונלי: EGRESS_SETTING: קובע איך תעבורה יוצאת מנותבת. השדה הזה תומך בהגדרות הבאות:
-
all-traffic: כל הבקשות היוצאות מנותבות דרך רשת ה-VPC. -
private-ranges-only(ברירת מחדל): רק תעבורת נתונים לכתובות IP פנימיות מנותבת דרך רשת ה-VPC. תעבורת נתונים מהאינטרנט משתמשת בנתיב ברירת המחדל של App Engine.
-
מבצעים פריסה ל-App Engine על ידי הרצת הפקודה הבאה:
gcloud beta app deploy
שינוי של רשת משנה מ-single-stack ל-dual-stack
כדי להוסיף טווח של תת-רשת IPv6 לתת-רשת קיימת עם IPv4 בלבד ברשת VPC במצב מותאם אישית, אפשר לעיין במאמר בנושא שינוי סוג הערימה של תת-רשת לדו-ערכית. לאחר מכן, פורסים את שירות App Engine ברשת המשנה עם פרוטוקול כפול.
שינוי של רשת משנה מ-dual-stack ל-single-stack
כדי לשנות רשת משנה עם סטאק כפול של משאב לרשת משנה עם סטאק יחיד, אפשר לעיין במאמר בנושא שינוי רשת משנה עם סטאק כפול ל-IPv4 בלבד. לאחר מכן, אפשר לפרוס את שירות App Engine ברשת המשנה עם סטאק כפול.
אימות הרשת ורשת המשנה
כדי לוודא שהמשאב נמצא ברשת ה-VPC, מריצים את הפקודה הבאה:
gcloud beta app versions describe VERSION --service=SERVICE
מחליפים את מה שכתוב בשדות הבאים:
- VERSION: הגרסה הפרוסה של השירות
- SERVICE: השירות שנפרס
בדוגמה הבאה של פלט אפשר לראות את הרשת ואת רשת המשנה:
vpcAccess:
networkInterfaces:
- network: projects/YOUR_PROJECT/global/networks/YOUR_NETWORK
subnet: projects/YOUR_PROJECT/regions/YOUR_REGION/subnetworks/YOUR_SUBNET
vpcEgress: ALL_TRAFFIC/PRIVATE_RANGES_ONLY