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

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

במסמך הזה, IPv4 בלבד (single-stack) מתייחס למשאבים שמשתמשים רק בכתובות IPv4, ו-IPv4 ו-IPv6 (dual-stack) מתייחס למשאבים שמשתמשים גם בכתובות IPv4 וגם בכתובות IPv6.

לפני שמתחילים

לפני שמתחילים בתהליך ההמרה, חשוב לשים לב לתנאים הבאים:

  • אתם צריכים להשתמש באחד מסוגי מאזני העומסים הבאים של אפליקציות:

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

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

  • מאזן העומסים צריך לכלול קצוות עורפיים של קבוצת מכונות VM או קצוות עורפיים של קבוצת נקודות קצה ברשת (NEG) אזורית עם נקודות קצה של GCE_VM_IP_PORT. סוגי קצה עורפי אחרים לא תומכים ב-dual-stack.

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

במאמרים הבאים מוסבר איך מגדירים מאזני עומסים של אפליקציות:

זיהוי המשאבים להמרה

שימו לב לשמות של המשאבים שמאזן העומסים משויך אליהם. תצטרכו לספק את השמות האלה בהמשך.

  1. כדי לראות את כל רשתות המשנה, משתמשים בפקודה gcloud compute networks subnets list:

    gcloud compute networks subnets list
    

    שימו לב לשם של רשת המשנה עם כתובות IPv4 בלבד, כדי להמיר אותה ל-dual-stack. השם הזה יופיע בהמשך בתור SUBNET. בהמשך, רשת ה-VPC נקראת NETWORK.

  2. כדי לראות את כל שירותי ה-Backend, משתמשים בפקודה gcloud compute backend-services list:

    gcloud compute backend-services list
    

    רושמים את השם של שירות הקצה העורפי שרוצים להמיר ל-dual-stack. השם הזה יופיע בהמשך בתור BACKEND_SERVICE.

  3. כדי לראות את כל מיפויי כתובות ה-URL, משתמשים בפקודה gcloud compute url-maps list:

    gcloud compute url-maps list
    

    שימו לב לשם של מפת ה-URL שמשויכת למאזן העומסים. השם הזה יופיע בהמשך בתור URL_MAP.

  4. אם כבר יש לכם מאזן עומסים, כדי לראות את סוג ערימת ה-IP של השרתים העורפיים, משתמשים בפקודה gcloud compute instances list:

    gcloud compute instances list \
        --format= \
        "table(
        name,
        zone.basename(),
        networkInterfaces[].stackType.notnull().list(),
        networkInterfaces[].ipv6AccessConfigs[0].externalIpv6.notnull().list():label=EXTERNAL_IPV6,
        networkInterfaces[].ipv6Address.notnull().list():label=INTERNAL_IPV6)"
    
  5. כדי לראות את הרשימה של כל המכונות הווירטואליות ותבניות המכונות, משתמשים בפקודה gcloud compute instances list ובפקודה gcloud compute instance-templates list:

    gcloud compute instances list
    
    gcloud compute instance-templates list
    

    שימו לב לשמות של המכונות ושל תבניות המכונות שרוצים להמיר ל-dual-stack. השם הזה מוזכר בהמשך כ-VM_INSTANCE וכ-INSTANCE_TEMPLATES.

  6. כדי לראות את רשימת כל קבוצות המכונות, משתמשים בפקודה gcloud compute instance-groups list:

    gcloud compute instance-groups list
    

    שימו לב לשם של קבוצות נקודות הקצה ברשת שרוצים להמיר ל-dual stack. השם הזה יופיע בהמשך בתור INSTANCE_GROUP.

  7. כדי לראות רשימה של כל קבוצות נקודות הקצה ברשת (NEGs) באזור, משתמשים בפקודה gcloud compute network-endpoint-groups list:

    gcloud compute network-endpoint-groups list
    

    שימו לב לשמות של קצוות העורף של ה-NEG האזוריים שרוצים להמיר ל-dual-stack. השם הזה יופיע בהמשך בתור ZONAL_NEG.

  8. כדי לראות את רשימת כל שרתי היעד, משתמשים בפקודה gcloud compute target-http-proxies list:

    gcloud compute target-http-proxies list
    

    שימו לב לשם של שרת ה-proxy של היעד שמשויך למאזן העומסים. השם הזה יופיע בהמשך בתור TARGET_PROXY.

המרת עורפי קצה (backend) ממערך יחיד למערך כפול

בקטע הזה מוסבר איך להמיר את המשאבים ואת הקצה העורפי של מאזן העומסים מכתובות IPv4 בלבד (single-stack) לכתובות IPv4 ו-IPv6 (dual-stack).

עדכון רשת המשנה של ה-backend

תת-רשתות עם כתובות IPv4 ו-IPv6 נתמכות רק ברשתות VPC במצב מותאם אישית. אין תמיכה בתת-רשתות עם כתובות IPv4 ו-IPv6 ברשתות VPC במצב אוטומטי או ברשתות מדור קודם. רשתות במצב אוטומטי יכולות להיות שימושיות בשלב מוקדם של בדיקה, אבל רשתות VPC במצב מותאם אישית מתאימות יותר לרוב סביבות הייצור. מומלץ להשתמש ב-VPC במצב מותאם אישית.

