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

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

אחרי שתשלימו את המשימות האלה, תוכלו להפעיל שירותים נוספים (כמו Cloud CDN ו-Google Cloud Armor) ותכונות מתקדמות לניהול תנועה.

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

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

בדוגמה שבדף הזה מוגדרת פריסה לדוגמה מהסוג הבא:

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

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

בהתאם למוצר הקישוריות ההיברידית שבחרתם (Cloud VPN או Cloud Interconnect (מוקדש או שותף)), צריך להשתמש במסמרי העזרה הרלוונטיים של המוצר כדי להגדיר אותו.

הרשאות

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

  • מופעל Google Cloud

  • בסביבה המקומית או בסביבה אחרת שאינה בענן שלGoogle Cloud

    • הרשאות להגדרת נקודות קצה ברשת שמאפשרות לשירותים בסביבה המקומית או בסביבות ענן אחרות להיות נגישים מ-Google Cloud באמצעות שילוב של IP:Port. למידע נוסף, אפשר לפנות לאדמין של הרשת בסביבה שלכם.
    • הרשאות ליצור כללי חומת אש בסביבה המקומית או בסביבות ענן אחרות כדי לאפשר לניסויי בדיקת תקינות של Google להגיע לנקודות הקצה.

בנוסף, כדי לבצע את ההוראות בדף הזה, צריך ליצור NEG עם קישוריות היברידית, מאזן עומסים (LB) ו-NEGs אזוריים (ונקודות הקצה שלהם) שישמשו כבק-אנדים מבוססי Google Cloudלמאזן העומסים.

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

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

אופציונלי: שימוש בכתובות BYOIP

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

מידע נוסף על השימוש ב-BYOIP זמין במאמר בנושא העברת כתובות IP משלכם.

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

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

‫Cloud Router שמופעל בו ניתוב דינמי גלובלי לומד על נקודת הקצה הספציפית באמצעות פרוטוקול Border Gateway Protocol ‏ (BGP) ומתכנת אותה ברשת ה-VPC שלכם Google Cloud . אין תמיכה בניתוב דינמי אזורי. אין תמיכה גם בנתיבים סטטיים.

אתם יכולים להשתמש באותה רשת או ברשת VPC אחרת באותו פרויקט כדי להגדיר גם רשת היברידית (Cloud Interconnect או Cloud VPN או מכונה וירטואלית של נתב) וגם מאזן עומסים. חשוב לזכור:

  • אם משתמשים ברשתות VPC שונות, צריך לקשר בין שתי הרשתות באמצעות VPC Network Peering או להגדיר אותן כרשתות מסוג spoke ב-VPC באותו מרכז NCC.

  • אם אתם משתמשים באותה רשת VPC, ודאו שטווח ה-CIDR של רשת המשנה של רשת ה-VPC לא מתנגש עם טווחי ה-CIDR המרוחקים. כשכתובות IP חופפות, נתיבי רשת משנה מקבלים עדיפות על פני קישוריות מרחוק.

הוראות מפורטות זמינות במאמרים הבאים:

הגדרת הסביבה מחוץ ל- Google Cloud

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

  • מגדירים נקודות קצה ברשת כדי לחשוף שירותים מקומיים ל-Google Cloud (IP:Port).
  • מגדירים כללים לחומת האש בסביבה המקומית או בסביבת ענן אחרת.
  • מגדירים את Cloud Router כך שיפרסם מסלולים מסוימים שנדרשים בסביבה הפרטית.

הגדרת נקודות קצה ברשת

אחרי שמגדירים קישוריות היברידית, מגדירים נקודות קצה אחת או יותר ברשת בסביבה המקומית או בסביבות ענן אחרות שאפשר להגיע אליהן דרך Cloud Interconnect או Cloud VPN או נתב וירטואלי באמצעות שילוב של IP:port. השילוב IP:port מוגדר כנקודת קצה אחת או יותר עבור ה-NEG של הקישוריות ההיברידית שנוצר בהמשך התהליך ב- Google Cloud .

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

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

צריך ליצור את כללי חומת האש הבאים בסביבה המקומית או בסביבת ענן אחרת:

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

