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

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

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

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

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

הרשאות

כדי לפעול לפי המדריך הזה, צריך ליצור NEG לאינטרנט וליצור או לשנות מאזן עומסים של אפליקציות בפרויקט. צריכות להיות לכם הרשאות בעלים או עריכה בפרויקט (roles/owner או roles/editor), או שצריכים להיות לכם שני תפקידי ה-IAM הבאים ב-Compute Engine.

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

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

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

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

הגדרת סביבת הקצה העורפי החיצונית מחוץ ל- Google Cloud

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

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

מגדירים נקודת קצה ברשת כדי לחשוף את הקצה העורפי החיצוני ל-Google Cloud. מוודאים שאפשר להגיע לנקודת הקצה – שילוב של כתובת IP ויציאה, או שם דומיין שמוגדר במלואו (FQDN) ויציאה – דרך האינטרנט. נקודת הקצה הזו מוזכרת בהמשך ב-NEG של האינטרנט.

דרישות ההגדרה המפורטות של נקודות קצה (endpoint) של NEG באינטרנט מפורטות במאמר סקירה כללית של NEGs באינטרנט.

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

אפשר להשלים את השלב הזה אחרי שיוצרים את רשת המשנה של ה-proxy בלבד ומגדירים את שער Cloud NAT.

כדי לאפשר לבקשות מ- Google Cloud להגיע לשרת העורפי החיצוני שלכם, תצטרכו לבצע את השלבים הבאים:

  1. מגדירים שער Cloud NAT עם כתובות IP שמשמשות לתעבורת נתונים יוצאת מ- Google Cloud. השער ממפה את טווח רשת המשנה של ה-proxy בלבד לכתובות ה-IP החיצוניות. שלבי התהליך מפורטים במאמר בנושא הגדרת שער Cloud NAT.
  2. חשוב לוודא שהסביבה של השרת העורפי החיצוני מוגדרת כך שתאפשר לתעבורה מ- Google Cloud להגיע לשרת העורפי החיצוני. לדוגמה, אם השתמשתם בכתובות IP שהוזמנו מראש עבור שער ה-NAT, תצטרכו להוסיף את כתובות ה-IP האלה לרשימת ההיתרים בסביבה החיצונית. כדי להגדיר את זה, סביר להניח שתצטרכו לעבוד עם מנהל הרשת או מנהל האבטחה של הסביבה החיצונית.

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

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

יצירת רשת ה-VPC והתת-רשת

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

מסוף Cloud

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

gcloud

  1. יוצרים את רשת ה-VPC המותאמת אישית באמצעות הפקודה gcloud compute networks create:

    gcloud compute networks create LB_NETWORK \
      --subnet-mode=custom
    
  2. יוצרים רשת משנה ברשת LB_NETWORK.

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

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

כל מאזני העומסים האזוריים שמבוססים על Envoy באזור REGION משתמשים בתת-הרשת הזו שמיועדת ל-proxy בלבד.

המסוף

  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=LB_NETWORK \
  --range=PROXY_ONLY_SUBNET_RANGE

הגדרת שער Cloud NAT

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

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

הגדרת כתובות IP שמוקצות באופן אוטומטי ל-NAT

כשיוצרים שער Cloud NAT עם הקצאה אוטומטית של כתובות IP ל-NAT, אפשר לציין את מסלולי שירות הרשת (מסלול פרימיום או מסלול רגיל) שמתוכם שער Cloud NAT יקצה את כתובות ה-IP.

