הגדרה של מאזן עומסי רשת אזורי חיצוני להעברת סיגנל ללא שינוי עם קבוצות אזוריות של נקודות קצה ברשת (NEG)

במסמך הזה מוסבר איך פורסים מאזן עומסי רשת אזורי חיצוני להעברת סיגנל ללא שינוי עם קצוות עורפיים של קבוצת נקודות קצה ברשת (NEG) אזורית. קבוצות אזוריות של נקודות קצה של רשתות (NEGs) עם נקודות קצה של GCE_VM_IP מאפשרות לכם:

  • העברת חבילות לממשקי הרשת שאינם nic0 של מכונות וירטואליות (VM) על ידי ייצוג של ממשק רשת של מכונה וירטואלית כנקודת קצה של בק-אנד.
  • ליצור קבוצה גמישה של נקודות קצה בעורף, שבה אפשר לצרף נקודת קצה לכמה קבוצות NEG, ולכל קבוצת NEG יכולה להיות קבוצה שונה של נקודות קצה, שאולי חופפת לקבוצות אחרות.

לפני שממשיכים לקרוא את המסמך הזה, כדאי להכיר את הנושאים הבאים:

הרשאות

כדי לבצע את השלבים האלה, צריך ליצור מופעים ולשנות רשת בפרויקט. אתם צריכים להיות בעלים או בעלי הרשאת עריכה בפרויקט, או שיוקצו לכם כל תפקידי ה-IAM הבאים ב-Compute Engine:

משימה תפקיד נדרש
יצירת רשתות, רשתות משנה ורכיבים של מאזן עומסים אדמין ברשת Compute (roles/compute.networkAdmin)
הוספה והסרה של כללים לחומת האש אדמין אבטחת מחשוב (roles/compute.securityAdmin)
יצירת מופעים Compute Instance Admin (roles/compute.instanceAdmin)

מידע נוסף זמין בדפים הבאים:

סקירה כללית של ההגדרה

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

  1. רשת VPC לדוגמה בשם lb-network עם רשת משנה מותאמת אישית.
  2. כללי חומת אש שמאפשרים חיבורים נכנסים למכונות וירטואליות של שרתים עורפיים.
  3. ארבע מכונות וירטואליות:
    • מכונות וירטואליות vm-a1 ו-vm-a2 בתחום us-west1-a
    • מכונות וירטואליות vm-c1 ו-vm-c2 בתחום us-west1-c
  4. שתי קבוצות NEGs של קצה עורפי אזורי, neg-a באזור us-west1-a ו-neg-c באזור us-west1-c. לכל NEG יש את נקודות הקצה הבאות:
    • neg-a מכיל את שתי נקודות הקצה האלה:
      • nic1 של מכונה וירטואלית vm-a1 שזוהתה לפי כתובת ה-IP הפנימית הראשית שלה
      • nic1 של מכונה וירטואלית vm-a2 שזוהתה לפי כתובת ה-IP הפנימית הראשית שלה
    • neg-c מכיל את שתי נקודות הקצה האלה:
      • nic1 של מכונה וירטואלית vm-c1 שזוהתה לפי כתובת ה-IP הפנימית הראשית שלה
      • nic1 של מכונה וירטואלית vm-c2 שזוהתה לפי כתובת ה-IP הפנימית הראשית שלה
  5. מכונה וירטואלית אחת של לקוח (vm-client) ב-us-west1-a לבדיקת חיבורים
  6. הרכיבים הבאים של מאזן העומסים:
    • שירות חיצוני לקצה עורפי באזור us-west1 לניהול חלוקת החיבורים לשתי קבוצות ה-NEG האזוריות
    • כלל העברה חיצוני וכתובת IP לחלק הקדמי של מאזן העומסים

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

הארכיטקטורה של הדוגמה הזו נראית כך:

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

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

מתקינים את Google Cloud CLI. סקירה כללית מלאה של הכלי זמינה במאמר סקירה כללית על ה-CLI של gcloud. אפשר למצוא פקודות שקשורות לאיזון עומסים בהפניות ל-API ול-gcloud.

אם לא הפעלתם את ה-CLI של gcloud בעבר, אתם צריכים קודם להריץ את הפקודה gcloud init כדי לבצע אימות.

בדף הזה אנחנו מניחים שאתם מכירים את bash.

הגדרת הרשתות ורשתות המשנה

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

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