כדי לעדכן את ה-VPC להגדרה של מחסנית כפולה, פועלים לפי השלבים הבאים:

  1. אם אתם משתמשים ברשת VPC במצב אוטומטי, אתם צריכים קודם להמיר את רשת ה-VPC במצב אוטומטי למצב מותאם אישית.

    אם אתם משתמשים ברשת default, אתם צריכים להמיר אותה לרשת VPC במצב מותאם אישית.

  2. אם אתם משתמשים במאזן עומסים חוצה אזורים, חיצוני אזורי או פנימי אזורי, אתם צריכים להפעיל IPv6 פנימי ברשת ה-VPC לפני שתעדכנו את רשתות המשנה. מידע נוסף זמין במאמר בנושא יצירת רשת VPC במצב מותאם אישית עם תת-רשת בעלת מחסנית כפולה.

  3. כדי להפעיל IPv6, אפשר לעיין במאמר בנושא שינוי סוג הערימה של רשת משנה לערימה כפולה.

    גלובלי

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

       gcloud compute networks subnets update SUBNET \
           --stack-type=IPV4_IPV6 \
           --ipv6-access-type=EXTERNAL \
           --region=REGION
     

    בין אזורים

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

       gcloud compute networks subnets update SUBNET \
           --stack-type=IPV4_IPV6 \
           --subnet-mode=custom \
           --enable-ula-internal-ipv6 \
           --ipv6-access-type=INTERNAL \
           --region=REGION
     

    אזורי

    עבור מאזן עומסים חיצוני אזורי ומאזן עומסים פנימי אזורי, משתמשים בפקודה:

    חיצוני

       gcloud compute networks subnets update SUBNET \
           --stack-type=IPV4_IPV6 \
           --subnet-mode=custom \
           --enable-ula-internal-ipv6 \
           --ipv6-access-type=EXTERNAL \
           --region=REGION
       

    פנימי

        gcloud compute networks subnets update SUBNET \
            --stack-type=IPV4_IPV6 \
            --subnet-mode=custom \
            --enable-ula-internal-ipv6 \
            --ipv6-access-type=INTERNAL \
            --region=REGION
      

    מחליפים את REGION באזור של רשת המשנה.

  4. אופציונלי: אם רוצים להגדיר טווחי כתובות IPv6 פנימיות ברשתות משנה ברשת הזו, מבצעים את השלבים הבאים:

    1. בקטע VPC network ULA internal IPv6 range (טווח IPv6 פנימי של ULA ברשת VPC), בוחרים באפשרות Enabled (מופעל).
    2. בקטע הקצאת טווח IPv6 פנימי, בוחרים באפשרות אוטומטית או ידנית.

      אם בוחרים באפשרות Manually, צריך להזין טווח של /48 מתוך הטווח של fd20::/20. אם הטווח נמצא בשימוש, תתבקשו לספק טווח אחר.

עדכון רשת המשנה של ה-proxy בלבד

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

אי אפשר לעדכן את סוג ה-stack של תת-רשת של שרת proxy בלבד (purpose=REGIONAL_MANAGED_PROXY) באותו אופן שבו מעדכנים תת-רשת רגילה (עם subnets update command). במקום זאת, צריך ליצור תת-רשת גיבוי של שרת proxy בלבד עם סוג ה-stack dual-stack, ואז להעביר אותה לתפקיד הפעיל. הסיבה לכך היא שרק רשת משנה אחת מסוג proxy-only יכולה להיות פעילה בכל אזור, בכל רשת VPC.

אחרי שמקצים טווח פנימי של IPv6 ברשת ה-VPC, מבצעים את הפעולות הבאות כדי לשנות את סוג הערימה של רשת המשנה מסוג proxy-only לערימה כפולה.

המסוף

  1. יוצרים תת-רשת גיבוי של שרת proxy בלבד באותו אזור כמו תת-הרשת הפעילה של שרת proxy בלבד, ומציינים את סוג מחסנית ה-IP כ-dual-stack.

    1. נכנסים לדף VPC networks במסוף Google Cloud .
      לדף VPC networks
    2. לוחצים על השם של רשת ה-VPC שרוצים להוסיף לה רשת משנה מסוג proxy בלבד.
    3. לוחצים על הוספת רשת משנה.
    4. מזינים שם.
    5. בחירת אזור.
    6. בקטע Purpose (מטרה), בוחרים באפשרות Regional Managed Proxy (שרת proxy מנוהל אזורי).
    7. בקטע תפקיד, בוחרים באפשרות גיבוי.
    8. בשביל IP stack type, בוחרים באפשרות IPv4 and IPv6 (dual-stack).
    9. מזינים טווח כתובות IP.
    10. לוחצים על הוספה.
  2. יוצרים או משנים כללי חומת אש שמאפשרים תעבורת נתונים נכנסת (ingress) שחלים על המכונות הווירטואליות או על נקודות הקצה של השרתים העורפיים (backend), כך שהם כוללים את טווח כתובות ה-IP הראשי של תת-הרשת של שרת ה-proxy לגיבוי בלבד.

  3. קידום של רשת המשנה של שרת ה-proxy לגיבוי לתפקיד הפעיל. הפעולה הזו גם מורידה את הרמה של רשת המשנה הקודמת שהייתה פעילה רק כפרוקסי לתפקיד הגיבוי:

    1. נכנסים לדף VPC networks במסוף Google Cloud .
      לדף VPC networks
    2. לוחצים על השם של רשת ה-VPC שרוצים לשנות.
    3. בקטע Reserved proxy-only subnets for load balancing (רשתות משנה שמורות רק לשרתי proxy לצורך איזון עומסים), מאתרים את רשת המשנה לגיבוי שנוצרה בשלב הקודם.
    4. לוחצים על הפעלה.
    5. מציינים זמן קצוב לתפוגה של התרוקנות (אופציונלי).
    6. לוחצים על הפעלת רשת המשנה.
  4. אחרי פסק הזמן של ניתוק החיבורים, או אחרי שאתם בטוחים שהחיבורים למכונות הווירטואליות או לנקודות הקצה של ה-Backend לא מגיעים משרתי proxy ברשת המשנה הקודמת שפעלה (עכשיו היא רשת משנה לגיבוי), אתם יכולים לבצע את הפעולות הבאות:

    • משנים את כללי חומת האש שמאפשרים תעבורת נתונים נכנסת (ingress) שחלים על מכונות וירטואליות או על נקודות קצה של שרתים עורפיים (backend), כך שהם לא יכללו את טווח כתובות ה-IP הראשי של תת-הרשת של שרת proxy בלבד שהייתה פעילה קודם (ועכשיו היא לגיבוי).
    • מוחקים את תת-הרשת הקודמת שהייתה פעילה (עכשיו היא גיבוי) של ה-proxy בלבד, כדי לשחרר את כתובות ה-IP שבהן השתמשה תת-הרשת לטווח כתובות ה-IP הראשי שלה.