מגדירים את Cloud Router כך שיפרסם את טווחי כתובות ה-IP המותאמים אישית הבאים בסביבה המקומית או בסביבת ענן אחרת:

  • הטווח של רשת המשנה של האזור שמוגדרת רק לשרתי proxy.

הגדרת Google Cloud הסביבה

בשלבים הבאים, חשוב להשתמש באותה רשת VPC (שנקראת NETWORK בהליך הזה) ששימשה להגדרת קישוריות היברידית בין הסביבות.

בנוסף, מוודאים שהאזור שבו משתמשים (שנקרא REGION בהליך הזה) זהה לאזור שבו השתמשתם כדי ליצור את מנהרת Cloud VPN או את צירוף ה-VLAN של Cloud Interconnect.

הגדרת רשת המשנה ל-proxy בלבד

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

המסוף

  1. נכנסים לדף VPC networks במסוף Google Cloud .
    מעבר לרשתות VPC
  2. עוברים לרשת ששימשה להגדרת קישוריות היברידית בין הסביבות.
  3. לוחצים על הוספת רשת משנה.
  4. מזינים שם: PROXY_ONLY_SUBNET_NAME.
  5. בוחרים אזור: REGION.
  6. מגדירים את Purpose (מטרה) לערך Regional Managed Proxy (שרת proxy מנוהל אזורי).
  7. מזינים טווח כתובות IP: PROXY_ONLY_SUBNET_RANGE.
  8. לוחצים על הוספה.

gcloud

יוצרים את תת-הרשת של ה-proxy בלבד באמצעות הפקודה gcloud compute networks subnets create.

gcloud compute networks subnets create PROXY_ONLY_SUBNET_NAME \
  --purpose=REGIONAL_MANAGED_PROXY \
  --role=ACTIVE \
  --region=REGION \
  --network=NETWORK \
  --range=PROXY_ONLY_SUBNET_RANGE

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

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

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

מסוף Cloud

  1. נכנסים לדף VPC networks במסוף Google Cloud .
    מעבר לרשתות VPC
  2. עוברים לרשת ששימשה להגדרת קישוריות היברידית בין הסביבות.
  3. בקטע Subnets:
    • מגדירים את מצב יצירת רשתות משנה לבהתאמה אישית.
    • בקטע New subnet (רשת משנה חדשה), מזינים את הפרטים הבאים:
      • Name (שם): LB_SUBNET_NAME
      • אזור: REGION
      • טווח כתובות IP: LB_SUBNET_RANGE
    • לוחצים על סיום.
  4. לוחצים על יצירה.

gcloud

יוצרים רשת משנה ברשת NETWORK ששימשה להגדרת קישוריות היברידית בין הסביבות.

  gcloud compute networks subnets create LB_SUBNET_NAME 
--network=NETWORK
--range=LB_SUBNET_RANGE
--region=REGION

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

מסוף Cloud

  1. נכנסים לדף Reserve a static address במסוף Google Cloud .

    מעבר אל 'שמירת כתובת סטטית'

  2. מזינים שם: LB_IP_ADDRESS.

  3. בקטע Network Service Tier, בוחרים באפשרות Standard.

  4. בשביל IP version, בוחרים IPv4.

  5. בשדה Type, בוחרים באפשרות Regional.

  6. בוחרים את REGION שבו רוצים ליצור את הכתובת.

  7. משאירים את האפשרות צירוף אל במצב ללא. אחרי שיוצרים את מאזן העומסים, כתובת ה-IP הזו מצורפת לכלל ההעברה של מאזן העומסים.

  8. לוחצים על שמירה כדי לשמור את כתובת ה-IP.

gcloud

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

    gcloud compute addresses create LB_IP_ADDRESS  \
       --region=REGION \
       --network-tier=STANDARD
    
  2. משתמשים בפקודה compute addresses describe כדי לראות את התוצאה:

    gcloud compute addresses describe LB_IP_ADDRESS  \
       --region=REGION
    

יצירת כללים לחומת אש עבור קבוצות NEGs אזוריות