טווחים של רשתות משנה סוג המקבץ
רק טווחי תת-רשתות IPv4 IPV4_ONLY (single-stack)
טווחי רשתות משנה של IPv4 ו-IPv6 IPV4_IPV6 (dual-stack)
רק טווחי רשתות משנה של IPv6 IPV6_ONLY (single-stack)

עבור רשתות משנה עם תמיכה כפולה ורשתות משנה עם IPv6 בלבד שמשתמשות בטווח כתובות IPv6, צריך לבחור סוג גישה IPv6 לרשת המשנה. סוג הגישה ל-IPv6 קובע אם תת-הרשת מוגדרת עם כתובות IPv6 פנימיות או עם כתובות IPv6 חיצוניות. בדוגמה הזו, הפרמטר ipv6-access-type של רשת המשנה מוגדר ל-EXTERNAL.

אפשר גם להשתמש ברשת משנה עם טווח כתובות IPv6 חיצוניות, כלומר שפרמטר ipv6-access-type שלה מוגדר ל-EXTERNAL, כדי לקבוע את כתובת ה-IPv6 החיצונית של כלל העברה. מידע נוסף זמין במאמר בנושא מפרטים של כתובות IP לכללי העברה.

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

  • אזור: us-central1
  • רשת משנה: lb-subnet, עם טווח כתובות IPv4 ראשי 10.1.2.0/24. אתם בוחרים את טווח כתובות ה-IPv4 שמוגדר בתת-הרשת, אבל טווח כתובות ה-IPv6 מוקצה באופן אוטומטי. ‫Google מספקת בלוק CIDR של IPv6 בגודל קבוע (/64).

כדי ליצור את הרשת ואת רשת המשנה לדוגמה, פועלים לפי השלבים הבאים.

המסוף

כדי לתמוך בתנועה מסוג IPv4 ו-IPv6, פועלים לפי השלבים הבאים:

  1. נכנסים לדף VPC networks במסוף Cloud de Confiance .

    מעבר לרשתות VPC

  2. לוחצים על יצירת רשת VPC.

  3. בשדה Name (שם), מזינים lb-network.

  4. מגדירים את מצב יצירת רשת משנה לבהתאמה אישית.

  5. בקטע Subnets (רשתות משנה), לוחצים על Add subnet (הוספת רשת משנה) ומגדירים את השדות הבאים:

    • Name (שם): lb-subnet
    • אזור: us-central1
    • סוג מחסנית IP: IPv4 ו-IPv6 (מחסנית כפולה)
    • טווח IPv4: 10.1.2.0/24
      אפשר להגדיר טווח כתובות IPv4 לרשת המשנה, אבל אי אפשר לבחור את טווח כתובות ה-IPv6 לרשת המשנה. ‫Google מספקת בלוק CIDR של IPv6 בגודל קבוע (/64).
    • סוג הגישה ל-IPv6: חיצוני
    • לוחצים על סיום
  6. לוחצים על יצירה.

כדי לתמוך בתנועת IPv4 בלבד, פועלים לפי השלבים הבאים:

  1. נכנסים לדף VPC networks במסוף Cloud de Confiance .

    מעבר לרשתות VPC

  2. לוחצים על יצירת רשת VPC.

  3. בשדה Name (שם), מזינים lb-network.

  4. מגדירים את מצב יצירת רשת משנה לבהתאמה אישית.

  5. בקטע Subnets (רשתות משנה), לוחצים על Add subnet (הוספת רשת משנה) ומגדירים את השדות הבאים:

    • Name (שם): lb-subnet
    • אזור: us-central1
    • סוג מחסנית IP: IPv4 (מחסנית יחידה)
    • טווח IPv4: 10.1.2.0/24
  6. לוחצים על יצירה.

כדי לתמוך בתנועת IPv6 בלבד, פועלים לפי השלבים הבאים:

  1. נכנסים לדף VPC networks במסוף Cloud de Confiance .

    מעבר לרשתות VPC

  2. לוחצים על יצירת רשת VPC.

  3. בשדה Name (שם), מזינים lb-network.

  4. מגדירים את מצב יצירת רשת משנה לבהתאמה אישית.

  5. בקטע Subnets (רשתות משנה), לוחצים על Add subnet (הוספת רשת משנה) ומגדירים את השדות הבאים:

    • Name (שם): lb-subnet
    • אזור: us-central1
    • סוג מחסנית ה-IP: IPv6 (single-stack)
    • סוג הגישה ל-IPv6: חיצוני
  6. לוחצים על יצירה.