המסוף

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

    כניסה ל-Cloud NAT

  2. לוחצים על Get started (תחילת העבודה) או על Create Cloud NAT gateway (יצירת שער Cloud NAT).

  3. מזינים שם של שער LB_NAT_CONFIG.

  4. בקטע NAT type (סוג NAT), בוחרים באפשרות Public (ציבורי).

  5. ברשימה Network בוחרים באפשרות LB_NETWORK.

  6. ברשימה Region בוחרים באזור REGION.

  7. יוצרים Cloud Router באזור.

  8. בשדה Source endpoint type (סוג נקודת הקצה של המקור), בוחרים באפשרות Managed proxy load balancers (מאזני עומסים של שרת proxy מנוהל).

  9. ברשימה מקור, בוחרים באפשרות בהתאמה אישית.

    • בקטע Subnets (רשתות משנה), בוחרים באפשרות PROXY_ONLY_SUBNET_NAME.
  10. ברשימה Cloud NAT IP addresses בוחרים באפשרות Automatic (recommended).

  11. בקטע Network service tier (מסלול שירות הרשת), בוחרים באפשרות Premium (פרימיום) או Standard (רגיל).

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

gcloud

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

  1. יוצרים Cloud Router:

    gcloud beta compute routers create ROUTER_NAME \
      --network=LB_NETWORK \
      --region=REGION
  2. מגדירים את שער Cloud NAT.

    gcloud beta compute routers nats create LB_NAT_CONFIG \
      --router=ROUTER_NAME \
      --endpoint-types=ENDPOINT_TYPE_MANAGED_PROXY_LB \
      --nat-custom-subnet-ip-ranges=PROXY_ONLY_SUBNET_NAME \
      --auto-allocate-nat-external-ips \
      --region=REGION
    

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

  • LB_NAT_CONFIG: השם של תצורת ה-NAT.

  • ROUTER_NAME: השם של Cloud Router

  • REGION: האזור של ה-NAT שרוצים ליצור. אם לא מציינים אזור, יכול להיות שתתבקשו לבחור אזור (רק במצב אינטראקטיבי).

  • PROXY_ONLY_SUBNET_NAME: השם של רשת המשנה של ה-proxy בלבד.

הגדרה של כתובות IP שהוקצו באופן ידני

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

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

המסוף

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

    כניסה ל-Cloud NAT

  2. לוחצים על Get started (תחילת העבודה) או על Create Cloud NAT gateway (יצירת שער Cloud NAT).

  3. מזינים שם של שער LB_NAT_CONFIG.

  4. ברשימה Network בוחרים באפשרות LB_NETWORK.

  5. ברשימה Region בוחרים באזור REGION.

  6. בוחרים Cloud Router קיים באזור או יוצרים Cloud Router חדש.

  7. בשדה Source endpoint type (סוג נקודת הקצה של המקור), בוחרים באפשרות Managed proxy load balancers (מאזני עומסים של שרת proxy מנוהל).

  8. ברשימה מקור, בוחרים באפשרות בהתאמה אישית.

    • בקטע Subnets, בוחרים באפשרות PROXY_ONLY_SUBNET_NAME.
  9. ברשימה Cloud NAT IP addresses בוחרים באפשרות Manual.

  10. בקטע Network service tier (מסלול שירות הרשת), בוחרים באפשרות Premium (פרימיום) או Standard (רגיל).

  11. בוחרים או יוצרים כתובת IP חיצונית סטטית שמורה לשימוש ב-NAT.

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

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

gcloud

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

    gcloud compute addresses create IP_ADDRESS_NAME_1 IP_ADDRESS_NAME_2 [IP_ADDRESS_NAME_3 ...] \
      --region=REGION
    
  2. יוצרים Cloud Router:

    gcloud compute routers create ROUTER_NAME \
      --network=LB_NETWORK \
      --region=REGION
  3. מגדירים את שער Cloud NAT.

    gcloud beta compute routers nats create LB_NAT_CONFIG \
      --router=ROUTER_NAME \
      --endpoint-types=ENDPOINT_TYPE_MANAGED_PROXY_LB \
      --nat-custom-subnet-ip-ranges=PROXY_ONLY_SUBNET_NAME \
      --nat-external-ip-pool=IP_ADDRESS_NAME_1,IP_ADDRESS_NAME_2,[IP_ADDRESS_NAME_3 ...] \
      --region=REGION
    

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

  • LB_NAT_CONFIG: השם של תצורת ה-NAT.

  • ROUTER_NAME: השם של Cloud Router

  • PROXY_ONLY_SUBNET_NAME: השם של רשת המשנה של ה-proxy בלבד.

  • REGION: האזור של ה-NAT שרוצים ליצור. אם לא מציינים אזור, יכול להיות שתתבקשו לבחור אזור (רק במצב אינטראקטיבי).