בדוגמה הזו, יוצרים את הכללים הבאים של חומת האש עבור קצוות העורף של ה-NEG האזורי ב- Google Cloud:

  • fw-allow-health-check: כלל חומת אש לתעבורת נתונים נכנסת (ingress) שחל על המכונות הווירטואליות שמתבצע בהן איזון עומסים, ומאפשר תעבורת נתונים ממאזן העומסים וממערכות בדיקת התקינותGoogle Cloud (‫130.211.0.0/22 ו-35.191.0.0/16). בדוגמה הזו נעשה שימוש בתג היעד allow-health-check כדי לזהות את המכונות הווירטואליות של השרת העורפי שאליהן הכלל צריך לחול. אין צורך לאפשר תעבורה מטווחים של בדיקות תקינות של Google עבור קבוצות משולבות של נקודות קצה ברשת (NEGs). עם זאת, אם אתם משתמשים בשילוב של NEGs היברידיים ואזוריים בשירות לקצה העורפי יחיד, אתם צריכים לאפשר תנועה מטווחים של בדיקות תקינות של Google עבור ה-NEGs האזוריים.
  • fw-allow-proxy-only-subnet: כלל חומת אש של תעבורת נתונים נכנסת (ingress) שמאפשר חיבורים מתת-רשת של שרת proxy בלבד לשרתים העורפיים (backend). בדוגמה הזו נעשה שימוש בתג היעד allow-proxy-only-subnet כדי לזהות את מכונות ה-VM בקצה העורפי שאליהן צריך להחיל את התג.

המסוף

  1. נכנסים לדף Firewall policies במסוף Google Cloud .
    מעבר אל Firewall policies
  2. לוחצים על יצירת כלל חומת אש כדי ליצור את הכלל שיאפשר תעבורת נתונים מ
      בדיקות תקינות:
    1. מזינים שם של fw-allow-health-check.
    2. בקטע רשת, בוחרים באפשרות NETWORK.
    3. בקטע יעדים, בוחרים באפשרות תגי יעד ספציפיים.
    4. בשדה Target tags [תגי יעד] כותבים allow-health-check.
    5. מגדירים את Source filter בתור IPv4 ranges.
    6. מגדירים את Source IPv4 ranges (טווחים של כתובות IPv4 של המקור) ל-130.211.0.0/22 ול-35.191.0.0/16.
    7. בקטע Protocols and ports (פרוטוקולים ויציאות), בוחרים באפשרות Specified protocols and ports (פרוטוקולים ויציאות ספציפיים).
    8. בוחרים באפשרות TCP ומזינים את מספר היציאה 80.
    9. לוחצים על יצירה.
  3. לוחצים שוב על יצירת כלל חומת אש כדי ליצור את הכלל שיאפשר חיבורים נכנסים מתת-רשת של שרת proxy בלבד:
    1. Name (שם): fw-allow-ssh
    2. רשת: NETWORK
    3. עדיפות: 1000
    4. כיוון התנועה: כניסה
    5. פעולה בהתאמה: לאפשר
    6. יעדים: תגי יעד שצוינו
    7. תגי טירגוט: allow-proxy-only-subnet
    8. מסנן מקור: טווחים של IPv4
    9. טווחים של כתובות IPv4 של המקור: PROXY_ONLY_SUBNET_RANGE
    10. פרוטוקולים ויציאות: בוחרים באפשרות פרוטוקולים ויציאות שצוינו.
    11. בוחרים באפשרות TCP ומזינים 80 כמספר היציאה.
    12. לוחצים על יצירה.

gcloud

  1. יוצרים את הכלל fw-allow-health-check-and-proxy כדי לאפשר לבדיקות התקינות להגיע לשרתים העורפיים ביציאת TCP‏ 80: Google Cloud

    gcloud compute firewall-rules create fw-allow-health-check \
        --network=NETWORK \
        --action=allow \
        --direction=ingress \
        --target-tags=allow-health-check \
        --source-ranges=130.211.0.0/22,35.191.0.0/16 \
        --rules=tcp:80
    
  2. יוצרים כלל חומת אש שמאפשר תעבורת נתונים נכנסת (ingress) לתת-רשת של שרת proxy בלבד, כדי לאפשר למאזן העומסים לתקשר עם שרתים עורפיים (backend instance) ביציאת TCP‏ 80:

    gcloud compute firewall-rules create fw-allow-proxy-only-subnet \
        --network=NETWORK \
        --action=allow \
        --direction=ingress \
        --target-tags=allow-proxy-only-subnet \
        --source-ranges=PROXY_ONLY_SUBNET_RANGE \
        --rules=tcp:80
    