gcloud

  1. יוצרים את רשת ה-VPC במצב בהתאמה אישית:

    gcloud compute networks create lb-network \
        --subnet-mode=custom
    
  2. ברשת lb-network, יוצרים רשת משנה לשרתי קצה באזור us-central1.

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

      gcloud compute networks subnets create lb-subnet \
          --stack-type=IPV4_IPV6 \
          --ipv6-access-type=EXTERNAL \
          --network=lb-network \
          --range=10.1.2.0/24 \
          --region=us-central1
    

    כדי להגדיר תנועת IPv4 בלבד, משתמשים בפקודה הבאה:

      gcloud compute networks subnets create lb-subnet \
          --network=lb-network \
          --range=10.1.2.0/24 \
          --region=us-central1
    

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

    gcloud compute networks subnets create lb-subnet \
        --stack-type=IPV6_ONLY \
        --ipv6-access-type=EXTERNAL \
        --network=lb-network \
        --region=us-central1
    

יצירת מכונות וירטואליות (VM) וקבוצות של נקודות קצה ברשת

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

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

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

כדי לפשט את ההוראות, מכונות ה-VM של ה-Backend מריצות Debian GNU Linux 10.

כדי לטפל בתעבורת נתונים של IPv4 ו-IPv6, צריך להגדיר את מכונות ה-VM של הבק-אנד כ-dual-stack. מגדירים את stack-type של המכונה הווירטואלית לערך IPV4_IPV6. המכונות הווירטואליות מקבלות בירושה את ההגדרה ipv6-access-type (בדוגמה הזו, EXTERNAL) מתת-הרשת. פרטים נוספים על הדרישות של IPv6 זמינים במאמר סקירה כללית על מאזן עומסי רשת אזורי חיצוני להעברת סיגנל ללא שינוי: כללי העברה.

כדי להשתמש במכונות וירטואליות קיימות כשרתי קצה עורפיים, צריך לעדכן את המכונות הווירטואליות כך שיתמכו ב-dual-stack באמצעות הפקודה gcloud compute instances network-interfaces update.

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

כל מכונה וירטואלית נוצרת עם שני ממשקי רשת, nic0 ו-nic1. במדריך הזה נעשה שימוש ב-nic1, שמשויך לרשת ה-VPC‏ lb-network ולתת-הרשת lb-subnet. משתמשים ברשת lb-network וברשת המשנה lb-subnet כדי ליצור את קבוצות ה-NEG האזוריות בהמשך התהליך הזה.

המסוף

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

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

    כניסה לדף VM instances

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

    • שם: vm-a1, אזור: us-west1-a
    • שם: vm-a2, אזור: us-west1-a
    • שם: vm-c1, אזור: us-west1-c
    • שם: vm-c2, אזור: us-west1-c
  3. לוחצים על Create instance.

  4. מגדירים את השם כמו שצוין קודם.

  5. בקטע Region, בוחרים באפשרות us-west1, ובקטע Zone בוחרים באזור כמו שצוין קודם.

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

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

    • לוחצים על Networking ומוסיפים את תגי הרשת הבאים: lb-tag
    • בקטע ממשקי רשת, לוחצים על הוספת ממשק רשת ומבצעים את השינויים הבאים:

      בשביל קצה עורפי של IPv4 ו-IPv6:

      • רשת: lb-network
      • Subnet (רשת משנה): lb-subnet
      • סוג מחסנית ה-IP: IPv4 and IPv6 (dual-stack)
      • כתובת IP פנימית ראשית: זמנית (אוטומטית)
      • כתובת IPv4 חיצונית: זמנית (אוטומטית)
      • כתובת IPv6 חיצונית: זמנית (אוטומטית)

      בשביל IPv4 only backends:

      • רשת: lb-network
      • Subnet (רשת משנה): lb-subnet
      • סוג מחסנית ה-IP: IPv4 (single-stack)
      • כתובת IP פנימית ראשית: זמנית (אוטומטית)
      • כתובת IP חיצונית: זמנית

      לאחר מכן, לוחצים על סיום.

    • לוחצים על ניהול. בשדה 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
      
  8. לוחצים על יצירה.

