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

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

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

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

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

בדוגמה הזו, אתם מגדירים את הפריסה שמוצגת בתרשים הבא.

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

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

הרשאות

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

  • מופעל Google Cloud

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

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

בנוסף, כדי לבצע את ההוראות בדף הזה, צריך ליצור NEG קישוריות היברידית, מאזן עומסים ו-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 משלכם, אפשר להקצות אחת מהן לכלל ההעברה כשמגדירים את מאזן העומסים. כשפועלים לפי ההוראות במאמר הזה כדי להגדיר את מאזן העומסים, צריך לציין את כתובת ה-IP של 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, או שהן צריכות להיות רשתות מסוג Spoke ב-VPC באותו מרכז (Hub) של 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 עבור קבוצות NEG היברידיות. עם זאת, אם אתם משתמשים בשילוב של NEGs היברידיים ואזוריים בשירות קצה עורפי יחיד, אתם צריכים לאפשר תנועה מטווחים של בדיקות תקינות של Google עבור ה-NEGs האזוריים.

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

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

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

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

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

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

תת-רשת של שרת proxy בלבד מספקת קבוצה של כתובות IP ש-Google משתמשת בהן כדי להפעיל שרתי proxy של Envoy בשמכם. הפרוקסיים מסיימים את החיבורים מהלקוח ויוצרים חיבורים חדשים לשרתי הקצה.

כל מאזני העומסים האזוריים שמבוססים על Envoy באזור (REGION_A) של רשת ה-VPC (NETWORK) משתמשים בתת-הרשת הזו שמוגדרת לשרת proxy בלבד.

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

המסוף

אם אתם משתמשים במסוף Google Cloud , אתם יכולים לחכות וליצור את רשת המשנה של ה-proxy בלבד מאוחר יותר בדף איזון עומסים.

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

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

    מעבר לרשתות VPC

  2. עוברים לרשת ששימשה להגדרת קישוריות היברידית בין הסביבות.

  3. לוחצים על הוספת רשת משנה.

  4. בשדה Name (שם), מזינים proxy-only-subnet.

  5. בשדה אזור, בוחרים באפשרות REGION_A.

  6. מגדירים את Purpose (מטרה) לערך Regional Managed Proxy (שרת Proxy אזורי מנוהל).

  7. בשדה טווח כתובות IP, מזינים 10.129.0.0/23.

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

gcloud

כדי ליצור את רשת המשנה של ה-proxy בלבד, משתמשים בפקודה gcloud compute networks subnets create:

gcloud compute networks subnets create proxy-only-subnet \
    --purpose=REGIONAL_MANAGED_PROXY \
    --role=ACTIVE \
    --region=REGION_A \
    --network=NETWORK \
    --range=10.129.0.0/23

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

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

המסוף

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

    איך מזמינים כתובת סטטית

  2. בוחרים שם לכתובת החדשה.

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

  4. בשביל IP version, בוחרים IPv4. אין תמיכה בכתובות IPv6.

  5. בקטע Type, בוחרים באפשרות Regional.

  6. בשדה אזור, בוחרים באפשרות REGION_A.

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

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

gcloud

  1. כדי לשמור כתובת IP חיצונית סטטית, משתמשים בפקודה gcloud compute addresses create:

    gcloud compute addresses create ADDRESS_NAME  \
       --region=REGION_A \
       --network-tier=STANDARD
    

    מחליפים את ADDRESS_NAME בשם שרוצים לתת לכתובת הזו.

  2. כדי לראות את התוצאה, משתמשים בפקודה gcloud compute addresses describe:

    gcloud compute addresses describe ADDRESS_NAME
    

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

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

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

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

המסוף

יצירת NEG לקישוריות היברידית

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

    כניסה לדף Network endpoint groups

  2. לוחצים על יצירת קבוצה של נקודות קצה ברשת.

  3. בשדה Name (שם), מזינים HYBRID_NEG_NAME.

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

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

  6. בקטע תת-רשת, בוחרים באפשרות LB_SUBNET.

  7. בשדה Zone, בוחרים באפשרות HYBRID_NEG_ZONE.

  8. בקטע Default port, בוחרים את ברירת המחדל.

  9. בשדה מספר החיבורים המקסימלי, מזינים 2.

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

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

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

    כניסה לדף Network endpoint groups

  2. לוחצים על השם של קבוצת נקודות הקצה ברשת שיצרתם בשלב הקודם (HYBRID_NEG_NAME).

  3. בדף Network endpoint group details, בקטע Network endpoints in this group, לוחצים על Add network endpoint.

  4. בדף הוספת נקודת קצה לרשת, מזינים את כתובת ה-IP של נקודת הקצה החדשה לרשת.

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

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

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

gcloud

  1. כדי ליצור NEG לקישוריות היברידית, משתמשים בפקודה gcloud compute network-endpoint-groups create:

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

    gcloud compute network-endpoint-groups update HYBRID_NEG_NAME \
        --zone=HYBRID_NEG_ZONE \
        --add-endpoint="ip=ENDPOINT_IP_ADDRESS,port=ENDPOINT_PORT"
    

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

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

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

המסוף

התחלת ההגדרה

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

    כניסה לדף 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 (פרוקסי או העברה), בוחרים באפשרות Proxy load balancer (מאזן עומסים של פרוקסי) ולוחצים על Next (הבא).
  5. בקטע Public facing or internal (פנימי או גלוי לכולם), בוחרים באפשרות Public facing (external) (גלוי לכולם – חיצוני) ולוחצים על Next (הבא).
  6. לפריסה גלובלית או פריסה באזור יחיד, בוחרים באפשרות הכי טוב לעומסי עבודה אזוריים ולוחצים על הבא.
  7. לוחצים על Configure (הגדרה).