הגדרת הקצאה דינמית של יציאות

מעדכנים את שער Cloud NAT לשימוש במצב הקצאה דינמית של יציאות כדי להשתמש באופן מלא בכתובות ה-IP שהוקצו.

gcloud

  1. מעדכנים את שער Cloud NAT. מומלץ להגדיר את מספר היציאות המינימלי ל-2,048 ואת מספר היציאות המקסימלי ל-4,096.

    gcloud compute routers nats update LB_NAT_CONFIG \
        --router=ROUTER_NAME \
        --enable-dynamic-port-allocation \
        --min-ports-per-vm=MIN_PORTS_PER_VM \
        --max-ports-per-vm=MAX_PORTS_PER_VM \
        --region=REGION
    
  2. מוודאים שהקצאה דינמית של יציאות מופעלת ושהוגדר מספר מינימלי ומקסימלי של יציאות.

    gcloud compute routers nats describe LB_NAT_CONFIG \
         --router=ROUTER_NAME \
         --region=REGION
    

    הפלט אמור להיראות כך:

    enableDynamicPortAllocation: true
    enableEndpointIndependentMapping: false
    endpointTypes:
    ‐ ENDPOINT_TYPE_MANAGED_PROXY_LB
    logConfig:
      enable: true
      filter: ALL
    maxPortsPerVm: 4096
    minPortsPerVm: 2048
    name: LB_NAT_CONFIG
    natIpAllocateOption: MANUAL_ONLY
    natIps:
    ‐ https://www.googleapis.com/compute/projects/PROJECT_NAME/regions/REGION/addresses/ADDRESS
    sourceSubnetworkIpRangesToNat: ALL_SUBNETWORKS_ALL_IP_RANGES
    type: PUBLIC
    

מידע נוסף זמין במאמר בנושא הגדרת טווחי רשתות משנה ל-NAT במסמכי התיעוד של Cloud NAT.

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

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

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

המסוף

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

    מעבר אל Reserve a static address

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

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

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

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

  6. בוחרים Region.

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

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

gcloud

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

    gcloud compute addresses create LB_IP_ADDRESS  \
       --region=REGION \
       --network-tier=STANDARD
    

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

    • LB_IP_ADDRESS: השם שרוצים לתת לכתובת הזו.
    • REGION: האזור שבו רוצים לשריין את הכתובת הזו. האזור הזה צריך להיות זהה לאזור של מאזן העומסים. כל כתובות ה-IP האזוריות הן IPv4.
  2. משתמשים בפקודה compute addresses describe כדי לראות את התוצאה:

    gcloud compute addresses describe LB_IP_ADDRESS
    

הגדרת NEG באינטרנט

אפשר ליצור NEG לאינטרנט באמצעות נקודות קצה מסוג INTERNET_FQDN_PORT או נקודות קצה מסוג INTERNET_IP_PORT.

המסוף

יצירת NEG עם נקודות קצה של INTERNET_FQDN_PORT

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

    מעבר אל Network endpoint group

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

  3. מציינים INTERNET_NEG_NAME עבור קבוצת ה-NEG של האינטרנט. מידע נוסף זמין במאמר בנושא מוסכמות למתן שמות למשאבים.

  4. ברשימה Network endpoint group type בוחרים באפשרות Network endpoint group (Internet) ואז מבצעים את הפעולות הבאות:

    • ברשימה Scope, בוחרים באפשרות Regional.
    • אופציונלי: ברשימה אזור, משנים את REGION עבור ה-NEG הזה.
    • ברשימה Network בוחרים באפשרות LB_NETWORK.
    • בתיבה Default port (יציאת ברירת מחדל), מזינים DEFAULT_PORT_NUMBER.
    • ברשימה Add endpoints through (הוספת נקודות קצה דרך), בוחרים באפשרות Fully qualified domain name and port (שם דומיין שמוגדר במלואו ויציאה).
  5. לוחצים על יצירה.