gcloud

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

  • VM_NAME: vm-a1 וגם ZONE: us-west1-a
  • VM_NAME: vm-a2 וגם ZONE: us-west1-a
  • VM_NAME: vm-c1 וגם ZONE: us-west1-c
  • VM_NAME: vm-c2 וגם ZONE: us-west1-c

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

gcloud compute instances create VM_NAME \
    --zone=ZONE \
    --image-family=debian-12 \
    --image-project=debian-cloud \
    --tags=lb-tag \
    --network-interface=network=default,subnet=default,stack_type=IPV4_IPV6,--ipv6-network-tier=PREMIUM \
    --network-interface=network=lb-network,subnet=lb-subnet,stack_type=IPV4_IPV6,--ipv6-network-tier=PREMIUM \
    --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'

כדי לטפל בתנועת נתונים מ-IPv4 בלבד, משתמשים בפקודה הבאה:

gcloud compute instances create VM_NAME \
    --zone=ZONE \
    --image-family=debian-12 \
    --image-project=debian-cloud \
    --tags=lb-tag \
    --network-interface=network=default,subnet=default,stack_type=IPV4_ONLY \
    --network-interface=network=lb-network,subnet=lb-subnet,stack_type=IPV4_ONLY \
    --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'

יצירה של קבוצות אזוריות של נקודות קצה ברשת (NEGs) עם נקודות קצה מסוג GCE_VM_IP

צריך ליצור את קבוצות ה-NEG באותם אזורים שבהם נוצרו מכונות ה-VM בשלב הקודם. בדוגמה הזו נוצר גם ה-NEG ברשת ה-VPC‏ lb-network וברשת המשנה lb-subnet שמשויכות ל-nic1 מתוך המכונות הווירטואליות שנוצרו בשלב הקודם. לכן, נקודות הקצה של ה-NEG יהיו ב-nic1 מהמכונות הווירטואליות.

המסוף

כדי ליצור קבוצת נקודות קצה ברשת אזורית:

  1. נכנסים לדף Network Endpoint Groups במסוף Cloud de Confiance .
    כניסה לדף Network Endpoint Groups
  2. לוחצים על יצירת קבוצת נקודות קצה ברשת.
  3. מזינים שם ל-NEG האזורי: neg-a.
  4. בוחרים את סוג קבוצת נקודות הקצה ברשת: קבוצת נקודות קצה ברשת (אזורית).
  5. בוחרים את הרשת: lb-network
  6. בוחרים את תת-הרשת: lb-subnet
  7. בוחרים את האזור: us-west1-a
  8. לוחצים על יצירה.
  9. חוזרים על השלבים האלה כדי ליצור עוד קבוצת NEG אזורית בשם neg-c באזור us-west1-c.

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

  1. נכנסים לדף Network Endpoint Groups במסוף Cloud de Confiance .
    כניסה לדף Network endpoint groups
  2. לוחצים על Name (שם) של קבוצת נקודות הקצה הראשונה ברשת שנוצרה בשלב הקודם (neg-a). יוצג הדף Network endpoint group details.
  3. בקטע Network endpoints in this group (נקודות קצה ברשת בקבוצה הזו), לוחצים על Add network endpoint (הוספת נקודת קצה ברשת). מוצג הדף Add network endpoint.

    1. לוחצים על VM instance (מכונה וירטואלית) ובוחרים באפשרות vm-a1 כדי להוסיף את כתובות ה-IP הפנימיות שלה כנקודות קצה ברשת.
    2. לוחצים על יצירה.
    3. לוחצים שוב על Add network endpoint ובוחרים באפשרות vm-a2 בקטע VM instance.
    4. לוחצים על יצירה.
  4. לוחצים על Name של קבוצת נקודות הקצה השנייה ברשת שנוצרה בשלב הקודם (neg-c). יוצג הדף Network endpoint group details.

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

    1. לוחצים על VM instance ובוחרים באפשרות vm-c1 כדי להוסיף את כתובות ה-IP הפנימיות שלה כנקודות קצה ברשת.
    2. לוחצים על יצירה.
    3. לוחצים שוב על הוספת נקודת קצה ברשת ובוחרים באפשרות vm-c2 בקטע מופע של מכונה וירטואלית.
    4. לוחצים על יצירה.