הגדרת קבוצת ה-NEG האזורית

לשרתי קצה עורפיים שמבוססים על Google Cloud, מומלץ להגדיר כמה קבוצות אזוריות של נקודות קצה ברשת (NEG) באותו אזור שבו הגדרתם קישוריות היברידית.

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

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

המסוף

  1. נכנסים לדף VM instances במסוף Google Cloud .
    כניסה לדף VM instances
  2. לוחצים על Create instance.
  3. מגדירים את Name לערך vm-a1.
  4. בשדה Region, בוחרים באפשרות REGION, ובשדה Zone בוחרים כל תחום. בהמשך התהליך הזה, נתייחס אליו כאל GCP_NEG_ZONE.
  5. בקטע Boot disk מוודאים שהאפשרות Debian GNU/Linux 12 (bookworm)‎ מסומנת באפשרויות של דיסק האתחול. לוחצים על בחירה כדי לשנות את התמונה, אם צריך.
  6. לוחצים על אפשרויות מתקדמות ומבצעים את השינויים הבאים:

    • לוחצים על Networking ומוסיפים את תגי הרשת הבאים: allow-ssh,allow-health-check ו-allow-proxy-only-subnet.
    • בקטע Network interfaces, לוחצים על Edit , מבצעים את השינויים הבאים ולוחצים על Done:
      • רשת: NETWORK
      • Subnet: LB_SUBNET_NAME
    • לוחצים על ניהול. בשדה סקריפט לטעינה בזמן ההפעלה, מעתיקים ומדביקים את תוכן הסקריפט הבא. תוכן הסקריפט זהה בכל ארבע המכונות הווירטואליות:

      #! /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 \
        --image-family=debian-12 \
        --image-project=debian-cloud \
        --tags=allow-ssh,allow-health-check,allow-proxy-only-subnet \
        --subnet=LB_SUBNET_NAME \
        --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 האזורי

המסוף

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

  1. נכנסים לדף Network Endpoint Groups במסוף Google Cloud .
    כניסה לדף Network Endpoint Groups
  2. לוחצים על יצירת קבוצת נקודות קצה ברשת.
  3. מזינים שם ל-NEG האזורי. בפרוצדורה הזו, הוא נקרא GCP_NEG_NAME.
  4. בוחרים את סוג קבוצת נקודות הקצה ברשת: קבוצת נקודות קצה ברשת (אזורית).
  5. בוחרים את הרשת: NETWORK
  6. בוחרים את תת-הרשת: LB_SUBNET_NAME
  7. בוחרים את האזור: GCP_NEG_ZONE
  8. מזינים את יציאת ברירת המחדל: 80.
  9. לוחצים על יצירה.

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

  1. נכנסים לדף Network Endpoint Groups במסוף Google Cloud .
    כניסה לדף Network endpoint groups
  2. לוחצים על Name (שם) של קבוצת נקודות הקצה ברשת שנוצרה בשלב הקודם (GCP_NEG_NAME). מוצג הדף Network endpoint group details (פרטים של קבוצת נקודות הקצה ברשת).
  3. בקטע Network endpoints in this group (נקודות קצה ברשת בקבוצה הזו), לוחצים על Add network endpoint (הוספת נקודת קצה ברשת). מוצג הדף Add network endpoint.
  4. בוחרים מכונה וירטואלית כדי להוסיף את כתובות ה-IP הפנימיות שלה כנקודות קצה ברשת. בקטע Network interface (ממשק רשת), מוצגים השם, האזור ורשת המשנה של מכונת ה-VM.
  5. בשדה כתובת IPv4, מזינים את כתובת ה-IPv4 של נקודת הקצה החדשה ברשת.
  6. בוחרים את סוג הניוד.
    1. אם בוחרים באפשרות ברירת מחדל, נקודת הקצה משתמשת ביציאת ברירת המחדל 80 לכל נקודות הקצה בקבוצת נקודות הקצה ברשת. זה מספיק לדוגמה שלנו כי שרת Apache משרת בקשות ביציאה 80.
    2. אם בוחרים באפשרות בהתאמה אישית, מזינים את מספר היציאה של נקודת הקצה שבה רוצים להשתמש.
  7. כדי להוסיף עוד נקודות קצה, לוחצים על הוספת נקודת קצה ברשת וחוזרים על השלבים הקודמים.
  8. אחרי שמוסיפים את כל נקודות הקצה, לוחצים על יצירה.

