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

במאמר הזה מוסבר איך מאזני עומסים של אפליקציות (ALB) ומאזני עומסי רשת בשרת proxy מטפלים בתנועת IPv6. מאזני העומסים האלה הם מאזני עומסים של שרת proxy, כלומר החיבורים הנכנסים של הלקוחות מסתיימים במאזן העומסים. לאחר מכן, מאזן העומסים יוזם חיבור חדש כדי להעביר את בקשת הלקוח אל ה-backend. בהתאם לסוג מאזן העומסים, אפשר להפעיל 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 מלקוח, לסיים את החיבור ואז להעביר את הבקשה ממאזן העומסים אל ה-Backend דרך חיבור IPv6 חדש, כל עוד ה-Backend הוא Backend עם תמיכה כפולה שמצויד לטפל בחיבורי IPv6.

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

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

מאזן עומסים חיבור מלקוחות למאזן עומסים חיבור ממאזן העומסים לקצה העורפי
מאזן עומסים גלובלי חיצוני של אפליקציות (ALB)
מאזן עומסי רשת גלובלי חיצוני בשרת proxy
אפשר לסיים חיבורים של IPv4 ושל IPv6. אחת מהאפשרויות הבאות:
  • חיבור IPv4: נתמך עם קצה עורפי של IPv4 בלבד או עם קצה עורפי של dual-stack
  • חיבור IPv6: נתמך רק עם קצה עורפי של מחסנית כפולה*
מאזן עומסים קלאסי של אפליקציות (ALB)
מאזן עומסי רשת קלאסי בשרת proxy
אפשר לסיים חיבורים של IPv4 ושל IPv6. חיבור IPv4 בלבד
מאזן עומסים חיצוני אזורי של אפליקציות (ALB)
מאזן עומסים אזורי חיצוני בשרת proxy
מאזן עומסים פנימי אזורי של אפליקציות (ALB)
מאזן עומסים אזורי פנימי בשרת proxy
מאזן עומסים פנימי של אפליקציות (ALB) בין אזורים
מאזן עומסים פנימי בשרת proxy בין אזורים
רק IPv4. אין תמיכה בתעבורת נתונים ב-IPv6. אחת מהאפשרויות הבאות:
  • חיבור IPv4: נתמך עם קצה עורפי של IPv4 בלבד או עם קצה עורפי של dual-stack
  • חיבור IPv6: נתמך רק עם קצה עורפי של מחסנית כפולה*
* רק קבוצות של מכונות וירטואליות ו-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 הזו ברשומות ה-DNS של האתר.

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

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

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

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

כשמעצבים כתובת 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 של מאזן העומסים של אפליקציות החיצוני.

המרת כתובות IPv4 בלבד לכתובות בשיטת dual-stack

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

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

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

תמחור

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

מגבלות

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

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

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