‫IPv6 למאזני עומסים של אפליקציות (ALB) ולמאזני עומסי רשת בשרת proxy

במאמר הזה מוסבר איך מאזני עומסים של אפליקציות (ALB) ומאזני עומסי רשת בשרת proxy מטפלים בתנועת IPv6. מאזני העומסים האלה הם מאזני עומסים של שרת proxy, כלומר החיבורים הנכנסים של הלקוחות מסתיימים במאזן העומסים. מאזן העומסים יוזם חיבור חדש כדי להעביר את בקשת הלקוח לקצה העורפי. בהתאם לסוג מאזן העומסים, אפשר להפעיל IPv6 לאחד מהחיבורים האלה או לשניהם.

להפעלת IPv6 במאזן העומסים יש את היתרונות הבאים:

  • שימוש בכתובת IPv6 אחת מסוג anycast לפריסות בכמה אזורים. צריך רק כתובת IPv6 אחת של מאזן עומסים למופעי אפליקציות שפועלים בכמה אזורים. המשמעות היא שלשרת ה-DNS יש רשומה אחת של AAAA, ואין צורך לאזן עומסים בין כמה כתובות IPv6. הוספה למטמון של רשומות AAAA על ידי לקוחות לא מהווה בעיה כי יש רק כתובת אחת להוסיף למטמון. בקשות משתמשים לכתובת IPv6 מקבלות איזון עומסים אוטומטי לשרת העורפי הקרוב ביותר שפועל בצורה תקינה עם קיבולת זמינה.
  • הפעלת פריסות של ערימה כפולה כדי לשרת לקוחות IPv6 ו-IPv4, צריך ליצור שתי כתובות IP של מאזן עומסים – אחת ל-IPv6 ואחת ל-IPv4. לקוחות IPv4 מתחברים לכתובת IPv4, ולקוחות IPv6 מתחברים לכתובת IPv6. לאחר מכן, מתבצע איזון עומסים אוטומטי של הלקוחות האלה לשרתי קצה עורפיים בריאים של IPv4 או IPv6 עם קיבולת זמינה, שהם הקרובים ביותר. כדי לראות אילו מאזני עומסים תומכים בקצה עורפי עם שני סוגי כתובות, אפשר לעיין בטבלה: שירותים לקצה העורפי וסוגים נתמכים של קצה עורפי.

  • איזון עומסים של תנועת לקוחות ב-IPv6 ב-HTTP, ב-HTTPS, ב-HTTP/2, ב-TCP וב-SSL/TLS. התמיכה בפרוטוקול תלויה בסוג מאזן העומסים שבו אתם משתמשים ובפרוטוקול של כלל ההעברה.

  • גלישה בין אזורים עם כתובת אחת של מאזן עומסים IPv6. אם לשרתי קצה עורפיים באזור מסוים אין מספיק משאבים או שהם לא תקינים, מאזן העומסים הגלובלי מפנה אוטומטית את הבקשות של המשתמשים לאזור הקרוב הבא שבו יש משאבים זמינים. כשהאזור הקרוב ביותר כולל משאבים זמינים, איזון העומסים הגלובלי חוזר להצגת תוצאות לפי האזור הזה. כדי להשתמש באיזון עומסים גלובלי, צריך להשתמש במסלול פרימיום של מסלולי שירות רשת.

תמיכה במאזן עומסים

במאזני עומסים מבוססי-proxy, כמו מאזני עומסים של אפליקציות (ALB) ומאזני עומסי רשת בשרת proxy, אפשר להגדיר את החיבור מהלקוח למאזן העומסים ואת החיבור השני ממאזן העומסים לקצה העורפי בנפרד. לדוגמה, מאזן העומסים יכול לקבל תנועה של IPv4 ו-IPv6 מלקוח, לסיים את החיבור ואז להעביר את הבקשה ממאזן העומסים אל ה-backend דרך חיבור IPv6 חדש, כל עוד ה-backend הוא dual-stack backend שמצויד לטפל בחיבורי IPv6.

כדי לאפשר למאזן עומסים (LB) לקבל חיבורי IPv6 מלקוחות, צריך להשתמש בכתובת IPv6 עבור כלל ההעברה של מאזן העומסים. החיבור הבא ממאזן העומסים לבק-אנד משתמש ב-IPv4 כברירת מחדל. עם זאת, אפשר להגדיר מאזני עומסים מסוימים לשימוש ב-IPv6 באמצעות האפשרות מדיניות לבחירת כתובת IP בשירות הקצה העורפי.