gcloud

ההנחיות הבאות מניחות שכבר יש לכם רשת משנה פעילה קיימת של שרת proxy בלבד.

  1. יוצרים רשת משנה לגיבוי של שרת proxy באותו אזור, ומציינים סוג מחסנית של מחסנית כפולה (--stack-type=IPV4_IPV6), באמצעות הפקודה gcloud compute networks subnets create. רשת המשנה הזו מוקצית כגיבוי באמצעות הדגל --role=BACKUP.

    gcloud compute networks subnets create BACKUP_PROXY_ONLY_SUBNET_NAME \
        --purpose=REGIONAL_MANAGED_PROXY \
        --role=BACKUP \
        --region=REGION \
        --network=VPC_NETWORK_NAME \
        --range=BACKUP_PROXY_ONLY_SUBNET_RANGE \
        --stack-type=IPV4_IPV6
    

    מחליפים את מה שכתוב בשדות הבאים:

    • BACKUP_PROXY_ONLY_SUBNET_NAME: השם של תת-הרשת החדשה שנוצרה לגיבוי בלבד.
    • REGION: האזור של תת-הרשת החדשה שנוצרה לגיבוי פרוקסי בלבד. האזור הזה צריך להיות זהה לאזור של רשת המשנה הפעילה הנוכחית של ה-proxy בלבד.
    • VPC_NETWORK_NAME: הרשת של תת-הרשת החדשה שנוצרה לגיבוי פרוקסי בלבד. זו צריכה להיות אותה רשת כמו רשת המשנה הנוכחית הפעילה של ה-proxy בלבד.
    • VPC_NETWORK_NAME: השם של רשת ה-VPC
    • BACKUP_PROXY_ONLY_SUBNET_RANGE: טווח ה-CIDR של תת-הרשת החדשה שנוצרה לגיבוי פרוקסי בלבד
  2. יוצרים או משנים כללי חומת אש שמאפשרים תעבורת נתונים נכנסת (ingress) שחלים על מכונות וירטואליות או נקודות קצה של שרתים עורפיים (backend), כך שהם יכללו עכשיו את טווח כתובות ה-IP הראשי של תת-הרשת של שרת proxy בלבד לגיבוי. כלל חומת האש כבר צריך לאשר חיבורים מרשת המשנה הפעילה.

    gcloud compute firewall-rules update PROXY_ONLY_SUBNET_FIREWALL_RULE \
        --source-ranges ACTIVE_PROXY_ONLY_SUBNET_RANGE,BACKUP_PROXY_ONLY_SUBNET_RANGE
    

    מחליפים את מה שכתוב בשדות הבאים:

    • PROXY_ONLY_SUBNET_FIREWALL_RULE: השם של כלל חומת האש שמאפשר לתנועה מרשת המשנה של ה-proxy בלבד להגיע למופעי ה-backend או לנקודות הקצה שלכם
    • ACTIVE_PROXY_ONLY_SUBNET_RANGE: טווח ה-CIDR של תת-הרשת הנוכחית הפעילה מסוג proxy בלבד
    • BACKUP_PROXY_ONLY_SUBNET_RANGE: טווח ה-CIDR של תת-הרשת לגיבוי של proxy בלבד
  3. מעדכנים את תת-הרשת החדשה ומגדירים אותה כתת-הרשת של שרת proxy בלבד ACTIVE באזור, ומחכים עד שתת-הרשת הישנה תתרוקן. בנוסף, רשת המשנה הקודמת שהייתה פעילה רק כפרוקסי מועברת לתפקיד הגיבוי.

    כדי להקצות טווח של כתובות IP באופן מיידי, מגדירים את --drain-timeout ל-0s. הפעולה הזו תסיים באופן מיידי את כל החיבורים לשרתי proxy שהוקצו להם כתובות ברשת המשנה שמתבצע בה ניקוי.

    gcloud compute networks subnets update BACKUP_PROXY_ONLY_SUBNET_NAME \
        --region=REGION \
        --role=ACTIVE \
        --drain-timeout=CONNECTION_DRAINING_TIMEOUT
    

    מחליפים את מה שכתוב בשדות הבאים:

    • BACKUP_PROXY_ONLY_SUBNET_NAME: השם של תת-הרשת החדשה שנוצרה לגיבוי בלבד
    • REGION: האזור של תת-הרשת החדשה שנוצרה לגיבוי פרוקסי בלבד. האזור הזה צריך להיות זהה לאזור של רשת המשנה הפעילה הנוכחית של ה-proxy בלבד.
    • CONNECTION_DRAINING_TIMEOUT: משך הזמן, בשניות, שנדרש ל- Google Cloud כדי להעביר חיבורים קיימים משרתי proxy ברשת המשנה הקודמת שהייתה פעילה רק לשרתי proxy.
  4. כדי לעקוב אחרי הסטטוס של הניקוז, משתמשים בפקודה list או describe. הסטטוס של רשת המשנה הוא DRAINING בזמן הניקוז.

    gcloud compute networks subnets list
    

    מחכים עד שהסוללה תתרוקן. כשמרוקנים את רשת המשנה הישנה שמוגדרת רק כפרוקסי, הסטטוס של רשת המשנה הוא READY.

  5. מעדכנים את כלל חומת האש של תת-הרשת של שרת ה-Proxy כך שיאפשר חיבורים רק מתת-הרשת החדשה.

    gcloud compute firewall-rules PROXY_ONLY_SUBNET_FIREWALL_RULE \
        --source-ranges BACKUP_PROXY_ONLY_SUBNET_RANGE
    
  6. אחרי שמוודאים שהחיבורים למכונות הווירטואליות או לנקודות הקצה של הבק-אנד לא מגיעים משרתי proxy ברשת המשנה הקודמת שהייתה פעילה (עכשיו היא רשת משנה לגיבוי) של proxy בלבד, אפשר למחוק את רשת המשנה הישנה.

    gcloud compute networks subnets delete ACTIVE_PROXY_ONLY_SUBNET_NAME \
        --region=REGION
    