gcloud

  1. כדי ליצור GCE_VM_IP קבוצת NEG אזורית בשם neg-a באזור us-west1-a, משתמשים בפקודה gcloud compute network-endpoint-groups create:

    gcloud compute network-endpoint-groups create neg-a \
        --network-endpoint-type=gce-vm-ip \
        --zone=us-west1-a \
        --network=lb-network \
        --subnet=lb-subnet
    
  2. הוספת נקודות קצה ל-neg-a:

    gcloud compute network-endpoint-groups update neg-a \
        --zone=us-west1-a \
        --add-endpoint='instance=vm-a1' \
        --add-endpoint='instance=vm-a2'
    
  3. כדי ליצור GCE_VM_IP קבוצת NEG אזורית בשם neg-c באזור us-west1-c, משתמשים בפקודה gcloud compute network-endpoint-groups create:

    gcloud compute network-endpoint-groups create neg-c \
        --network-endpoint-type=gce-vm-ip \
        --zone=us-west1-c \
        --network=lb-network \
        --subnet=lb-subnet
    
  4. הוספת נקודות קצה ל-neg-c:

    gcloud compute network-endpoint-groups update neg-c \
        --zone=us-west1-c \
        --add-endpoint='instance=vm-c1' \
        --add-endpoint='instance=vm-c2'
    

הגדרת כללים לחומת אש

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

בדוגמה הזו נוצר כלל של חומת אש שמאפשר לתעבורת TCP מכל טווחי המקור להגיע לשרתים העורפיים ביציאה 80. אם רוצים ליצור כללי חומת אש נפרדים במיוחד עבור בדיקות התקינות, צריך להשתמש בטווחים של כתובות ה-IP של המקור שמפורטים במאמר סקירה כללית על בדיקות תקינות: טווחי כתובות IP של בדיקות וכללי חומת אש.

המסוף

נכנסים לדף Firewall במסוף Cloud de Confiance .

כניסה לדף Firewall

כדי לאפשר תנועת IPv4, מבצעים את השלבים הבאים:

  1. לוחצים על יצירת כלל לחומת האש.
  2. מזינים שם: allow-network-lb-ipv4.
  3. בשדה רשת, בוחרים באפשרות lb-network.
  4. בקטע יעדים, בוחרים באפשרות תגי יעד שצוינו.
  5. בשדה Target tags (תגי יעד), מזינים lb-tag.
  6. בשדה מסנן מקור, בוחרים באפשרות טווחים של כתובות IPv4.
  7. מגדירים את Source IPv4 ranges לערך 0.0.0.0/0. כך אפשר להעביר תנועה ב-IPv4 מכל מקור. כך גם בדיקות תקינות של Google יכולות להגיע למופעי ה-Backend.
  8. בקטע פרוטוקולים ויציאות שצוינו, בוחרים באפשרות TCP ומזינים 80.
  9. לוחצים על יצירה.

כדי לאפשר תנועה ב-IPv6, מבצעים את השלבים הבאים:

  1. לוחצים שוב על יצירת כלל לחומת האש.
  2. מזינים שם: allow-network-lb-ipv6.
  3. בשדה רשת, בוחרים באפשרות lb-network.
  4. בקטע יעדים, בוחרים באפשרות תגי יעד שצוינו.
  5. בשדה Target tags (תגי יעד), מזינים lb-tag.
  6. בשדה מסנן מקור, בוחרים באפשרות טווחים של IPv6.
  7. מגדירים את Source IPv6 ranges (טווחי IPv6 של המקור) לערך ::/0. כך מתאפשרת תנועה ב-IPv6 מכל מקור. כך גם בדיקות תקינות של Google יכולות להגיע למופעי ה-Backend.
  8. בקטע פרוטוקולים ויציאות שצוינו, בוחרים באפשרות TCP ומזינים 80.
  9. לוחצים על יצירה.

gcloud

כדי לאפשר תנועה של IPv4, מריצים את הפקודה הבאה:

gcloud compute firewall-rules create allow-network-lb-ipv4 \
    --network=lb-network \
    --target-tags=lb-tag \
    --allow=tcp:80 \
    --source-ranges=0.0.0.0/0

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

gcloud compute firewall-rules create allow-network-lb-ipv6 \
    --network=lb-network \
    --target-tags=lb-tag \
    --allow=tcp:80 \
    --source-ranges=::/0
 

הגדרת מאזן העומסים