בטבלה הבאה מתוארים סוגי החיבורים שנתמכים בכל מאזני העומסים שמבוססים על שרת proxy:

מאזן עומסים חיבור מלקוחות למאזן עומסים חיבור ממאזן העומסים לקצה העורפי
מאזן עומסים גלובלי חיצוני של אפליקציות (ALB)
מאזן עומסי רשת גלובלי חיצוני בשרת proxy
אפשר לסיים חיבורים מסוג IPv4 ו-IPv6. אחת מהאפשרויות הבאות:
  • חיבור IPv4: נתמך עם קצה עורפי של IPv4 בלבד או עם סטאק כפול
  • חיבור IPv6: נתמך רק עם עורפי קצה (backend) של dual-stack*
מאזן עומסים קלאסי של אפליקציות (ALB)
מאזן עומסי רשת קלאסי בשרת proxy
אפשר לסיים חיבורים מסוג IPv4 ו-IPv6. חיבור IPv4 בלבד
מאזן עומסים חיצוני אזורי של אפליקציות (ALB)
מאזן עומסי רשת אזורי חיצוני בשרת proxy
מאזן עומסים פנימי אזורי של אפליקציות (ALB)
מאזן עומסי רשת אזורי פנימי בשרת proxy
מאזן עומסים פנימי של אפליקציות (ALB) חוצה אזורים
מאזן עומסי רשת פנימי בשרת proxy חוצה אזורים
אפשר לסיים חיבורים של IPv4 ו-IPv6 (גרסת Preview). אחת מהאפשרויות הבאות:
  • חיבור IPv4: נתמך עם קצה עורפי של IPv4 בלבד או עם סטאק כפול
  • חיבור IPv6: נתמך רק עם עורפי קצה (backend) של dual-stack*
* אפשר להגדיר רק קבוצות של מכונות וירטואליות ו-NEGs אזוריים (עם נקודות קצה של GCE_VM_IP_PORT) כ-dual-stack.

איך עובד סיום של IPv6

מאזני עומסים של אפליקציות (ALB) ומאזני עומסי רשת בשרת proxy תומכים בסיום של IPv6. הגדרת סיום IPv6 במאזני העומסים האלה מאפשרת לשרתי הקצה העורפיים להופיע כלקוחות IPv6 באפליקציות IPv6, כמו שמוצג באיור הבא:

סיום של IPv6 לאיזון עומסים.
סיום IPv6 לאיזון עומסים (לחצו כדי להגדיל).

כשמשתמש מתחבר למאזן העומסים דרך IPv6, קורה הדברים הבאים:

  1. מאזן העומסים, עם כתובת ה-IPv6 וכלל ההעברה שלו, מחכה לחיבורים של משתמשים.
  2. לקוח IPv6 מתחבר למאזן העומסים באמצעות IPv6.
  3. מאזן העומסים פועל כשרת proxy הפוך ומסיים את החיבור של לקוח IPv6. בהתאם למדיניות בחירת כתובת ה-IP של שירות הקצה העורפי, הבקשה מועברת לחיבור IPv4 או IPv6 לקצה העורפי.
  4. בנתיב ההפוך, מאזן העומסים מקבל את התגובה מהקצה העורפי, ואז מכניס אותה לחיבור IPv6 בחזרה ללקוח המקורי.

הקצאת כתובות IPv6 לכללי העברה של מאזן עומסים

כשמגדירים מאזן עומסים חיצוני או פנימי, מספקים לו כלל העברה אחד או יותר, שלכל אחד מהם מוקצית כתובת IP מסוג IPv4 או IPv6 (או שניהם). מאזני עומסים חיצוניים משתמשים בכתובות IP חיצוניות שאפשר לנתב באופן ציבורי, ומאזני עומסים פנימיים משתמשים בכתובות IP פנימיות ופרטיות שלא נגישות מהאינטרנט. אפשר להשתמש בכתובות ה-IP האלה ברשומות ה-DNS של האתר.