הוספה של נקודות קצה של INTERNET_FQDN_PORT ל-NEG

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

    מעבר אל Network endpoint group

  2. לחץ על INTERNET_NEG_NAME.
  3. מזינים את שם הדומיין שמוגדר במלואו, למשל myorg.example.com. צריך לציין את אובייקטי ה-FQDN בתחביר FQDN רגיל.

  4. אופציונלי: בשדה סוג יציאה, בוחרים באפשרות בהתאמה אישית. אם סוג היציאה הוא Default, נעשה שימוש ביציאת ברירת המחדל של ה-NEG.

  5. בתיבה מספר יציאה, מזינים PORT_NUMBER_1.
  6. לוחצים על יצירה.

יצירת NEG עם נקודות קצה של INTERNET_IP_PORT

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

    מעבר אל Network endpoint group

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

  3. מציינים שם INTERNET_NEG_NAME ל-NEG של האינטרנט. מידע נוסף זמין במאמר בנושא מוסכמות למתן שמות למשאבים.

  4. ברשימה Network endpoint group type בוחרים באפשרות Network endpoint group (Internet) ואז מבצעים את הפעולות הבאות:

    • ברשימה Scope, בוחרים באפשרות Regional.
    • אופציונלי: ברשימה אזור, משנים את REGION עבור ה-NEG הזה.
    • ברשימה Network בוחרים באפשרות LB_NETWORK.
    • בתיבה Default port (יציאת ברירת מחדל), מזינים DEFAULT_PORT_NUMBER.
    • ברשימה Add endpoints through בוחרים באפשרות IP and port.
  5. לוחצים על יצירה.

הוספה של נקודות קצה של INTERNET_IP_PORT ל-NEG

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

    מעבר אל Network endpoint group

  2. לחץ על INTERNET_NEG_NAME.
  3. בשדה כתובת IP, מזינים IP_ADDRESS_1.
  4. אופציונלי: ברשימה סוג היציאה, בוחרים באפשרות בהתאמה אישית. אם סוג היציאה הוא Default, נעשה שימוש ביציאת ברירת המחדל של ה-NEG.

  5. בשדה מספר יציאה, מזינים PORT_NUMBER_1.
  6. לוחצים על יצירה.

gcloud

כדי ליצור NEG עם INTERNET_FQDN_PORT נקודות קצה:

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

    gcloud beta compute network-endpoint-groups create INTERNET_NEG_NAME \
        --network-endpoint-type=INTERNET_FQDN_PORT \
        --default-port=DEFAULT_PORT_NUMBER \
        --network=LB_NETWORK \
        --region=REGION
    
  2. מוסיפים נקודות קצה ל-NEG. אם לא מציינים יציאה, המערכת משתמשת ביציאה שמוגדרת כברירת מחדל ב-NEG.

    gcloud beta compute network-endpoint-groups update INTERNET_NEG_NAME \
        --add-endpoint="fqdn=FULLY_QUALIFIED_DOMAIN_NAME_1,port=PORT_NUMBER_1" \
        [--add-endpoint="fqdn=FULLY_QUALIFIED_DOMAIN_NAME_2,port=PORT_NUMBER_2" \]
        --region=REGION
    

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

    • FULLY_QUALIFIED_DOMAIN_NAME: שם הדומיין המלא של נקודת הקצה
    • PORT_NUMBER: מספר היציאה של נקודת הקצה

    אפשר להוסיף עד 256 נקודות קצה לכל NEG.

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

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