בשלב הבא, מגדירים את מאזן העומסים.

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

כדי להגדיר את מאזן העומסים, פועלים לפי ההוראות הבאות.

המסוף

התחלת ההגדרה

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

    כניסה לדף Load balancing

  2. לוחצים על Create load balancer (יצירת מאזן עומסים).
  3. בקטע Type of load balancer (סוג מאזן העומסים), בוחרים באפשרות Network Load Balancer (TCP/UDP/SSL) (מאזן עומסים ברשת (TCP/UDP/SSL)) ולוחצים על Next (הבא).
  4. בקטע Proxy or passthrough (פרוקסי או העברה), בוחרים באפשרות Passthrough load balancer (מאזן עומסים להעברה) ולוחצים על Next (הבא).
  5. בקטע Public facing or internal (פנימי או גלוי לכולם), בוחרים באפשרות Public facing (external) (גלוי לכולם – חיצוני) ולוחצים על Next (הבא).
  6. לוחצים על Configure (הגדרה).

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

  1. בדף יצירת מאזן עומסי רשת חיצוני להעברת סיגנל ללא שינוי, מזינים את השם network-lb-zonal-neg של מאזן העומסים החדש.
  2. ברשימה Region בוחרים באזור us-west1.
  3. לוחצים על Backend configuration. השם של מאזן העומסים שהזנתם קודם מופיע, אבל אי אפשר לשנות אותו.
  4. ברשימה סוג ה-Backend, בוחרים באפשרות קבוצת נקודות קצה ברשת אזורית.
  5. בדף Backend configuration, מבצעים את הפעולות הבאות:
    1. ברשימה Health check, לוחצים על Create a health check ומזינים את הפרטים הבאים:
      • Name (שם): tcp-health-check
      • Protocol: TCP
      • יציאה: 80
    2. לוחצים על יצירה.
    3. ברשימה Network endpoint group (קבוצת נקודות קצה ברשת), בוחרים באפשרות neg-a ואז לוחצים על Done (סיום).
    4. לוחצים על הוספת קצה עורפי וחוזרים על השלב הקודם כדי להוסיף את neg-c.
    5. לוחצים על Save.
  6. מוודאים שלצד Backend configuration מופיע סימן אישור כחול לפני שממשיכים.

הגדרות הקצה הקדמי

  1. לוחצים על Frontend configuration.
  2. בשדה Name (שם), מזינים netlb-forwarding-rule.
  3. כדי לטפל בתנועת נתונים ב-IPv4, פועלים לפי השלבים הבאים:
    1. בשביל IP version, בוחרים IPv4.
    2. בשדה IP address (כתובת IP), לוחצים על התפריט הנפתח ובוחרים באפשרות Create IP address (יצירת כתובת IP).
      1. בדף Reserve a new static IP address, בשדה Name, מזינים netlb-ipv4-address.
      2. לוחצים על Reserve.
    3. בקטע יציאות, בוחרים באפשרות יחיד. בשדה מספר יציאה, מזינים 80.
    4. לוחצים על סיום.
  4. כדי לטפל בתנועת נתונים ב-IPv6, פועלים לפי השלבים הבאים:

    1. בשביל IP version, בוחרים IPv6.
    2. בשדה Subnetwork, בוחרים באפשרות lb-subnet.
    3. בשביל IPv6 range, לוחצים על התפריט הנפתח ובוחרים באפשרות Create IP address.
      1. בדף Reserve a new static IP address, בשדה Name, מזינים netlb-ipv6-address.
      2. לוחצים על Reserve.
    4. בקטע יציאות, בוחרים באפשרות יחיד. בשדה מספר יציאה, מזינים 80.
    5. לוחצים על סיום.

    עיגול כחול עם סימן וי משמאל לFrontend configuration מציין שההגדרה בוצעה בהצלחה.

בדיקת ההגדרות האישיות

  1. לוחצים על Review and finalize.
  2. בודקים את הגדרות התצורה של מאזן העומסים.
  3. אופציונלי: לוחצים על Equivalent code (קוד מקביל) כדי לראות את בקשת API בארכיטקטורת REST שתשמש ליצירת מאזן העומסים.
  4. לוחצים על יצירה.

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