עדכון המכונה הווירטואלית או התבניות

אפשר להגדיר כתובות IPv6 במכונת VM אם הוגדר טווח IPv6 ברשת המשנה שאליה מכונת ה-VM מחוברת. רק בקצוות העורפיים הבאים יש תמיכה בכתובות IPv6:

  • בקצה העורפי של קבוצת מופעים: קבוצת מופעים מנוהלת אחת או יותר, קבוצת מופעים לא מנוהלת אחת או יותר או שילוב של קבוצות מופעים מנוהלות ולא מנוהלות.
  • ‫NEGs אזוריים: אחד או יותר של NEGs אזוריים מסוג GCE_VM_IP_PORT.

עדכון מכונות וירטואליות

אי אפשר לערוך מופעי מכונות וירטואליות ששייכים לקבוצת מופעים מנוהלת או לא מנוהלת. כדי לעדכן את מופעי מכונות ה-VM ל-dual stack, פועלים לפי השלבים הבאים:

  1. מחיקת מופעים ספציפיים מקבוצה
  2. יצירת מכונת VM עם תמיכה בשני פרוטוקולים
  3. יצירת מכונות עם שמות ספציפיים בקבוצות MIG

עדכון תבניות של מכונות וירטואליות

אי אפשר לעדכן תבנית קיימת של הגדרות מכונה. אם צריך לבצע שינויים, אפשר ליצור תבנית נוספת עם מאפיינים דומים. כדי לעדכן את תבניות המכונות הווירטואליות ל-Dual Stack, פועלים לפי השלבים הבאים:

המסוף

  1. נכנסים לדף Instance templates במסוף Google Cloud .

    כניסה לדף Instance templates

    1. לוחצים על תבנית של הגדרות מכונה שרוצים להעתיק ולעדכן.
    2. לוחצים על יצירת תמונה דומה.
    3. מרחיבים את הקטע אפשרויות מתקדמות.
    4. בשדה Network tags (תגי רשת), מזינים allow-health-check-ipv6.
    5. בקטע Network interfaces לוחצים על Add a network interface.
    6. ברשימה Network בוחרים את רשת ה-VPC במצב בהתאמה אישית.
    7. ברשימה Subnetwork בוחרים באפשרות SUBNET.
    8. בשביל IP stack type, בוחרים באפשרות IPv4 and IPv6 (dual-stack).
    9. לוחצים על יצירה.
  2. מתחילים עדכון בהדרגה בסיסי בקבוצת מופעי מכונה מנוהלים MIG שמשויכת למאזן העומסים.

עדכון ה-NEG האזורי

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

כדי להגדיר קצה נקודת NEG אזורי (עם נקודות קצה מסוג GCE_VM_IP_PORT) באזור REGION_A, צריך קודם ליצור את המכונות הווירטואליות באזור GCP_NEG_ZONE. לאחר מכן מוסיפים את נקודות הקצה ברשת של מכונת ה-VM ל-NEG האזורי.

יצירת מכונות וירטואליות

המסוף

  1. נכנסים לדף VM instances במסוף Google Cloud .

    כניסה לדף VM instances

  2. לוחצים על Create instance.

  3. מגדירים את Name לערך vm-a1.

  4. בשדה Region, בוחרים REGION_A, ובשדה Zone בוחרים כל ערך. האזור הזה נקרא GCP_NEG_ZONE בתהליך הזה.

  5. בקטע Boot disk מוודאים שהאפשרות Debian GNU/Linux 12 (bookworm)‎ מסומנת באפשרויות של דיסק האתחול. לוחצים על בחירה כדי לשנות את התמונה, אם צריך.

  6. מרחיבים את הקטע אפשרויות מתקדמות ומבצעים את השינויים הבאים:

    • מרחיבים את הקטע Networking.
    • בשדה Network tags (תגי רשת), מזינים את הערך allow-health-check.
    • בקטע Network interfaces, מבצעים את השינויים הבאים:
      • רשת: NETWORK
      • Subnet (רשת משנה): SUBNET
      • סוג מחסנית IP: IPv4 ו-IPv6 (מחסנית כפולה)
    • לוחצים על סיום.
    • לוחצים על ניהול. בשדה Startup script (סקריפט לטעינה בזמן ההפעלה), מעתיקים ומדביקים את תוכן הסקריפט הבא.

      #! /bin/bash
      apt-get update
      apt-get install apache2 -y
      a2ensite default-ssl
      a2enmod ssl
      vm_hostname="$(curl -H "Metadata-Flavor:Google" \
      http://metadata.google.internal/computeMetadata/v1/instance/name)"
      echo "Page served from: $vm_hostname" | \
      tee /var/www/html/index.html
      systemctl restart apache2
      
  7. לוחצים על יצירה.

  8. חוזרים על השלבים הבאים כדי ליצור מכונה וירטואלית שנייה, באמצעות השילוב הבא של שם ואזור:

    • שם: vm-a2, אזור: GCP_NEG_ZONE