gcloud

  1. יוצרים NEG אזורי (עם GCE_VM_IP_PORT נקודות קצה) באמצעות הפקודה gcloud compute network-endpoint-groups create:

    gcloud compute network-endpoint-groups create GCP_NEG_NAME \
        --network-endpoint-type=GCE_VM_IP_PORT \
        --zone=GCP_NEG_ZONE \
        --network=NETWORK \
        --subnet=LB_SUBNET_NAME
    

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

  2. הוספת נקודות קצה ל-GCP_NEG_NAME.

    gcloud compute network-endpoint-groups update GCP_NEG_NAME \
        --zone=GCP_NEG_ZONE \
        --add-endpoint='instance=vm-a1,port=80' \
        --add-endpoint='instance=vm-a2,port=80'
    

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

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

בנוסף, אם אתם משתמשים ב-Cloud Interconnect, האזור שבו משתמשים כדי ליצור את ה-NEG צריך להיות באותו אזור שבו הוגדר צירוף ל-Cloud Interconnect.

רשימת האזורים והתחומים הזמינים מופיעה במסמכי העזרה של Compute Engine: אזורים ותחומים זמינים.

המסוף

כדי ליצור קבוצה של נקודות קצה ברשת עם קישוריות היברידית:

  1. נכנסים לדף Network Endpoint Groups במסוף Google Cloud .
    כניסה לדף Network endpoint groups
  2. לוחצים על יצירת קבוצת נקודות קצה ברשת.
  3. מזינים שם ל-NEG ההיברידי. בפרוצדורה הזו, הוא נקרא ON_PREM_NEG_NAME.
  4. בוחרים את סוג קבוצת נקודות הקצה ברשת: קבוצה של נקודות קצה ברשת לקישוריות היברידית (אזורית).
  5. בוחרים את הרשת: NETWORK
  6. בוחרים את רשת המשנה: LB_SUBNET_NAME
  7. בוחרים את האזור: ON_PREM_NEG_ZONE
  8. מזינים את יציאת ברירת המחדל.
  9. לוחצים על יצירה.

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

  1. נכנסים לדף Network Endpoint Groups במסוף Google Cloud .
    כניסה לדף Network Endpoint Groups
  2. לוחצים על Name של קבוצת נקודות הקצה ברשת שנוצרה בשלב הקודם (ON_PREM_NEG_NAME). מוצג הדף Network endpoint group detail.
  3. בקטע Network endpoints in this group (נקודות קצה ברשת בקבוצה הזו), לוחצים על Add network endpoint (הוספת נקודת קצה ברשת). מוצג הדף Add network endpoint.
  4. מזינים את כתובת ה-IP של נקודת הקצה החדשה ברשת.
  5. בוחרים את סוג הניוד.
    1. אם בוחרים באפשרות ברירת מחדל, נקודת הקצה משתמשת ביציאת ברירת המחדל לכל נקודות הקצה בקבוצת נקודות הקצה ברשת.
    2. אם בוחרים באפשרות בהתאמה אישית, אפשר להזין מספר יציאה אחר לשימוש בנקודת הקצה.
  6. כדי להוסיף עוד נקודות קצה, לוחצים על הוספת נקודת קצה ברשת וחוזרים על השלבים הקודמים.
  7. אחרי שמוסיפים את כל נקודות הקצה שאינןGoogle Cloud , לוחצים על יצירה.