כשיוצרים כלל העברה, אפשר להשתמש בכתובת IP סטטית שהוזמנה לפרויקט, או לאפשר לכלל ההעברה להקצות באופן אוטומטי כתובת IP זמנית כשיוצרים את הכלל. כתובת IP סטטית שמורה לפרויקט שלכם, ואתם יכולים לשמור אותה עד שתשחררו אותה בכוונה. כתובת זמנית שייכת לכלל ההעברה כל עוד כלל ההעברה קיים. אם מוחקים את כלל ההעברה, הכתובת הזמנית מוחזרת למאגר Google Cloud .

אם אתם צריכים גם כתובת IPv4 וגם כתובת IPv6 למאזן העומסים, אתם יכולים ליצור שני כללי העברה, לשייך כתובת IPv4 לאחד מהם וכתובת IPv6 לשני. לאחר מכן אפשר לשייך את שני הכללים לאותו מאזן עומסים.

הפורמט של כתובת IPv6

כשיוצרים כלל העברה, בהתאם לסוג מאזן העומסים, ההתנהגות של הקצאת כתובות IPv6 היא כדלקמן:

  • במאזן עומסים גלובלי חיצוני של אפליקציות (ALB) ובמאזן עומסי רשת גלובלי חיצוני לשרת proxy,‏Google Cloud מקצה /64טווח כתובות IPv6 לכללי העברה של IPv6. ב-Google Cloud CLI, כתובות IPv6 מוצגות עם 64 הביטים הכי פחות משמעותיים שמוגדרים כ-0, אבל מאזן העומסים מקבל תנועה בטווח המלא. במאזני עומסים חיצוניים גלובליים של אפליקציות, יכול להיות שיופיעו כתובות IPv6 אחרות של מאזן העומסים בטווח שהוקצה בכותרות X-Forwarded-For, בהתאם לכתובת ה-IP של שרת ה-IPv6 שאליו הלקוח מחובר.

  • במאזן עומסים פנימי של אפליקציות ובמאזן עומסי רשת פנימי לשרת proxy, אם הערך של --ip-version מוגדר ל-IPV6, Google Cloud נוצר טווח אקראי של כתובות IPv6 עם קידומת /96 לכלל ההעברה. הכתובת של כלל ההעברה הזה מוקצית מתת-רשת במצב מותאם אישית עם פרוטוקול כפול או עם IPv6 בלבד, /64 שצריך להגדיר עם --ipv6-access-type של INTERNAL ועם --stack-type של IPV4_IPV6 או IPV6_ONLY.

  • במאזן עומסים אזורי חיצוני של אפליקציות (ALB) ובמאזן עומסי רשת אזורי חיצוני לשרת proxy, אם --ip-version מוגדר ל-IPV6, Google Cloud יוצר טווח כתובות אקראי של IPv6 עם קידומת /96 לכלל ההעברה. הכתובת של כלל ההעברה הזה מוקצית מ/64 של רשת משנה במצב מותאם אישית עם פרוטוקול כפול או IPv6 בלבד. צריך להגדיר את רשת המשנה עם ipv6-access-type של EXTERNAL ועם stack-type של IPV4_IPV6 או IPV6_ONLY. אפשר לשריין כתובות IPv6 חיצוניות רק ברמת הפרימיום של הרשת. כדי להשתמש בדגל --endpoint-type בכלל העברה, צריך להגדיר אותו כ-NETLB.

כשמעצבים כתובת IPv6, Google Cloud פועלים לפי ההמלצות בRFC 5952, סעיף 4.

כותרת של כתובת IP של לקוח עם סיום IPv6 למאזני עומסים של אפליקציות

כשמאזן העומסים מעביר את חיבור ה-IPv6 מלקוח לחיבור IPv4 אל ה-Backend, כתובת ה-IP המקורית של המקור מוחלפת בכתובת ה-IP של מאזן העומסים. עם זאת, לשרתי קצה עורפיים יש לעיתים קרובות צורך לדעת את כתובת ה-IP המקורית של המקור לצורך רישום ביומן, קבלת החלטות או מטרות אחרות.Google Cloud מספק כותרת HTTP שמועברת לשרתי הקצה העורפיים וכוללת את כתובת ה-IP המקורית של לקוח IPv6.