gcloud

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

  • VM_NAME מתוך vm-a1 וכל אזור GCP_NEG_ZONE שתבחרו.
  • VM_NAME של vm-a2 ובאותו אזור GCP_NEG_ZONE.

    gcloud compute instances create VM_NAME \
        --zone=GCP_NEG_ZONE \
        --stack-type=IPV4_IPV6 \
        --image-family=debian-12 \
        --image-project=debian-cloud \
        --tags=allow-health-check \
        --subnet=SUBNET \
        --metadata=startup-script='#! /bin/bash
          apt-get update
          apt-get install apache2 -y
          a2ensite default-ssl
          a2enmod ssl
          vm_hostname="$(curl -H "Metadata-Flavor:Google" \
          http://metadata.google.internal/computeMetadata/v1/instance/name)"
          echo "Page served from: $vm_hostname" | \
          tee /var/www/html/index.html
          systemctl restart apache2'
    

הוספת נקודות קצה ל-NEG אזורי

המסוף

כדי להוסיף נקודות קצה ל-NEG אזורי:

  1. נכנסים לדף Network endpoint groups במסוף Google Cloud .

    כניסה לדף Network endpoint groups

  2. ברשימה Name, לוחצים על השם של קבוצת נקודות הקצה ברשת (ZONAL_NEG). מוצג הדף Network endpoint group details.

  3. בקטע Network endpoints in this group (נקודות קצה ברשת בקבוצה הזו), בוחרים את נקודת הקצה של ה-NEG שנוצרה קודם. לוחצים על הסרת נקודת קצה.

  4. בקטע Network endpoints in this group (נקודות קצה ברשת בקבוצה הזו), לוחצים על Add network endpoint (הוספת נקודת קצה ברשת).

  5. בוחרים את המכונה הווירטואלית.

  6. בקטע Network interface (ממשק רשת), מוצגים השם, האזור ורשת המשנה של מכונת ה-VM.

  7. בשדה כתובת IPv4, מזינים את כתובת ה-IPv4 של נקודת הקצה החדשה ברשת.

  8. בשדה כתובת IPv6, מזינים את כתובת ה-IPv6 של נקודת הקצה החדשה ברשת.

  9. בוחרים את סוג היציאה.

    1. אם בוחרים באפשרות ברירת מחדל, נקודת הקצה משתמשת ביציאת ברירת המחדל 80 לכל נקודות הקצה בקבוצת נקודות הקצה ברשת. זה מספיק לדוגמה שלנו כי שרת Apache משרת בקשות ביציאה 80.
    2. אם בוחרים באפשרות בהתאמה אישית, מזינים את מספר היציאה של נקודת הקצה שבה רוצים להשתמש.
  10. כדי להוסיף עוד נקודות קצה, לוחצים על הוספת נקודת קצה ברשת וחוזרים על השלבים הקודמים.

  11. אחרי שמוסיפים את כל נקודות הקצה, לוחצים על יצירה.

gcloud

  1. מוסיפים נקודות קצה (נקודות קצה של GCE_VM_IP_PORT) אל ZONAL_NEG.

    gcloud compute network-endpoint-groups update ZONAL_NEG \
        --zone=GCP_NEG_ZONE \
        --add-endpoint='instance=vm-a1,ip=IPv4_ADDRESS, \
          ipv6=IPv6_ADDRESS,port=80' \
        --add-endpoint='instance=vm-a2,ip=IPv4_ADDRESS, \
          ipv6=IPv6_ADDRESS,port=80'
    

מחליפים את מה שכתוב בשדות הבאים:

IPv4_ADDRESS: כתובת IPv4 של נקודת הקצה ברשת. כתובת ה-IPv4 צריכה להיות שייכת למכונה וירטואלית ב-Compute Engine (או כתובת ה-IP הראשית או כחלק מטווח כתובות IP עם כינוי). אם לא מציינים כתובת IP, המערכת משתמשת בכתובת ה-IP הראשית של מכונת ה-VM ברשת שאליה משתייכת קבוצת נקודות הקצה ברשת.

IPv6_ADDRESS: כתובת ה-IPv6 של נקודת הקצה ברשת. כתובת ה-IPv6 צריכה להיות שייכת למכונה וירטואלית ברשת שאליה שייכת קבוצת נקודות הקצה ברשת (כתובת IPv6 חיצונית).

יצירת כלל לחומת האש לבדיקות תקינות (probes) של IPv6

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

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

בלי כלל חומת האש הזה, כלל הדחייה כברירת מחדל של תעבורת נתונים נכנסת (ingress) חוסם תעבורת נתונים נכנסת של IPv6 לשרתים העורפיים (backend instance).

המסוף

  1. נכנסים לדף Firewall policies במסוף Google Cloud .

    לדף Firewall policies

  2. כדי לאפשר תעבורה של רשת משנה IPv6, לוחצים שוב על יצירת כלל חומת אש ומזינים את הפרטים הבאים:

    • Name (שם): fw-allow-lb-access-ipv6
    • רשת: NETWORK
    • עדיפות: 1000
    • כיוון התנועה: תנועה נכנסת
    • יעדים: תגי יעד שצוינו
    • תגי טירגוט: allow-health-check-ipv6
    • מסנן מקור: טווחים של IPv6
    • טווחי IPv6 של המקור:

      • במאזן עומסים גלובלי חיצוני של אפליקציות (ALB) ובמאזן עומסי רשת גלובלי חיצוני בשרת proxy, מזינים 2600:2d00:1:b029::/64,2600:2d00:1:1::/64

      • למאזן עומסים פנימי של אפליקציות (ALB) בין אזורים, מאזן עומסים חיצוני אזורי של אפליקציות (ALB), מאזן עומסים פנימי אזורי של אפליקציות (ALB), מאזן עומסי רשת פנימי בשרת proxy בין אזורים, מאזן עומסי רשת חיצוני אזורי בשרת proxy ומאזן עומסי רשת פנימי אזורי בשרת proxy, מזינים 2600:2d00:1:b029::/64

    • Protocols and ports (פרוטוקולים ויציאות): Allow all (אישור הכול)

  3. לוחצים על יצירה.