gcloud

  1. יוצרים NEG קישוריות היברידית באמצעות הפקודה gcloud compute network-endpoint-groups create.

    gcloud compute network-endpoint-groups create ON_PREM_NEG_NAME \
        --network-endpoint-type=NON_GCP_PRIVATE_IP_PORT \
        --zone=ON_PREM_NEG_ZONE \
        --network=NETWORK
    
  2. מוסיפים את נקודת הקצה של המכונה הווירטואלית של ה-Backend המקומי אל ON_PREM_NEG_NAME:

    gcloud compute network-endpoint-groups update ON_PREM_NEG_NAME \
        --zone=ON_PREM_NEG_ZONE \
        --add-endpoint="ip=ON_PREM_IP_ADDRESS_1,port=PORT_1" \
        --add-endpoint="ip=ON_PREM_IP_ADDRESS_2,port=PORT_2"
    

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

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

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

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

המסוף

gcloud

  1. יוצרים בדיקת תקינות לשרתי הקצה העורפיים.
       gcloud compute health-checks create http HTTP_HEALTH_CHECK_NAME \
           --region=REGION \
           --use-serving-port
       
    בקשות לבדיקת תקינות של קצה עורפי של NEG היברידי מגיעות משרתי proxy של Envoy ברשת המשנה של proxy בלבד, ואילו בקשות לבדיקת תקינות של קצה עורפי של NEG אזורי מגיעות מ[טווח כתובות ה-IP של בדיקות מרכזיות של Google](/load-balancing/docs/health-check-concepts#ip-ranges).
  2. יוצרים שירות לקצה העורפי. מוסיפים את ה-NEG האזורי ואת ה-NEG של הקישוריות ההיברידית כשירותי קצה עורפיים לשירות הקצה העורפי הזה.
      gcloud compute backend-services create BACKEND_SERVICE \
          --load-balancing-scheme=EXTERNAL_MANAGED \
          --protocol=HTTP \
          --health-checks=HTTP_HEALTH_CHECK_NAME \
          --health-checks-region=REGION \
          --region=REGION
      
  3. מוסיפים את ה-NEG האזורי כקצה עורפי לשירות הקצה העורפי.
    gcloud compute backend-services add-backend BACKEND_SERVICE \
        --region=REGION \
        --balancing-mode=RATE \
        --max-rate-per-endpoint=MAX_REQUEST_RATE_PER_ENDPOINT \
        --network-endpoint-group=GCP_NEG_NAME \
        --network-endpoint-group-zone=GCP_NEG_ZONE
    
    פרטים על הגדרת מצב איזון העומסים זמינים במסמכי התיעוד של ה-CLI של gcloud בנושא הפרמטר --max-rate-per-endpoint.
  4. מוסיפים את ה-NEG ההיברידי כקצה עורפי לשירות הקצה העורפי.
    gcloud compute backend-services add-backend BACKEND_SERVICE \
        --region=REGION \
        --balancing-mode=RATE \
        --max-rate-per-endpoint=MAX_REQUEST_RATE_PER_ENDPOINT \
        --network-endpoint-group=ON_PREM_NEG_NAME \
        --network-endpoint-group-zone=ON_PREM_NEG_ZONE
    
    פרטים על הגדרת מצב איזון העומסים זמינים במסמכי התיעוד של ה-CLI של gcloud בנושא הפרמטר --max-rate-per-endpoint.
  5. יוצרים מפת URL כדי לנתב בקשות נכנסות לשירות הקצה העורפי:
    gcloud compute url-maps create URL_MAP_NAME \
        --default-service BACKEND_SERVICE \
        --region=REGION
    
  6. אופציונלי: מבצעים את השלב הזה אם משתמשים ב-HTTPS בין הלקוח לבין מאזן העומסים. השלב הזה לא נדרש למאזני עומסים של HTTP.

    אתם יכולים ליצור אישורים של Compute Engine או של Certificate Manager. אפשר להשתמש בכל אחת מהשיטות הבאות כדי ליצור אישורים באמצעות Certificate Manager:

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

    כדי ליצור משאב של אישור SSL בניהול עצמי ב-Compute Engine:
    gcloud compute ssl-certificates create SSL_CERTIFICATE_NAME \
        --certificate CRT_FILE_PATH \
        --private-key KEY_FILE_PATH
    
  7. יוצרים שרת proxy של HTTP(S) ליעד כדי להפנות בקשות למפת URL.

    כדי ליצור HTTP Target Proxy למאזן עומסים מסוג HTTP:
    gcloud compute target-http-proxies create TARGET_HTTP_PROXY_NAME \
        --url-map=URL_MAP_NAME \
        --url-map-region=REGION \
        --region=REGION
    
    למאזן עומסים מסוג HTTPS, יוצרים שרת proxy ליעד מסוג HTTPS. ה-proxy הוא החלק במאזן העומסים שמכיל את אישור ה-SSL לאיזון עומסים של HTTPS, ולכן בשלב הזה מעלים גם את האישור.
    gcloud compute target-https-proxies create TARGET_HTTPS_PROXY_NAME \
        --ssl-certificates=SSL_CERTIFICATE_NAME \
        --url-map=URL_MAP_NAME \
        --url-map-region=REGION \
        --region=REGION
    
  8. יוצרים כלל העברה כדי להפנות בקשות נכנסות לשרת ה-proxy. אל תשתמשו בתת-הרשת של שרת ה-proxy בלבד כדי ליצור את כלל ההעברה.

    למאזן עומסים מסוג HTTP:
      gcloud compute forwarding-rules create HTTP_FORWARDING_RULE_NAME \
          --load-balancing-scheme=EXTERNAL_MANAGED \
          --network=NETWORK \
          --subnet=LB_SUBNET_NAME \
          --address=LB_IP_ADDRESS \
          --ports=80 \
          --region=REGION \
          --target-http-proxy=TARGET_HTTP_PROXY_NAME \
          --target-http-proxy-region=REGION
    
    למאזן עומסים מסוג HTTPS:
      gcloud compute forwarding-rules create HTTPS_FORWARDING_RULE_NAME \
          --load-balancing-scheme=EXTERNAL_MANAGED \
          --network=NETWORK \
          --subnet=LB_SUBNET_NAME \
          --address=LB_IP_ADDRESS \
          --ports=443 \
          --region=REGION \
          --target-http-proxy=TARGET_HTTPS_PROXY_NAME \
          --target-http-proxy-region=REGION
    

חיבור הדומיין למאזן העומסים

אחרי שיוצרים את מאזן העומסים, רושמים את כתובת ה-IP שמשויכת למאזן העומסים – לדוגמה, 30.90.80.100. כדי להפנות את הדומיין למאזן העומסים, צריך ליצור רשומת A באמצעות שירות הרישום של הדומיין. אם הוספתם מספר דומיינים לאישור ה-SSL, צריך להוסיף רשומת A לכל אחד מהם, כשכולם מפנים לכתובת ה-IP של מאזן העומסים. לדוגמה, כדי ליצור רשומות A בשביל www.example.com ובשביל example.com, משתמשים בפקודה הבאה:

NAME                  TYPE     DATA
www                   A        30.90.80.100
@                     A        30.90.80.100

אם אתם משתמשים ב-Cloud DNS כספק ה-DNS, תוכלו לעיין במאמר בנושא הוספה, שינוי ומחיקה של רשומות.

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

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

  1. עוברים לדף איזון עומסים במסוף Google Cloud .
    כניסה לדף איזון עומסים
  2. לוחצים על מאזן העומסים שיצרתם.
  3. שימו לב לכתובת ה-IP של מאזן העומסים.
  4. שליחת תעבורה למאזן העומסים.

    • אם יצרתם מאזן עומסים של HTTP, אתם יכולים לבדוק את מאזן העומסים באמצעות דפדפן אינטרנט. לשם כך, עוברים אל http://IP_ADDRESS. מחליפים את IP_ADDRESS בכתובת ה-IP של מאזן העומסים. תועברו לשירות שחשפתם דרך נקודת הקצה.

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

      curl -k https://IP_ADDRESS
      

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

      curl -s https://DOMAIN_NAME
      

      מחליפים את DOMAIN_NAME בשם הדומיין של האפליקציה, לדוגמה, test.example.com.

  5. הבדיקה של נקודות הקצה שאינןGoogle Cloud תלויה בשירות שחשפתם דרך נקודת הקצה של ה-NEG ההיברידי.

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