הגדרה בסיסית

  1. בשדה שם, מזינים שם למאזן העומסים.
  2. בשדה אזור, בוחרים באפשרות REGION_A.
  3. בשדה רשת, בוחרים באפשרות NETWORK.

שמירת תת-רשת של שרת proxy בלבד

  1. לוחצים על שמירת רשת משנה.
  2. בשדה Name (שם), מזינים proxy-only-subnet.
  3. בשדה טווח כתובות IP, מזינים 10.129.0.0/23.
  4. לוחצים על הוספה.

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

  1. לוחצים על Backend configuration.
  2. בקטע סוג הבק-אנד, בוחרים באפשרות קבוצה של נקודות קצה ברשת לקישוריות היברידית (אזורית).
  3. בשדה Protocol, בוחרים באפשרות TCP.
  4. ברשימה Health check, לוחצים על Create a health check ומזינים את הפרטים הבאים:
    • בשדה Name, מזינים שם לבדיקת תקינות.
    • ברשימה Protocol בוחרים באפשרות TCP.
    • ברשימה יציאה, מזינים 80.
  5. לוחצים על יצירה.
  6. בקטע New backend (קצה עורפי חדש), בוחרים את קבוצת נקודות הקצה ברשת ההיברידית שיצרתם קודם לכן (HYBRID_NEG_NAME). לחלופין, אפשר ללחוץ על Create a network endpoint group (יצירת קבוצת נקודות קצה ברשת) כדי ליצור את קבוצת נקודות הקצה ברשת ההיברידית עכשיו. הוראות להגדרת ה-NEG זמינות במאמר הגדרת ה-NEG ההיברידי.
  7. משאירים את ערכי ברירת המחדל בשאר השדות ולוחצים על סיום.
  8. במסוף Google Cloud , מוודאים שמופיע סימן וי ליד Backend configuration. אם לא, צריך לוודא שהשלמתם את כל השלבים.

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

  1. לוחצים על Frontend configuration.
  2. בשדה שם, מזינים שם לכלל ההעברה.
  3. בקטע Network Service Tier, בוחרים באפשרות Standard.
  4. בשדה IP address, בוחרים באפשרות LB_IP_ADDRESS.
  5. בשדה מספר היציאה, מזינים מספר יציאה כלשהו בין 1 ל-65535. כלל ההעברה מעביר רק מנות עם יציאת יעד תואמת.
  6. מפעילים את פרוטוקול ה-Proxy רק אם הוא פועל עם השירות שפועל בנקודות הקצה בענן או בנקודות הקצה המקומיות. לדוגמה, פרוטוקול PROXY לא פועל עם תוכנת Apache HTTP Server. מידע נוסף זמין במאמר בנושא פרוטוקול PROXY.
  7. לוחצים על סיום.
  8. במסוף Google Cloud , מוודאים שיש סימן וי ליד Frontend configuration. אם לא, בודקים שוב שהשלמתם את כל השלבים הקודמים.

בדיקה וסיום

  1. לוחצים על Review and finalize.
  2. כדאי לבדוק שוב את ההגדרות.
  3. לוחצים על יצירה.

gcloud

  1. יוצרים בדיקת תקינות אזורית לשרתי הקצה העורפיים:

    gcloud compute health-checks create tcp TCP_HEALTH_CHECK_NAME \
        --region=REGION_A \
        --use-serving-port
    
  2. יוצרים שירות לקצה העורפי:

    gcloud compute backend-services create BACKEND_SERVICE_NAME \
       --load-balancing-scheme=EXTERNAL_MANAGED \
       --protocol=TCP \
       --region=REGION_A \
       --health-checks=TCP_HEALTH_CHECK_NAME \
       --health-checks-region=REGION_A
    
  3. מוסיפים את הקצה העורפי של ה-NEG ההיברידי לשירות הקצה העורפי:

    gcloud compute backend-services add-backend BACKEND_SERVICE_NAME \
       --network-endpoint-group=HYBRID_NEG_NAME \
       --network-endpoint-group-zone=HYBRID_NEG_ZONE \
       --region=REGION_A \
       --balancing-mode=CONNECTION \
       --max-connections=MAX_CONNECTIONS
    

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

  4. יוצרים את שרת ה-TCP Proxy ביעד:

    gcloud compute target-tcp-proxies create TARGET_TCP_PROXY_NAME \
       --backend-service=BACKEND_SERVICE_NAME \
       --region=REGION_A
    
  5. יוצרים את כלל ההעברה. משתמשים בפקודה gcloud compute forwarding-rules create. מחליפים את FWD_RULE_PORT במספר יציאה יחיד מ-1 עד 65535. כלל ההעברה מעביר רק מנות עם יציאת יעד תואמת.

    gcloud compute forwarding-rules create FORWARDING_RULE \
       --load-balancing-scheme=EXTERNAL_MANAGED \
       --network=NETWORK \
       --network-tier=STANDARD \
       --address=LB_IP_ADDRESS \
       --ports=FWD_RULE_PORT \
       --region=REGION_A \
       --target-tcp-proxy=TARGET_TCP_PROXY_NAME \
       --target-tcp-proxy-region=REGION_A
    

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

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

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

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

    gcloud compute addresses describe ADDRESS_NAME
    
  2. כדי לשלוח תנועה למאזן העומסים, מריצים את הפקודה הבאה. מחליפים את LB_IP_ADDRESS בכתובת ה-IPv4 של איזון העומסים.

    curl -m1 LB_IP_ADDRESS:FWD_RULE_PORT
    

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