כדי ליצור NEG עם INTERNET_IP_PORT נקודות קצה:

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

    gcloud beta compute network-endpoint-groups create INTERNET_NEG_NAME \
        --network-endpoint-type=INTERNET_IP_PORT \
        --default-port=DEFAULT_PORT_NUMBER \
        --network=LB_NETWORK \
        --region=REGION
    
  2. מוסיפים נקודות קצה ל-NEG. אם לא מציינים יציאה, המערכת משתמשת ביציאה שמוגדרת כברירת מחדל ב-NEG.

    gcloud beta compute network-endpoint-groups update INTERNET_NEG_NAME \
        --add-endpoint="ip=IP_ADDRESS_1,port=PORT_NUMBER_1" \
        [--add-endpoint="ip=IP_ADDRESS_2,port=PORT_NUMBER_2" \]
        --region=REGION
    

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

    • IP_ADDRESS: כתובת ה-IP של נקודת הקצה
    • PORT_NUMBER: מספר היציאה של נקודת הקצה

    אפשר לחזור על השלב הזה כדי להוסיף עד 256 נקודות קצה לכל NEG.

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

המסוף

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

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

    כניסה לדף Load balancing

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

הגדרה בסיסית

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

הזמנת רשת משנה לשרת proxy בלבד

כדי להזמין רשת משנה ל-Proxy בלבד:

  1. לוחצים על שמירת רשת משנה.
  2. בשדה Name (שם), מזינים PROXY_ONLY_SUBNET_NAME.
  3. בשדה טווח כתובות IP, מזינים PROXY_ONLY_SUBNET_RANGE.
  4. לוחצים על הוספה.

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

  1. לוחצים על Frontend configuration.
  2. מזינים שם.
  3. כדי ליצור מאזן עומסים ב-HTTPS, צריך אישור SSL. בדוגמה הזו, יוצרים אישור SSL של Compute Engine.

    מאפיין (property) ערך (מקלידים ערך או בוחרים אפשרות כמפורט)
    פרוטוקול HTTPS
    גרסת ה-IP IPv4
    כתובת IP בוחרים את כתובת ה-IP שהוזמנה קודם: LB_IP_ADDRESS.
    יציאה 443
    אישור

    בשדה Choose certificate repository, בוחרים באפשרות Classic Certificates.

    בוחרים אישור SSL קיים או יוצרים אישור חדש.

    כדי ליצור מאזן עומסים ב-HTTPS, צריך משאב של אישור SSL לשימוש בשרת ה-proxy של HTTPS.

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

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

    מאפיין (property) ערך (מקלידים ערך או בוחרים אפשרות כמפורט)
    פרוטוקול HTTP
    גרסת ה-IP IPv4
    כתובת IP בוחרים את כתובת ה-IP שהוזמנה קודם: LB_IP_ADDRESS.
    יציאה 80
  4. לוחצים על סיום.

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

  1. לוחצים על Backend configuration.
  2. לוחצים על Backend services and backend buckets (שירותי קצה עורפיים ודלי קצה עורפיים).
  3. לוחצים על Create a backend service.
  4. מזינים שם.
  5. בקטע סוג קצה עורפי, בוחרים באפשרות קבוצה של נקודות קצה ברשת באינטרנט.
  6. בשדה פרוטוקול, בוחרים את הפרוטוקול שבו רוצים להשתמש ממאזן העומסים ל-NEG של האינטרנט.
  7. בקטע Backends, בחלון New backend, בוחרים את Regional internet network endpoint group שנוצר בשלב הקודם.
  8. לוחצים על סיום.
  9. מגדירים את בדיקת התקינות:
    1. בקטע Health check, בוחרים באפשרות Create a health check.
    2. מגדירים את שם בדיקת התקינות לערך HTTP_HEALTH_CHECK_NAME.
    3. בשדה Protocol, בוחרים באפשרות HTTP.
    4. מגדירים את Port לערך 80.
  10. לוחצים על יצירה.

בדיקה וסיום

  1. לוחצים על Review and finalize.
  2. אם הכל נראה בסדר, לוחצים על יצירה.