gcloud

  1. יוצרים את כלל חומת האש fw-allow-lb-access-ipv6 כדי לאפשר תקשורת עם תת-הרשת.

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

    gcloud compute firewall-rules create fw-allow-lb-access-ipv6 \
        --network=NETWORK \
        --action=allow \
        --direction=ingress \
        --target-tags=allow-health-check-ipv6 \
        --source-ranges=2600:2d00:1:b029::/64,2600:2d00:1:1::/64 \
        --rules=all
    

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

    gcloud compute firewall-rules create fw-allow-lb-access-ipv6 \
        --network=NETWORK \
        --action=allow \
        --direction=ingress \
        --target-tags=allow-health-check-ipv6 \
        --source-ranges=2600:2d00:1:b029::/64 \
        --rules=all
    

יצירת כלל לחומת האש עבור תת-הרשת של שרת proxy בלבד

אם אתם משתמשים במאזן עומסים אזורי חיצוני של אפליקציות (ALB) או במאזן עומסים פנימי של אפליקציות (ALB), אתם צריכים לעדכן את כלל חומת האש של תעבורת הנתונים הנכנסת fw-allow-lb-access-ipv6 כדי לאפשר תעבורת נתונים מרשת המשנה של שרת ה-proxy בלבד אל הבק-אנד.

כדי לקבל את טווח כתובות ה-IPv6 של רשת המשנה מסוג proxy בלבד, מריצים את הפקודה הבאה:

gcloud compute networks subnets describe PROXY_ONLY_SUBNET \
    --region=REGION \
    --format="value(internalIpv6Prefix)"

שימו לב לטווח כתובות ה-IPv6 הפנימי. בהמשך המאמר נתייחס לטווח הזה כאל IPV6_PROXY_ONLY_SUBNET_RANGE.

כדי לעדכן את כלל חומת האש fw-allow-lb-access-ipv6 עבור תת-רשת של שרת proxy בלבד:

המסוף

  1. נכנסים לדף Firewall policies במסוף Google Cloud .

    לדף Firewall policies

  2. בחלונית VPC firewall rules (כללים של חומת האש ב-VPC), לוחצים על fw-allow-lb-access-ipv6.

    • טווחים של כתובות IPv6 של המקור: 2600:2d00:1:b029::/64, IPV6_PROXY_ONLY_SUBNET_RANGE
  3. לוחצים על Save.

gcloud

  1. מעדכנים את כלל חומת האש fw-allow-lb-access-ipv6 כדי לאפשר תקשורת עם תת-הרשת של שרת ה-proxy בלבד:

    gcloud compute firewall-rules update fw-allow-lb-access-ipv6 \
        --source-ranges=2600:2d00:1:b029::/64,IPV6_PROXY_ONLY_SUBNET_RANGE
    

יצירת שירות קצה עורפי חדש וכלל העברה ל-IPv6

בקטע הזה מתואר התהליך ליצירת שירות קצה עורפי חדש וכלל העברה ל-IPv6.

בשלב הזה בתהליך, גם BACKEND_SERVICE וגם BACKEND_SERVICE_IPV6 יכולים להציג תנועה. כדי למנוע שיבושים בתעבורה, יוצרים שירות קצה עורפי חדש עם מדיניות בחירת כתובת ה-IP שמוגדרת לערך Prefer IPv6. אחרי שיוצרים את שירות ה-Backend החדש, אפשר להפנות תעבורה לשירות ה-Backend החדש של IPv6.

המסוף

  1. נכנסים לדף Load balancing במסוף Google Cloud .

    כניסה לדף Load balancing

  2. לוחצים על השם של מאזן העומסים.

  3. לוחצים על Edit.

הגדרת שירות הקצה העורפי

  1. לוחצים על Backend configuration.
  2. בשדה שירות לקצה העורפי, בוחרים באפשרות Create a backend service.
  3. מגדירים את Name לערך BACKEND_SERVICE_IPV6.
  4. בקטע Backend type (סוג קצה עורפי), בוחרים באפשרות Zonal network endpoint group (קבוצה של נקודות קצה ברשת לפי אזור).
  5. ברשימה IP address selection policy בוחרים באפשרות Prefer IPv6.
  6. בשדה Protocol, בוחרים באפשרות HTTP.
  7. בחלונית New Backend (חדש):
    1. ברשימה network endpoint group, בוחרים באפשרות ZONAL_NEG.
    2. בשדה Maximum RPS, מזינים 10.
  8. ברשימה Health check, בוחרים בדיקת תקינות של HTTP.
  9. לוחצים על סיום.

הגדרת הקצה הקדמי של IPv6

  1. לוחצים על Frontend configuration.
  2. לוחצים על Add frontend IP and port.
  3. בשדה Name, מזינים שם לכלל ההעברה.
  4. בשדה Protocol, בוחרים באפשרות HTTP.
  5. מגדירים את IP version לערך IPv6.
  6. לוחצים על סיום.
  7. לוחצים על עדכון.

הגדרת כללי ניתוב

  1. לוחצים על כללי ניתוב.
  2. לוחצים על כלל מתקדם של מארח ונתיב.
  3. לוחצים על עדכון.