gcloud

  1. שמירת כתובת IP חיצונית סטטית.

    לתנועת IPv4

    יוצרים כתובת IPv4 חיצונית סטטית למאזן העומסים.

    gcloud compute addresses create netlb-ipv4-address \
        --region=us-west1
    

    לתנועת גולשים ב-IPv6

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

    gcloud compute addresses create netlb-ipv6-address \
        --region=us-west1 \
        --subnet=lb-subnet \
        --ip-version=IPV6 \
        --endpoint-type=NETLB
    
  2. יוצרים בדיקת תקינות של TCP.

    gcloud compute health-checks create tcp tcp-health-check \
        --region=us-west1 \
        --port=80
    
  3. יוצרים שירות לקצה העורפי.

    gcloud compute backend-services create networklb-backend-service \
        --protocol=TCP \
        --health-checks=tcp-health-check \
        --health-checks-region=us-west1 \
        --region=us-west1
    
  4. מוסיפים את שני ה-NEG האזוריים, neg-a ו-neg-c, לשירות הקצה העורפי:

    gcloud compute backend-services add-backend networklb-backend-service \
        --region=us-west1 \
        --network-endpoint-group=neg-a \
        --network-endpoint-group-zone=us-west1-a
    
    gcloud compute backend-services add-backend networklb-backend-service \
        --region=us-west1 \
        --network-endpoint-group=neg-c \
        --network-endpoint-group-zone=us-west1-c
    
  5. יוצרים את כללי ההעברה בהתאם לסוג התנועה שרוצים לטפל בה: IPv4 או IPv6. יוצרים את שני כללי ההעברה כדי לטפל בשני סוגי התנועה.

    לתנועת IPv4

    יוצרים כלל העברה לניתוב תנועת TCP נכנסת לשירות לקצה העורפי. משתמשים בכתובת IPv4 ששמרתם בשלב 1 ככתובת IP חיצונית סטטית של מאזן העומסים.

      gcloud compute forwarding-rules create forwarding-rule-ipv4 \
          --load-balancing-scheme=EXTERNAL \
          --region=us-west1 \
          --ports=80 \
          --address=netlb-ipv4-address \
          --backend-service=networklb-backend-service
    

    לתנועת גולשים ב-IPv6

    יוצרים כלל העברה לטיפול בתעבורת IPv6. משתמשים בטווח כתובות IPv6 ששמור בשלב 1 ככתובת IP חיצונית סטטית של מאזן העומסים. תת-הרשת שבה משתמשים צריכה להיות תת-רשת עם תמיכה בשני פרוטוקולים (dual-stack) עם טווח חיצוני של תת-רשת IPv6.

      gcloud compute forwarding-rules create forwarding-rule-ipv6 \
          --load-balancing-scheme=EXTERNAL \
          --region=us-west1 \
          --network-tier=PREMIUM \
          --ip-version=IPV6 \
          --subnet=lb-subnet \
          --address=netlb-ipv6-address \
          --ports=80 \
          --backend-service=networklb-backend-service
    

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

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

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

המסוף

  1. בדף Advanced load balancing, עוברים לכרטיסייה Forwarding rules.

    מעבר לכללי העברה

  2. מאתרים את כלל ההעברה שבו משתמש מאזן העומסים.

  3. בעמודה Address, שימו לב לכתובת ה-IP החיצונית שמופיעה.

‫gcloud: IPv4

מזינים את הפקודה הבאה כדי לראות את כתובת ה-IPv4 החיצונית של כלל ההעברה network-lb-forwarding-rule שמשמש את מאזן העומסים.

gcloud compute forwarding-rules describe forwarding-rule-ipv4 \
    --region=us-west1

‫gcloud: IPv6

מזינים את הפקודה הבאה כדי לראות את כתובת ה-IPv6 החיצונית של כלל ההעברה network-lb-forwarding-rule שמשמש את מאזן העומסים.

gcloud compute forwarding-rules describe forwarding-rule-ipv6 \
    --region=us-west1

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

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

  • מלקוחות עם קישוריות IPv4, מריצים את הפקודה הבאה:

    while true; do curl -m1 IPV4_ADDRESS; done
    
  • מלקוחות עם קישוריות IPv6, מריצים את הפקודה הבאה:

    while true; do curl -m1 http://IPV6_ADDRESS; done
    

    לדוגמה, אם כתובת ה-IPv6 שהוקצתה היא [2001:db8:1:1:1:1:1:1/96]:80, הפקודה תיראה כך:

    while true; do curl -m1 http://[2001:db8:1:1:1:1:1:1]:80; done
    