gcloud

  1. אופציונלי: יוצרים בדיקת תקינות. בדיקות התקינות של שרתי קצה עורפיים חיצוניים משתמשות בבדיקות התקינות המבוזרות של Envoy, והן מתורגמות מאוחר יותר באמצעות NAT.
    gcloud compute health-checks create http HTTP_HEALTH_CHECK_NAME \
        --region=REGION \
        --use-serving-port
    
  2. יוצרים שירות לקצה העורפי:
    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 \
        --network-endpoint-group=INTERNET_NEG_NAME \
        --network-endpoint-group-region=REGION \
        --region=REGION
    
  4. יוצרים מפת URL כדי לנתב בקשות נכנסות לשירות הקצה העורפי:
    gcloud compute url-maps create URL_MAP_NAME \
        --default-service=BACKEND_SERVICE \
        --region=REGION
    
  5. אופציונלי: מבצעים את השלב הזה אם משתמשים ב-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
    
  6. יוצרים שרת proxy של HTTP(S) ליעד כדי להפנות בקשות למפת URL.

    כדי ליצור מאזן עומסים מסוג HTTP, יוצרים proxy ליעד HTTP:

    gcloud compute target-http-proxies create TARGET_HTTP_PROXY_NAME \
        --url-map=URL_MAP_NAME \
        --region=REGION
    

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

    gcloud compute target-https-proxies create TARGET_HTTPS_PROXY_NAME \
        --ssl-certificates=SSL_CERTIFICATE_NAME \
        --url-map=URL_MAP_NAME \
        --region=REGION
    
  7. יוצרים כלל העברה כדי להפנות בקשות נכנסות לשרת ה-proxy.

    עבור מאזן עומסים מסוג HTTP:

    gcloud compute forwarding-rules create HTTP_FORWARDING_RULE_NAME \
        --load-balancing-scheme=EXTERNAL_MANAGED \
        --network-tier=STANDARD \
        --network=LB_NETWORK \
        --address=LB_IP_ADDRESS \
        --target-http-proxy=TARGET_HTTP_PROXY_NAME \
        --target-http-proxy-region=REGION \
        --region=REGION \
        --ports=80
    

    במאזן עומסים מסוג HTTPS:

    gcloud compute forwarding-rules create HTTPS_FORWARDING_RULE_NAME \
        --load-balancing-scheme=EXTERNAL_MANAGED \
        --network-tier=STANDARD \
        --network=LB_NETWORK \
        --address=LB_IP_ADDRESS \
        --target-https-proxy=TARGET_HTTPS_PROXY_NAME \
        --target-https-proxy-region=REGION \
        --region=REGION \
        --ports=443
    

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

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

המסוף

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

    כניסה לדף Load balancing

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

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

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

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

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

    אם זה לא עובד ואתם משתמשים באישור שמנוהל על ידי Google, צריך לוודא שהסטטוס של משאב האישור הוא ACTIVE. מידע נוסף זמין במאמר סטטוס של משאב אישור SSL בניהול Google.

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

    curl -s 'https://www.example.com:443' --resolve www.example.com:443:IP_ADDRESS
    
  5. אופציונלי: אם אתם משתמשים בדומיין מותאם אישית, יכול להיות שתצטרכו לחכות עד שהגדרות ה-DNS המעודכנות יתעדכנו. לאחר מכן, בודקים את הדומיין בדפדפן האינטרנט.

    לקבלת עזרה בפתרון בעיות, אפשר לעיין במאמר בנושא פתרון בעיות ב-NEG חיצוניות של קצה עורפי ובאינטרנט.

שלבי הגדרת תצורה נוספים

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

שימוש בכותרת מותאמת אישית לאימות בקשות

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

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

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

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

אפשר להגדיר את IAP כך שיהיה מופעל או מושבת (ברירת מחדל). אם האפשרות הזו מופעלת, צריך לספק ערכים למאפיינים oauth2-client-id ו-oauth2-client-secret.

כדי להפעיל את IAP, מעדכנים את שירות לקצה העורפי כך שיכלול את הדגל --iap=enabled עם הערכים oauth2-client-id ו-oauth2-client-secret.

אפשר גם להפעיל את IAP למשאב Compute Engine באמצעות מסוף Google Cloud ,‏ ה-CLI של gcloud או API.

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