gcloud

  1. יוצרים בדיקת תקינות:

     gcloud compute health-checks create http HEALTH_CHECK \
         --port 80
    
  2. יוצרים את שירות הקצה העורפי לתנועת HTTP:

    גלובלי

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

    gcloud compute backend-services create BACKEND_SERVICE_IPV6 \
        --load-balancing-scheme=EXTERNAL_MANAGED \
        --protocol=HTTP \
        --ip-address-selection-policy=PREFER_IPV6 \
        --health-checks=HEALTH_CHECK \
        --global
    

    בין אזורים

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

    gcloud compute backend-services create BACKEND_SERVICE_IPV6 \
        --load-balancing-scheme=INTERNAL_MANAGED \
        --protocol=HTTP \
        --ip-address-selection-policy=PREFER_IPV6 \
        --health-checks=HEALTH_CHECK \
        --global
    

    אזורי

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

    gcloud compute backend-services create BACKEND_SERVICE_IPV6 \
        --load-balancing-scheme=EXTERNAL_MANAGED \
        --protocol=HTTP \
        --ip-address-selection-policy=PREFER_IPV6 \
        --health-checks=HEALTH_CHECK \
        --region=REGION
    

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

    gcloud compute backend-services create BACKEND_SERVICE_IPV6 \
        --load-balancing-scheme=INTERNAL_MANAGED \
        --protocol=HTTP \
        --ip-address-selection-policy=PREFER_IPV6 \
        --health-checks=HEALTH_CHECK \
        --region=REGION
    
  3. מוסיפים את ה-NEGs האזוריים עם תמיכה ב-IPv4/IPv6 כקצה העורפי לשירות הקצה העורפי.

    גלובלי

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

     gcloud compute backend-services add-backend BACKEND_SERVICE_IPV6 \
         --network-endpoint-group=ZONAL_NEG \
         --network-endpoint-group-zone=ZONE \
         --max-rate-per-endpoint=10 \
         --global
    

    בין אזורים

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

     gcloud compute backend-services add-backend BACKEND_SERVICE_IPV6 \
         --network-endpoint-group=ZONAL_NEG \
         --network-endpoint-group-zone=ZONE \
         --max-rate-per-endpoint=10 \
         --global
    

    אזורי

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

     gcloud compute backend-services add-backend BACKEND_SERVICE_IPV6 \
         --network-endpoint-group=ZONAL_NEG \
         --network-endpoint-group-zone=ZONE \
         --max-rate-per-endpoint=10 \
         --region=REGION
    
  4. מוסיפים את קבוצות המכונות עם כתובות IPv4 ו-IPv6 כקצה העורפי לשירות הקצה העורפי.

    גלובלי

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

     gcloud compute backend-services add-backend BACKEND_SERVICE_IPV6 \
         --instance-group=INSTANCE_GROUP \
         --global
    

    בין אזורים

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

     gcloud compute backend-services add-backend BACKEND_SERVICE_IPV6 \
         --instance-group=INSTANCE_GROUP \
         --global
    

    אזורי

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

     gcloud compute backend-services add-backend BACKEND_SERVICE_IPV6 \
         --instance-group=INSTANCE_GROUP \
         --region=REGION
    
  5. יוצרים את כלל ההעברה של IPv6 למאזן העומסים של האפליקציה.

    גלובלי

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

     gcloud compute forwarding-rules create FORWARDING_RULE_IPV6 \
         --load-balancing-scheme=EXTERNAL_MANAGED \
         --network-tier=PREMIUM \
         --global \
         --target-http-proxy=TARGET_PROXY \
         --ports=443
    

    בין אזורים

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

     gcloud compute forwarding-rules create FORWARDING_RULE_IPV6 \
         --load-balancing-scheme=INTERNAL_MANAGED \
         --network-tier=PREMIUM \
         --network=NETWORK
         --subnet=SUBNET
         --subnet-region=REGION
         --global \
         --target-http-proxy=TARGET_PROXY \
         --ports=443 \
         --ip-version=IPV6
    

    אזורי

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

    חיצוני אזורי

      gcloud compute forwarding-rules create FORWARDING_RULE_IPV6 \
          --load-balancing-scheme=EXTERNAL_MANAGED \
          --network-tier=PREMIUM \
          --network=NETWORK
          --subnet-region=REGION
          --subnet=SUBNET
          --global \
          --target-http-proxy=TARGET_PROXY \
          --ports=443 \
          --ip-version=IPV6
    

    אזורי פנימי

      gcloud compute forwarding-rules create FORWARDING_RULE_IPV6 \
          --load-balancing-scheme=INTERNAL_MANAGED \
          --network-tier=PREMIUM \
          --network=NETWORK
          --subnet-region=REGION
          --subnet=SUBNET
          --global \
          --target-http-proxy=TARGET_PROXY \
          --ports=443 \
          --ip-version=IPV6
    

ניתוב התנועה לשירות הקצה העורפי החדש של IPv6

מעדכנים את מפת URL כדי להפנות חלק מתעבורת הלקוחות לשירות הקצה העורפי החדש של IPv6‏ BACKEND_SERVICE_IPV6.

  1. כדי לערוך את מיפויי כתובות ה-URL, משתמשים בפקודה הבאה:

    גלובלי

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

      gcloud compute url-maps edit URL_MAP \
          --global
      

    בין אזורים

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

      gcloud compute url-maps edit URL_MAP \
          --global
      

    אזורי

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

       gcloud compute url-maps edit URL_MAP \
           --region=REGION
       
  2. בכלי לעריכת הטקסט שמופיע, מוסיפים routeRule עם פעולה weightedBackendServices שמפנה אחוז מסוים מתנועת IPv6 אל BACKEND_SERVICE_IPV6.

    defaultService: global/backendServices/BACKEND_SERVICE
    hostRules:
    - hosts:
      - '*'
      pathMatcher: matcher1
    name: URL_MAP
    pathMatchers:
    - defaultService: global/backendServices/BACKEND_SERVICE
      name: matcher1
      routeRules:
      - matchRules:
        - prefixMatch: ''
        priority: 1
        routeAction:
          weightedBackendServices:
          - backendService: global/backendServices/BACKEND_SERVICE
            weight: 95
          - backendService: global/backendServices/BACKEND_SERVICE_IPV6
            weight: 5
    

כדי להטמיע העברה הדרגתית ל-IPv6, צריך להגדיל את אחוז המשקל של שירות לקצה העורפי החדש BACKEND_SERVICE_IPV6בהדרגה עד 100% על ידי עריכה של מפת URL הרבה פעמים.

הגדרת מדיניות לבחירת כתובת IP

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

מחליפים את IP_ADDRESS_SELECTION_POLICY באחד מהערכים הבאים:

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

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

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

