בדף הזה מוסבר איך פורסים מאזן עומסים גלובלי חיצוני של אפליקציות (ALB) כדי לאזן עומסים של תנועה לנקודות קצה ברשת שנמצאות בפריסה מקומית או בעננים ציבוריים אחרים, ושאפשר להגיע אליהן באמצעות קישוריות היברידית.
אחרי שתשלימו את המשימות האלה, תוכלו להפעיל שירותים נוספים (כמו Cloud CDN ו-Google Cloud Armor) ותכונות מתקדמות לניהול תנועה.
אם עדיין לא עשיתם זאת, כדאי לעיין בסקירה הכללית של קבוצות NEGs עם קישוריות היברידית כדי להבין את דרישות הרשת להגדרת איזון עומסים היברידי.
סקירה כללית של ההגדרה
בדוגמה שבדף הזה מוגדרת פריסה לדוגמה באופן הבא:
צריך להגדיר קישוריות היברידית לפני שמנסים להגדיר פריסה היברידית של איזון עומסים. המסמך הזה לא כולל את הגדרת הקישוריות ההיברידית.
בהתאם למוצר הקישוריות ההיברידית שבחרתם (Cloud VPN או Cloud Interconnect (מוקדש או שותף)), אתם יכולים להשתמש במסמכי המוצר הרלוונטיים כדי להגדיר אותו.
הרשאות
כדי להגדיר איזון עומסים היברידי, צריכות להיות לכם ההרשאות הבאות:
מופעל Google Cloud
- הרשאות ליצירת קישוריות היברידית בין Google Cloud לבין הסביבה המקומית או סביבות ענן אחרות. רשימת ההרשאות הנדרשות מופיעה במסמכי המוצר הרלוונטי של Network Connectivity.
- הרשאות ליצירת NEG לקישוריות היברידית ומאזן עומסים.
התפקיד 'אדמין של מאזן עומסים של Compute' (
roles/compute.loadBalancerAdmin) כולל את ההרשאות שנדרשות לביצוע המשימות שמתוארות במדריך הזה.
בסביבה המקומית או בסביבה אחרת שאינה בענןGoogle Cloud
- הרשאות להגדרת נקודות קצה ברשת שמאפשרות לשירותים בסביבה המקומית או בסביבות ענן אחרות להיות נגישים מ-Google Cloud באמצעות שילוב של
IP:Port. למידע נוסף, אפשר לפנות לאדמין של הרשת בסביבה שלכם. - הרשאות ליצור כללי חומת אש בסביבה המקומית או בסביבות ענן אחרות כדי לאפשר לבוחני בדיקת תקינות של Google להגיע לנקודות הקצה.
- הרשאות להגדרת נקודות קצה ברשת שמאפשרות לשירותים בסביבה המקומית או בסביבות ענן אחרות להיות נגישים מ-Google Cloud באמצעות שילוב של
בנוסף, כדי לבצע את ההוראות בדף הזה, צריך ליצור NEG קישוריות היברידית, מאזן עומסים ו-NEGs אזוריים (ונקודות הקצה שלהם) שישמשו כבקאנדים מבוססי Google Cloudלמאזן העומסים.
צריך להיות לכם תפקיד בעלים או עריכה בפרויקט, או תפקידי IAM הבאים ב-Compute Engine.
| משימה | תפקיד נדרש |
|---|---|
| יצירת רשתות, רשתות משנה ורכיבים של מאזן עומסים | אדמין של רשת מחשוב
(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 או מכשירי 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 או Router appliance באמצעות שילוב של IP:port. השילוב IP:port מוגדר כנקודת קצה אחת או יותר עבור ה-NEG של הקישוריות ההיברידית שנוצר בשלב Google Cloud בתהליך הזה.
אם יש כמה נתיבים לנקודת הקצה של ה-IP, הניתוב מתבצע לפי ההתנהגות שמתוארת בסקירה הכללית של Cloud Router.
הגדרת כללים לחומת האש
צריך ליצור את כללי חומת האש הבאים בסביבה המקומית או בסביבת ענן אחרת:
יוצרים כלל חומת אש שמאפשר תעבורת נתונים נכנסת (ingress) מGoogle Cloud טווחי בדיקת התקינות.
פרסום מסלולים
מגדירים את Cloud Router כך שיפרסם את טווחי כתובות ה-IP המותאמים אישית הבאים בסביבה המקומית או בסביבת ענן אחרת:
- הטווחים שבהם נעשה שימוש בבדיקות תקינות של Google.
הגדרת סביבת Google Cloud הפרויקט
בשלבים הבאים, חשוב להשתמש באותה רשת VPC (שנקראת NETWORK בהליך הזה) ששימשה להגדרת קישוריות היברידית בין הסביבות.
יצירת רשת המשנה לשרתי הקצה העורפי
רשת המשנה הזו משמשת ליצירת בק-אנדים של קבוצות אזוריות של נקודות קצה ברשת (NEG) של מאזן העומסים, הקצה הקדמי וכתובת ה-IP הפנימית.
יוצרים את רשת המשנה הזו בNETWORK רשת ששימשה להגדרת קישוריות היברידית בין הסביבות.
המסוף
כדי לתמוך בתנועה של IPv4 ו-IPv6, פועלים לפי השלבים הבאים:
נכנסים לדף VPC networks במסוף Google Cloud .
עוברים לרשת ששימשה להגדרת קישוריות היברידית בין הסביבות.
- לוחצים על Edit.
- בקטע Subnet creation mode (מצב יצירת רשת משנה), בוחרים באפשרות Custom (בהתאמה אישית).
- לוחצים על Save.
אופציונלי: אם רוצים להגדיר טווחי כתובות IPv6 פנימיות ברשתות משנה ברשת הזו, מבצעים את השלבים הבאים:
- בקטע VPC network ULA internal IPv6 range (טווח IPv6 פנימי של ULA ברשת VPC), בוחרים באפשרות Enabled (מופעל).
בקטע הקצאת טווח פנימי של IPv6, בוחרים באפשרות אוטומטית או ידנית.
אם בוחרים באפשרות Manually, צריך להזין טווח של
/48מתוך הטווחfd20::/20. אם הטווח נמצא בשימוש, תתבקשו לספק טווח אחר.
בכרטיסייה Subnets, לוחצים על Add subnet.
בחלונית Add a subnet, מגדירים את השדות הבאים:
- בשדה Name, מציינים שם לרשת המשנה.
- בשדה אזור, בוחרים אזור.
- בשדה טווח כתובות IP, מזינים טווח של כתובות IP.
- בשביל IP stack type, בוחרים באפשרות IPv4 and IPv6 (dual-stack).
- בשדה IPv6 access type (סוג הגישה ל-IPv6), בוחרים באפשרות External (חיצוני).
- לוחצים על הוספה.
כדי לתמוך בתנועה של IPv4, פועלים לפי השלבים הבאים:
נכנסים לדף VPC networks במסוף Google Cloud .
עוברים לרשת ששימשה להגדרת קישוריות היברידית בין הסביבות.
- לוחצים על Edit.
- בקטע Subnet creation mode (מצב יצירת רשת משנה), בוחרים באפשרות Custom (בהתאמה אישית).
- לוחצים על Save.
בכרטיסייה Subnets, לוחצים על Add subnet.
בחלונית Add a subnet, מזינים את המידע הבא:
- בשדה Name, מציינים שם לרשת המשנה.
- בשדה אזור, בוחרים אזור.
- בשדה טווח כתובות IP, מזינים טווח של כתובות IP.
- בשדה IP stack type, בוחרים באפשרות IPv4 (single-stack).
- לוחצים על הוספה.
gcloud
יוצרים רשת משנה ברשת NETWORK ששימשה להגדרת קישוריות היברידית בין הסביבות.
כדי להגדיר תנועה של IPv4 ו-IPv6, משתמשים בפקודה הבאה:
gcloud compute networks update NETWORK \
[ --enable-ula-internal-ipv6 [ --internal-ipv6-range=ULA_IPV6_RANGE ]] \
--switch-to-custom-subnet-mode
gcloud compute networks subnets create LB_SUBNET_NAME \
--network=NETWORK \
--range=LB_SUBNET_RANGE \
--region=REGION \
--stack-type=IPV4_IPV6 \
--ipv6-access-type=EXTERNAL
לגבי תנועה ב-IPv4, משתמשים בפקודה הבאה:
gcloud compute networks subnets create LB_SUBNET_NAME \
--network=NETWORK \
--range=LB_SUBNET_RANGE \
--region=REGION
מחליפים את מה שכתוב בשדות הבאים:
NETWORK: שם לרשת ה-VPC.
LB_SUBNET_NAME: שם לתת-הרשת.
REGION: שם האזור.
ULA_IPV6_RANGE: קידומת/48מתוך הטווחfd20::/20שמשמש את Google לטווחים פנימיים של רשתות משנה ב-IPv6. אם לא משתמשים בדגל--internal-ipv6-range, Google בוחרת קידומת/48לרשת.
יצירת כלל לחומת האש
בדוגמה הזו, יוצרים את כלל חומת האש הבא:
fw-allow-health-check: כלל תעבורת נתונים נכנסת (ingress) שרלוונטי למופעים Google Cloudשמתבצע בהם איזון עומסים, שמאפשר תעבורת נתונים ממאזן העומסים וממערכות בדיקת התקינותGoogle Cloud (130.211.0.0/22ו-35.191.0.0/16). בדוגמה הזו נעשה שימוש בתג היעדallow-health-checkכדי לזהות את המכונות הווירטואליות בעורף שאליהן הכלל צריך לחול.
המסוף
נכנסים לדף Firewall policies במסוף Google Cloud .
לוחצים על יצירת כלל לחומת האש:
- מזינים שם של
fw-allow-health-check. - בקטע רשת, בוחרים באפשרות
NETWORK. - בקטע יעדים, בוחרים באפשרות תגי יעד ספציפיים.
- בשדה Target tags (תגי יעד) כותבים
allow-health-check. - מגדירים את Source filter בתור IPv4 ranges.
- מגדירים את Source IPv4 ranges ל-
130.211.0.0/22ול-35.191.0.0/16. - בקטע Protocols and ports (פרוטוקולים ויציאות), בוחרים באפשרות Specified protocols and ports (פרוטוקולים ויציאות שצוינו).
- מסמנים את התיבה לצד TCP ומקלידים
80בשביל מספרי היציאות.
- מזינים שם של
לוחצים על יצירה.
כדי לאפשר תעבורה של רשת משנה IPv6, לוחצים שוב על יצירת כלל חומת אש ומזינים את הפרטים הבאים:
- Name (שם):
fw-allow-lb-access-ipv6 - רשת:
NETWORK - עדיפות:
1000 - כיוון התנועה: תנועה נכנסת
- יעדים: תגי יעד שצוינו
- בשדה Target tags (תגי טרגוט), מזינים
allow-health-check-ipv6. - מסנן מקור: טווחים של IPv6
- טווחים של כתובות IPv6 של המקור:
2600:2d00:1:b029::/64,2600:2d00:1:1::/64 - Protocols and ports (פרוטוקולים ויציאות): Allow all (אישור הכול)
- Name (שם):
לוחצים על יצירה.
gcloud
יוצרים את הכלל
fw-allow-health-check-and-proxyכדי לאפשר למאזן העומסים ולבדיקות התקינות לתקשר עם מכונות קצה עורפי ביציאת TCP Google Cloud .80מחליפים את NETWORK בשם של רשת ה-VPC שמשמשת להגדרת קישוריות היברידית.
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יוצרים את הכלל
fw-allow-health-check-ipv6כדי לאפשר Google Cloudבדיקות תקינות של IPv6.gcloud compute firewall-rules create fw-allow-health-check-ipv6 \ --network=NETWORK \ --action=allow \ --direction=ingress \ --target-tags=allow-health-check-ipv6 \ --source-ranges=2600:2d00:1:b029::/64,2600:2d00:1:1::/64 \ --rules=tcp,udp,icmp
הגדרת ה-NEG האזורי
לשרתי קצה עורפיים שמבוססים על Google Cloud, מומלץ להגדיר כמה קבוצות אזוריות של נקודות קצה ברשת (NEGs) באותו אזור שבו הגדרתם קישוריות היברידית.
קבוצות NEGs אזוריות עם נקודות קצה מסוגGCE_VM_IP_PORT אחד או יותר תומכות ב-dual-stack.
בדוגמה הזו, הגדרנו קבוצת נקודות קצה אזורית (עם נקודות קצה מסוג GCE_VM_IP_PORT) באזור REGION. קודם יוצרים את המכונות הווירטואליות באזור GCP_NEG_ZONE. לאחר מכן, יוצרים NEG אזורי באותו GCP_NEG_ZONE ומוסיפים את נקודות הקצה ברשת של המכונות הווירטואליות ל-NEG.
יצירת מכונות וירטואליות
המסוף
נכנסים לדף VM instances במסוף Google Cloud .
לדף VM instancesלוחצים על Create instance.
מגדירים את Name לערך
vm-a1.בוחרים REGION בשדה אזור.
בשדה Zone (אזור), בוחרים באפשרות GCP_NEG_ZONE.
בקטע Boot disk מוודאים שהאפשרות Debian GNU/Linux 12 (bookworm) מסומנת באפשרויות של דיסק האתחול. לוחצים על בחירה כדי לשנות את התמונה, אם צריך.
לוחצים על אפשרויות מתקדמות ומבצעים את השינויים הבאים:
- לוחצים על Networking ומוסיפים את Network tags (תגי רשת) הבאים:
allow-health-check. - לוחצים על Edit בקטע Network interfaces, מבצעים את השינויים הבאים ולוחצים על Done:
- רשת: NETWORK
- Subnet (רשת משנה): LB_SUBNET_NAME
- סוג מחסנית IP: IPv4 ו-IPv6 (מחסנית כפולה)
לוחצים על ניהול. בשדה Startup script (סקריפט לטעינה בזמן ההפעלה), מעתיקים ומדביקים את תוכן הסקריפט הבא. התוכן של הסקריפט זהה בכל ארבע המכונות הווירטואליות:
#! /bin/bash apt-get update apt-get install apache2 -y a2ensite default-ssl a2enmod ssl vm_hostname="$(curl -H "Metadata-Flavor:Google" \ http://metadata.google.internal/computeMetadata/v1/instance/name)" echo "Page served from: $vm_hostname" | \ tee /var/www/html/index.html systemctl restart apache2
- לוחצים על Networking ומוסיפים את Network tags (תגי רשת) הבאים:
לוחצים על יצירה.
חוזרים על השלבים הבאים כדי ליצור מכונה וירטואלית שנייה, באמצעות השילוב הבא של שם ואזור:
- שם:
vm-a2, אזור: GCP_NEG_ZONE
- שם:
gcloud
כדי ליצור את המכונות הווירטואליות, מריצים את הפקודה הבאה פעמיים, ומשתמשים בשילובים האלה לשם של המכונה הווירטואלית והאזור שלה. תוכן הסקריפט זהה בשתי המכונות הווירטואליות.
- VM_NAME מתוך
vm-a1וכל אזור GCP_NEG_ZONE שתבחרו VM_NAME של
vm-a2ובאותו אזור GCP_NEG_ZONEכדי לתמוך בתנועה של IPv4 ו-IPv6, מריצים את הפקודה הבאה:
gcloud compute instances create VM_NAME \ --zone=GCP_NEG_ZONE \ --image-family=debian-12 \ --image-project=debian-cloud \ --tags=allow-health-check,allow-health-check-ipv6 \ --ipv6-network-tier=PREMIUM \ --stack-type=IPV4_IPV6 \ --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 האזורי
המסוף
כדי ליצור קבוצת נקודות קצה ברשת אזורית:
- נכנסים לדף Network Endpoint Groups במסוף Google Cloud .
כניסה לדף Network Endpoint Groups - לוחצים על יצירת קבוצת נקודות קצה ברשת.
- מזינים שם ל-NEG האזורי. בפרוצדורה הזו, הוא נקרא GCP_NEG_NAME.
- בוחרים את סוג קבוצת נקודות הקצה ברשת: קבוצת נקודות קצה ברשת (אזורית).
- בוחרים באפשרות רשת: NETWORK
- בוחרים את תת-הרשת: LB_SUBNET_NAME
- בוחרים את האזור: GCP_NEG_ZONE
- מזינים את יציאת ברירת המחדל:
80. - לוחצים על יצירה.
מוסיפים נקודות קצה ל-NEG האזורי:
- נכנסים לדף Network Endpoint Groups במסוף Google Cloud .
כניסה לדף Network endpoint groups - לוחצים על Name (שם) של קבוצת נקודות הקצה ברשת שנוצרה בשלב הקודם (GCP_NEG_NAME). מוצג הדף Network endpoint group details (פרטים של קבוצת נקודות הקצה ברשת).
- בקטע Network endpoints in this group (נקודות קצה ברשת בקבוצה הזו), לוחצים על Add network endpoint (הוספת נקודת קצה ברשת). מוצג הדף Add network endpoint.
- בוחרים מכונה וירטואלית כדי להוסיף את כתובות ה-IP הפנימיות שלה כנקודות קצה ברשת. בקטע Network interface (ממשק רשת), מוצגים השם, האזור ורשת המשנה של מכונת ה-VM.
- בשדה כתובת IPv4, מזינים את כתובת ה-IPv4 של נקודת הקצה החדשה ברשת.
- בשדה כתובת IPv6, מזינים את כתובת ה-IPv6 של נקודת הקצה החדשה ברשת.
- בוחרים את סוג היציאה.
- אם בוחרים באפשרות ברירת מחדל, נקודת הקצה משתמשת ביציאת ברירת המחדל
80לכל נקודות הקצה בקבוצת נקודות הקצה ברשת. זה מספיק לדוגמה שלנו כי שרת Apache משרת בקשות ביציאה80. - אם בוחרים באפשרות בהתאמה אישית, מזינים את מספר היציאה של נקודת הקצה שבה רוצים להשתמש.
- אם בוחרים באפשרות ברירת מחדל, נקודת הקצה משתמשת ביציאת ברירת המחדל
- כדי להוסיף עוד נקודות קצה, לוחצים על הוספת נקודת קצה ברשת וחוזרים על השלבים הקודמים.
- אחרי שמוסיפים את כל נקודות הקצה, לוחצים על יצירה.
gcloud
יוצרים 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, או לציין מספר יציאה לכל נקודת קצה, כמו שמוצג בשלב הבא.הוספת נקודות קצה של dual-stack ל-GCP_NEG_NAME.
gcloud compute network-endpoint-groups update GCP_NEG_NAME \ --zone=GCP_NEG_ZONE \ --add-endpoint='instance=vm-a1,ip=IPv4_ADDRESS, \ ipv6=IPv6_ADDRESS,port=80' \ --add-endpoint='instance=vm-a2,ip=IPv4_ADDRESS, \ ipv6=IPv6_ADDRESS,port=80'
הגדרת NEG קישוריות היברידית
כשיוצרים את קבוצת ה-NEG, משתמשים בZONE שממזער את המרחק הגיאוגרפי בין Google Cloud לבין הסביבה המקומית או סביבת ענן אחרת. לדוגמה, אם אתם מארחים שירות בסביבה מקומית בפרנקפורט, גרמניה, אתם יכולים לציין את האזור europe-west3-a
Google Cloud כשאתם יוצרים את ה-NEG.
בנוסף, אם אתם משתמשים ב-Cloud Interconnect, ה-ZONE שמשמש ליצירת ה-NEG צריך להיות באותו אזור שבו הוגדר חיבור ה-VLAN של Cloud Interconnect לקישוריות היברידית.
רשימת האזורים והתחומים הזמינים מופיעה במסמכי העזרה של Compute Engine: אזורים ותחומים זמינים.
המסוף
כדי ליצור קבוצה של נקודות קצה ברשת עם קישוריות היברידית:
- נכנסים לדף Network Endpoint Groups במסוף Google Cloud .
כניסה לדף Network endpoint groups - לוחצים על יצירת קבוצת נקודות קצה ברשת.
- מזינים שם ל-NEG ההיברידי. בפרוצדורה הזו, הוא נקרא ON_PREM_NEG_NAME.
- בוחרים את הסוג של קבוצת נקודות קצה ברשת: קבוצה של נקודות קצה ברשת (אזורית) לקישוריות היברידית.
- בוחרים באפשרות רשת: NETWORK
- בוחרים את תת-הרשת: LB_SUBNET_NAME
- בוחרים את האזור: ON_PREM_NEG_ZONE
- מזינים את יציאת ברירת המחדל.
- לוחצים על יצירה.
הוספת נקודות קצה ל-NEG של קישוריות היברידית:
- נכנסים לדף Network Endpoint Groups במסוף Google Cloud .
כניסה לדף Network Endpoint Groups - לוחצים על Name של קבוצת נקודות הקצה ברשת שנוצרה בשלב הקודם (ON_PREM_NEG_NAME). מוצג הדף Network endpoint group detail.
- בקטע Network endpoints in this group (נקודות קצה ברשת בקבוצה הזו), לוחצים על Add network endpoint (הוספת נקודת קצה ברשת). מוצג הדף Add network endpoint.
- מזינים את כתובת ה-IP של נקודת הקצה החדשה ברשת.
- בוחרים את סוג היציאה.
- אם בוחרים באפשרות ברירת מחדל, נקודת הקצה משתמשת ביציאת ברירת המחדל לכל נקודות הקצה בקבוצת נקודות הקצה ברשת.
- אם בוחרים באפשרות בהתאמה אישית, אפשר להזין מספר יציאה אחר לשימוש בנקודת הקצה.
- כדי להוסיף עוד נקודות קצה, לוחצים על הוספת נקודת קצה ברשת וחוזרים על השלבים הקודמים.
- אחרי שמוסיפים את כל נקודות הקצה שאינןGoogle Cloud , לוחצים על יצירה.
gcloud
יוצרים 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מוסיפים את נקודת הקצה אל
on-prem-neg: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 כמה פעמים שצריך.
במקרה הצורך, אפשר לחזור על השלבים האלה כדי ליצור כמה קבוצות היברידיות של ישויות בעלות שם.
הגדרת מאזן העומסים
המסוף
gcloud
- יוצרים כתובת IP חיצונית סטטית גלובלית שאליה לקוחות חיצוניים שולחים תעבורת נתונים.
gcloud compute addresses create LB_IP_ADDRESS_NAME \ --network-tier=PREMIUM \ --global - יוצרים בדיקת תקינות לשרתי הקצה העורפיים.
gcloud compute health-checks create http HTTP_HEALTH_CHECK_NAME \ --use-serving-port - יוצרים שירות לקצה העורפי. מוסיפים את ה-NEG האזורי ואת ה-NEG של הקישוריות ההיברידית כשרתי קצה לשירות הקצה הזה.
- מוסיפים את ה-NEG האזורי כקצה עורפי לשירות הקצה העורפי:
פרטים על הגדרת מצב האיזון זמינים במסמכי התיעוד של ה-CLI של gcloud בנושא הפרמטרgcloud beta compute backend-services add-backend BACKEND_SERVICE \ --global \ --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--max-rate-per-endpoint. - מוסיפים את ה-NEG ההיברידי כקצה עורפי לשירות הקצה העורפי:
gcloud compute backend-services add-backend BACKEND_SERVICE \ --global \ --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 - יוצרים מפת URL כדי לנתב בקשות נכנסות לשירות הקצה העורפי.
gcloud beta compute url-maps create URL_MAP_NAME \ --default-service BACKEND_SERVICE - מבצעים את השלב הזה רק אם רוצים ליצור מאזן עומסים ב-HTTPS. הפעולה הזו לא נדרשת למאזני עומסים מסוג HTTP.
כדי ליצור מאזן עומסים ב-HTTPS, צריך משאב של אישור SSL לשימוש בשרת ה-proxy של יעד HTTPS. אפשר ליצור משאב של אישור SSL באמצעות אישור SSL בניהול Google או אישור SSL בניהול עצמי. מומלץ להשתמש באישורים שמנוהלים על ידי Google כי Google Cloud היא משיגה, מנהלת ומחדשת את האישורים האלה באופן אוטומטי.
כדי ליצור אישור שמנוהל על ידי Google, צריך שיהיה לכם דומיין. אם אין לכם דומיין, אתם יכולים להשתמש באישור SSL בחתימה עצמית לצורך בדיקה.
כדי ליצור משאב של אישור SSL בניהול Google: כדי ליצור משאב של אישור SSL בניהול עצמי:gcloud compute ssl-certificates create SSL_CERTIFICATE_NAME \ --domains DOMAINgcloud compute ssl-certificates create SSL_CERTIFICATE_NAME \ --certificate CRT_FILE_PATH \ --private-key KEY_FILE_PATH - יוצרים שרת proxy של HTTP(S) ליעד כדי להפנות בקשות למפת URL.
כדי ליצור מאזן עומסים מסוג HTTP, יוצרים פרוקסי ליעד HTTP: למאזן עומסים מסוג HTTPS, יוצרים שרת proxy ליעד מסוג HTTPS. ה-proxy הוא החלק במאזן העומסים שמכיל את אישור ה-SSL לאיזון עומסים של HTTPS, ולכן בשלב הזה צריך גם לטעון את האישור.gcloud beta compute target-http-proxies create TARGET_HTTP_PROXY_NAME \ --http-keep-alive-timeout-sec=HTTP_KEEP_ALIVE_TIMEOUT_SEC \ --url-map=URL_MAP_NAMEgcloud beta compute target-https-proxies create TARGET_HTTPS_PROXY_NAME \ --http-keep-alive-timeout-sec=HTTP_KEEP_ALIVE_TIMEOUT_SEC \ --ssl-certificates=SSL_CERTIFICATE_NAME \ --url-map=URL_MAP_NAMEמחליפים את מה שכתוב בשדות הבאים:
-
TARGET_HTTP_PROXY_NAME: השם של ה-proxy ל-HTTP של היעד. -
TARGET_HTTPS_PROXY_NAME: השם של שרת ה-proxy ל-HTTPS של היעד. -
HTTP_KEEP_ALIVE_TIMEOUT_SEC: שדה אופציונלי שמשמש לציון זמן הקצוב לתפוגה של HTTP keepalive של הלקוח. ערך הזמן הקצוב לתפוגה צריך להיות בין 5 ל-1,200 שניות. ערך ברירת המחדל הוא 610 שניות. -
SSL_CERTIFICATE_NAME: השם של אישור ה-SSL. -
URL_MAP_NAME: השם של מפת URL.
-
- יוצרים כלל העברה כדי להפנות בקשות נכנסות לשרת ה-proxy.
למאזן עומסים מסוג HTTP: במאזן עומסים מסוג HTTPS:gcloud beta compute forwarding-rules create HTTP_FORWARDING_RULE_NAME \ --load-balancing-scheme=EXTERNAL_MANAGED \ --network-tier=PREMIUM \ --address=LB_IP_ADDRESS_NAME \ --target-http-proxy=TARGET_HTTP_PROXY_NAME \ --global \ --ports=80gcloud beta compute forwarding-rules create HTTPS_FORWARDING_RULE_NAME \ --load-balancing-scheme=EXTERNAL_MANAGED \ --network-tier=PREMIUM \ --address=LB_IP_ADDRESS_NAME \ --target-https-proxy=TARGET_HTTPS_PROXY_NAME \ --global \ --ports=443
gcloud beta compute backend-services create BACKEND_SERVICE \
--health-checks=HTTP_HEALTH_CHECK_NAME \
--load-balancing-scheme=EXTERNAL_MANAGED \
--ip-address-selection-policy=PREFER_IPV6 \
--global
חיבור הדומיין למאזן העומסים
אחרי שיוצרים את מאזן העומסים, רושמים את כתובת ה-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 של מאזן העומסים.
נכנסים לדף Load balancing במסוף Google Cloud .
כניסה לדף Load balancingלוחצים על מאזן העומסים שיצרתם.
שימו לב לכתובת ה-IP של מאזן העומסים.
שליחת תעבורה למאזן העומסים.
אם יצרתם מאזן עומסים של 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.
הבדיקה של נקודות הקצה שאינןGoogle Cloud תלויה בשירות שחשפתם דרך נקודת הקצה של ה-NEG ההיברידי.
שלבי הגדרת תצורה נוספים
בקטע הזה אנחנו מרחיבים את דוגמת ההגדרה ומציגים אפשרויות הגדרה חלופיות ונוספות. כל המשימות הן אופציונליות. אפשר לבצע אותן בכל סדר.
עדכון פסק הזמן של שמירת החיבור בחיים ב-HTTP של הלקוח
מאזן העומסים שנוצר בשלבים הקודמים הוגדר עם ערך ברירת מחדל לזמן הקצוב לתפוגה של חיבור HTTP פעיל של לקוח.כדי לעדכן את הזמן הקצוב לתפוגה של הלקוח ב-HTTP keepalive, פועלים לפי ההוראות הבאות.
המסוף
נכנסים לדף Load balancing במסוף Google Cloud .
- לוחצים על השם של מאזן העומסים שרוצים לשנות.
- לוחצים על עריכה.
- לוחצים על Frontend configuration.
- מרחיבים את הקטע תכונות מתקדמות. בשדה HTTP keepalive timeout, מזינים ערך של פסק זמן.
- לוחצים על עדכון.
- כדי לבדוק את השינויים, לוחצים על בדיקה וסיום ואז על עדכון.
gcloud
כדי לעדכן את שרת ה-proxy של HTTP היעד במאזן עומסים מסוג HTTP, משתמשים בפקודה gcloud compute target-http-proxies update:
gcloud compute target-http-proxies update TARGET_HTTP_PROXY_NAME \
--http-keep-alive-timeout-sec=HTTP_KEEP_ALIVE_TIMEOUT_SEC \
--global
במאזן עומסים ב-HTTPS, מעדכנים את שרת ה-proxy של HTTPS באמצעות הפקודה gcloud compute target-https-proxies update:
gcloud compute target-https-proxies update TARGET_HTTPS_PROXY_NAME \
--http-keep-alive-timeout-sec=HTTP_KEEP_ALIVE_TIMEOUT_SEC \
--global
מחליפים את מה שכתוב בשדות הבאים:
-
TARGET_HTTP_PROXY_NAME: השם של ה-proxy ל-HTTP של היעד. -
TARGET_HTTPS_PROXY_NAME: השם של שרת ה-proxy ל-HTTPS של היעד. -
HTTP_KEEP_ALIVE_TIMEOUT_SEC: ערך הזמן הקצוב לתפוגה של HTTP keepalive, מ-5 עד 600 שניות.