כותרות HTTP ל-IPv6 דומות לכותרות HTTP ל-IPv4. הפורמט של הבקשות הוא כדלקמן:

  • X-Forwarded-For: CLIENT_IP_ADDRESS, GLOBAL_FORWARDING_RULE_EXTERNAL_IP_ADDRESSES

האלמנט האחרון מציג את כתובת ה-IP של מאזן העומסים. האלמנט השני מהסוף מציג את כתובת ה-IP של הלקוח כפי שהיא נראית למאזן העומסים. יכול להיות שיהיו רכיבים אחרים בכותרת X-Forwarded-For אם הלקוח או שרתי ה-proxy המתווכים מוסיפים כותרות X-Forwarded-For אחרות לפני שהם שולחים את הבקשה למאזן העומסים.

כותרת לדוגמה של X-Forwarded-For:

X-Forwarded-For: 2001:db8:abcd:1::1234, 2607:f8b0:4005:801::200e

2001:db8:abcd:1::1234 היא כתובת ה-IPv6 של הלקוח. ‫2607:f8b0:4005:801::200e היא כתובת ה-IPv6 של מאזן העומסים של אפליקציות (ALB) החיצוני.

מעבר מ-IPv4 בלבד ל-dual-stack

אפשר להמיר משאבי איזון עומסים שמשתמשים רק ב-IPv4 (חד-ערימה) ל-IPv4 ול-IPv6 (דו-ערימה). אפשר לעדכן את המשאבים של מאזן העומסים כדי להפנות באופן אוטומטי תנועה של IPv6 אל השרתים העורפיים.

הוראות להמרת משאבים ומערכות עורפיות של מאזן עומסים למערכת עם תמיכה בשני פרוטוקולים זמינות במסמכים הבאים:

מאזן עומסים מאמרי עזרה
‫ מאזן עומסים גלובלי חיצוני של אפליקציות (ALB)
מאזן עומסים פנימי של אפליקציות (ALB) בין אזורים
מאזן עומסים חיצוני אזורי של אפליקציות (ALB)
מאזן עומסים פנימי אזורי של אפליקציות (ALB)
המרת מאזן עומסים של אפליקציות ל-IPv6
מאזן עומסים גלובלי חיצוני בשרת proxy
מאזן עומסים פנימי בשרת proxy בין אזורים
מאזן עומסים אזורי חיצוני בשרת proxy
מאזן עומסים אזורי פנימי בשרת proxy
המרת מאזן עומסי רשת לשרת proxy ל-IPv6

תמחור

למידע על תמחור של כתובות IP, ראו תמחור רשת: ענן וירטואלי פרטי.

פרטים על תמחור איזון עומסים מופיעים במאמר תמחור רשת: Cloud Load Balancing.

מגבלות

  • מאזני עומסים קלאסיים של אפליקציות (ALB) ומאזני עומסי רשת קלאסיים בשרת proxy לא תומכים בקצה עורפי עם סטאק כפול. תעבורת IPv6 מסתיימת במאזן העומסים ואז מועברת דרך חיבור IPv4 לקצה העורפי.
  • כשיוצרים כלל להעברת IPv6, מוקצה באופן אוטומטי טווח של /96 כתובות IPv6 מרשת המשנה. עם זאת, רק הכתובת הראשונה בטווח הזה של ‎ /96 (לדוגמה, כתובת שמסתיימת ב-:0:0) נגישה ללקוחות. צריך לוודא שהלקוחות ורשומות ה-DNS מוגדרים לשימוש בכתובת הראשונה הספציפית הזו. המאמר הזה רלוונטי למאזני עומסים חיצוניים אזוריים של אפליקציות, למאזני עומסים פנימיים אזוריים של אפליקציות, למאזני עומסים פנימיים אזוריים של רשתות לשרת proxy, למאזני עומסים פנימיים של רשתות לשרת proxy בין אזורים, למאזני עומסים פנימיים של אפליקציות בין אזורים ולמאזני עומסים חיצוניים אזוריים של רשתות לשרת proxy (בגרסת Preview).

  • רק בקצוות עורפיים של קבוצת מכונות וירטואליות ובקבוצה אזורית של נקודות קצה ברשת (NEG) עם נקודות קצה GCE_VM_IP_PORT יש תמיכה בקצוות עורפיים עם מחסנית כפולה (IPv4 ו-IPv6).

המאמרים הבאים