גם אם אחד מחיבורי IPv6 או IPv4 לא תקין, ה-backend עדיין נחשב תקין, ו-GFE יכול לנסות את שני החיבורים. בסופו של דבר, התכונה Happy Eyeballs בוחרת באיזה חיבור להשתמש.

IPv6 בלבד

הפניית תנועת IPv6 רק לחלק האחורי של שירות הקצה העורפי, בלי קשר לתנועה מהלקוח ל-proxy. בדיקות התקינות של IPv6 משמשות רק לבדיקת התקינות של השרתים העורפיים.

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

המסוף

  1. נכנסים לדף Load balancing במסוף Google Cloud .

    כניסה לדף Load balancing

  2. לוחצים על השם של מאזן העומסים.

  3. לוחצים על Edit.

  4. לוחצים על Backend configuration.

  5. בשדה שירות לקצה העורפי, בוחרים באפשרות BACKEND_SERVICE_IPV6.

  6. סוג ה-Backend חייב להיות קבוצה של נקודות קצה ברשת אזורית או קבוצת מופעים.

  7. ברשימה IP address selection policy בוחרים באפשרות IP_ADDRESS_SELECTION_POLICY.

  8. לוחצים על סיום.

gcloud

מעדכנים את מדיניות הבחירה של כתובות ה-IP בשירות לקצה העורפי:

גלובלי

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

gcloud compute backend-services update BACKEND_SERVICE_IPV6 \
    --load-balancing-scheme=EXTERNAL_MANAGED \
    --protocol=HTTP \
    --ip-address-selection-policy=IP_ADDRESS_SELECTION_POLICY \
    --global

בין אזורים

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

gcloud compute backend-services update BACKEND_SERVICE_IPV6 \
    --load-balancing-scheme=INTERNAL_MANAGED \
    --protocol=HTTP \
    --ip-address-selection-policy=IP_ADDRESS_SELECTION_POLICY \
    --global

אזורי

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

gcloud compute backend-services update BACKEND_SERVICE_IPV6 \
    --load-balancing-scheme=EXTERNAL_MANAGED \
    --protocol=HTTP \
    --ip-address-selection-policy=IP_ADDRESS_SELECTION_POLICY \
    --region=REGION

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

gcloud compute backend-services update BACKEND_SERVICE_IPV6 \
    --load-balancing-scheme=INTERNAL_MANAGED \
    --protocol=HTTP \
    --ip-address-selection-policy=IP_ADDRESS_SELECTION_POLICY \
    --region=REGION

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

צריך לוודא שכל המשאבים הנדרשים מעודכנים לשימוש ב-Dual Stack. אחרי שתעדכנו את כל המשאבים, התנועה תזרום אוטומטית אל השרתים העורפיים. אפשר לבדוק את היומנים ולוודא שההמרה הושלמה.

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

חיפוש כתובות ה-IP של מאזן העומסים

המסוף

  1. נכנסים לדף Load balancing במסוף Google Cloud .

    כניסה לדף Load balancing

  2. לוחצים על השם של מאזן העומסים.

  3. בקטע Frontend מוצגות שתי כתובות IP של איזון עומסים. בתהליך הזה, כתובת ה-IPv4 נקראת IP_ADDRESS_IPV4 וכתובת ה-IPv6 נקראת IP_ADDRESS_IPV6.

  4. בקטע Backends, אם מדיניות בחירת כתובות ה-IP היא Prefer IPv6, מוצגים שני סטטוסים של בדיקות תקינות לשרתי הקצה.

הפניית תנועה למאזן העומסים

בדוגמה הזו, בקשות מהפקודה curl מופצות באופן אקראי לשרתי הקצה העורפי.

למאזני עומסים חיצוניים

  1. חוזרים על הפקודות הבאות כמה פעמים עד שרואים שכל מכונות ה-VM של העורף מגיבות:

    curl -m1 IP_ADDRESS_IPV4:PORT
    
    curl -m1 IP_ADDRESS_IPV6:PORT
    

    לדוגמה, אם כתובת ה-IPv6 היא [fd20:1db0:b882:802:0:46:0:0]:80, הפקודה תיראה בערך כך:

    curl -m1 [fd20:1db0:b882:802:0:46:0:0]:80
    

למאזני עומסים פנימיים

  1. יוצרים מכונה וירטואלית של לקוח לבדיקה באותה רשת VPC ואותו אזור כמו מאזן העומסים. היא לא צריכה להיות באותה רשת משנה או באותו אזור.

    gcloud compute instances create client-vm \
        --zone=ZONE \
        --image-family=debian-12 \
        --image-project=debian-cloud \
        --tags=allow-ssh \
        --subnet=SUBNET \
        --stack-type=IPV4_IPV6
    
  2. משתמשים ב-SSH כדי להתחבר למכונת הלקוח.

    gcloud compute ssh client-vm \
        --zone=ZONE
    
  3. חוזרים על הפקודות הבאות כמה פעמים עד שרואים שכל מכונות ה-VM של העורף מגיבות:

    curl -m1 IP_ADDRESS_IPV4:PORT
    
    curl -m1 IP_ADDRESS_IPV6:PORT
    

    לדוגמה, אם כתובת ה-IPv6 היא [fd20:1db0:b882:802:0:46:0:0]:80, הפקודה תיראה בערך כך:

    curl -m1 [fd20:1db0:b882:802:0:46:0:0]:80
    

בדיקת היומנים

כל רשומה ביומן מתעדת את כתובות ה-IPv4 וה-IPv6 של היעד עבור ה-backend. בגלל שאנחנו תומכים ב-dual-stack, חשוב לשים לב לכתובת ה-IP שמשמשת את ה-backend.

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

ה-HttpRequest מכיל את כתובת backend_ip שמשויכת לשרת העורפי. אפשר לבדוק את היומנים ולהשוות את כתובות היעד IPv4 ו-IPv6 של backend_ip כדי לראות איזו כתובת IP נמצאת בשימוש.