שימו לב לטקסט שמוחזר על ידי הפקודה curl. השם של מכונת ה-VM של ה-Backend שיוצרת את התגובה מוצג בטקסט הזה. לדוגמה: Page served from: VM_NAME

התגובה מהפקודה curl מתחלפת באופן אקראי בין מופעי ה-Backend. אם התגובה שלכם לא תצליח בהתחלה, יכול להיות שתצטרכו להמתין כ-30 שניות עד שההגדרה תיטען במלואה והמופעים שלכם יסומנו כפעילים, לפני שתנסו שוב.

אפשרויות הגדרה נוספות

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

יצירת כלל העברה של IPv6 באמצעות BYOIP

מאזן העומסים שנוצר בשלבים הקודמים מוגדר עם כללי העברה שבהם IP version הוא IPv4 או IPv6. בקטע הזה מוסבר איך ליצור כלל להעברת IPv6 עם כתובות IP משלכם (BYOIP).

התכונה 'העברת כתובות IP משלכם' מאפשרת לכם להקצות ולהשתמש בכתובות IPv6 ציבוריות משלכם עבור משאבים. Cloud de Confiance by S3NS מידע נוסף מופיע במאמר בנושא שימוש בכתובות IP משלכם.

לפני שמתחילים להגדיר כלל להעברת IPv6 עם כתובות BYOIP, צריך לבצע את השלבים הבאים:

  1. יצירת קידומת IPv6 ציבורית שמוכרזת
  2. יצירת קידומות ציבוריות שהוקצו
  3. יצירת קידומות משנה של IPv6
  4. הכרזה על הקידומת

כדי ליצור כלל העברה חדש, פועלים לפי השלבים הבאים:

המסוף

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

    כניסה לדף Load balancing

  2. לוחצים על השם של מאזן העומסים שרוצים לשנות.
  3. לוחצים על עריכה.
  4. לוחצים על Frontend configuration.
  5. לוחצים על Add frontend IP and port.
  6. בקטע New Frontend IP and port מציינים את הפרטים הבאים:
    1. בוחרים את הפרוטוקול שרוצים.
    2. בשדה IP version, בוחרים באפשרות IPv6.
    3. בשדה מקור טווח IPv6, בוחרים באפשרות BYOIP.
    4. ברשימה IP collection בוחרים קידומת משנה שנוצרה בשלבים הקודמים עם האפשרות של כלל ההעברה מופעלת.
    5. בשדה טווח IPv6, מזינים את טווח כתובות ה-IPv6. הקידומת של טווח כתובות IPv6 צריכה להיות זהה ל אורך הקידומת שניתן להקצאה שצוין על ידי קידומת המשנה המשויכת.
    6. בשדה יציאות, מזינים מספר יציאה.
    7. לוחצים על סיום.
  7. לוחצים על עדכון.

gcloud

יוצרים את כלל ההעברה באמצעות הפקודה gcloud compute forwarding-rules create:

gcloud compute forwarding-rules create FWD_RULE_NAME \
    --load-balancing-scheme EXTERNAL \
    --ip-protocol PROTOCOL \
    --ports ALL \
    --ip-version IPV6 \
    --region REGION_A \
    --address IPV6_CIDR_RANGE  \
    --backend-service BACKEND_SERVICE \
    --ip-collection PDP_NAME

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

  • FWD_RULE_NAME: השם של כלל ההעברה
  • PROTOCOL: פרוטוקול ה-IP של כלל ההעברה. ערך ברירת המחדל הוא TCP. פרוטוקול ה-IP יכול להיות אחד מהערכים הבאים: TCP,‏ UDP או L3_DEFAULT.
  • REGION_A: האזור של כלל ההעברה
  • IPV6_CIDR_RANGE: טווח כתובות IPv6 שהכלל להעברה משרת. הקידומת של טווח כתובות IPv6 צריכה להיות זהה ל אורך הקידומת שניתן להקצאה שצוין על ידי קידומת המשנה המשויכת.
  • BACKEND_SERVICE: השם של שירות הקצה העורפי
  • PDP_NAME: השם של הקידומת הציבורית המוקצית. ה-PDP חייב להיות קידומת משנה במצב EXTERNAL_IPV6_FORWARDING_RULE_CREATION

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