לפני שממשיכים במדריך הזה, כדאי לעיין במסמכי סקירת ה-NEG באינטרנט, כולל המגבלות.
תרשים הארכיטקטורה הבא מציג קצה קדמי של מאזן עומסים חיצוני אזורי של אפליקציות (ALB) עם בק-אנד חיצוני.
הרשאות
כדי לפעול לפי ההוראות במדריך הזה, צריך ליצור NEG לאינטרנט וליצור או לשנות איזון עומסים של אפליקציות בפרויקט. צריכות להיות לכם הרשאות בעלים או עריכה (roles/owner או roles/editor) בפרויקט, או שצריכים להיות לכם שני תפקידי ה-IAM הבאים ב-Compute Engine.
| משימה | התפקיד הנדרש |
|---|---|
| יצירה ושינוי של רכיבים של מאזן עומסים | אדמין ברשת Compute ( roles/compute.networkAdmin)
|
| יצירה ושינוי של קבוצות של ישויות בעלות שם | אדמין מכונות של Compute ( roles/compute.instanceAdmin)
|
אופציונלי: שימוש בכתובות BYOIP
באמצעות העברת כתובות IP משלכם (BYOIP), אתם יכולים לייבא כתובות ציבוריות משלכם אלGoogle Cloud כדי להשתמש בכתובות עם משאבי Google Cloud . לדוגמה, אם מייבאים כתובות IPv4 משלכם, אפשר להקצות אחת מהן לכלל ההעברה כשמגדירים את מאזן העומסים. כשפועלים לפי ההוראות במסמך הזה כדי ליצור את מאזן העומסים, צריך לספק את כתובת ה-BYOIP בתור כתובת ה-IP.
מידע נוסף על השימוש ב-BYOIP זמין במאמר בנושא העברת כתובות IP משלכם.
הגדרת סביבת הקצה העורפי החיצונית מחוץ ל- Google Cloud
הוראות להגדרת סביבת קצה עורפי חיצונית מופיעות בקטעים הבאים.
הגדרת נקודות קצה ברשת
מגדירים נקודת קצה ברשת כדי לחשוף את הקצה העורפי החיצוני ל-Google Cloud. מוודאים שאפשר להגיע לנקודת הקצה – שילוב של IP:Port או שם דומיין שמוגדר במלואו (FQDN) ויציאה – דרך האינטרנט. נקודת הקצה הזו מוזכרת בהמשך ב-NEG של האינטרנט.
דרישות ההגדרה המפורטות של נקודות קצה (endpoint) של קבוצות NEG באינטרנט מפורטות במאמר סקירה כללית של קבוצות NEG באינטרנט.
מתן הרשאה לעורף השרת החיצוני לקבל תנועה מ Google Cloud
אפשר להשלים את השלב הזה אחרי שיוצרים את רשת המשנה של הפרוקסי בלבד ומגדירים את שער Cloud NAT.
כדי לאפשר לבקשות מ- Google Cloud להגיע לקצה העורפי החיצוני שלכם, תצטרכו לבצע את השלבים הבאים:
- מגדירים שער Cloud NAT עם כתובות IP שמשמשות לתעבורת יציאה מ Google Cloud. השער ממפה את טווח רשתות המשנה של ה-proxy בלבד לכתובות ה-IP החיצוניות. שלבי התהליך מפורטים במאמר בנושא הגדרת שער Cloud NAT.
- חשוב לוודא שהסביבה של השרת העורפי החיצוני מוגדרת כך שתאפשר לתעבורה מ Google Cloud להגיע לשרת העורפי החיצוני. לדוגמה, אם השתמשתם בכתובות IP שהוזמנו מראש עבור שער NAT, תצטרכו להוסיף את כתובות ה-IP האלה לרשימת ההיתרים בסביבה החיצונית. כדי להגדיר את זה, סביר להניח שתצטרכו לעבוד עם מנהל הרשת או מנהל האבטחה של הסביבה החיצונית.
הגדרה של סביבת Google Cloud
תצטרכו רשת VPC עם שתי תת-רשתות: אחת לרכיבי מאזן העומסים והשנייה לתת-רשת של אזור הפרוקסי בלבד. לאחר מכן יוצרים את מאזן העומסים עם קצה עורפי מסוג NEG לאינטרנט.
יצירת רשת VPC ותת-רשת
רשת המשנה הזו משמשת ליצירת הרכיבים של מאזן העומסים.
מסוף Cloud
- נכנסים לדף VPC networks במסוף Google Cloud .
מעבר לרשתות VPC - לוחצים על יצירת רשת VPC.
- מזינים שם: LB_NETWORK.
- בקטע Subnets:
- מגדירים את מצב יצירת רשתות משנה לבהתאמה אישית.
- בקטע New subnet (רשת משנה חדשה), מזינים את הפרטים הבאים:
- Name (שם): LB_SUBNET_NAME
- אזור: REGION
- טווח כתובות IP: LB_SUBNET_RANGE
- לוחצים על סיום.
- לוחצים על יצירה.
gcloud
יוצרים את רשת ה-VPC המותאמת אישית באמצעות הפקודה
gcloud compute networks create:gcloud compute networks create LB_NETWORK \ --subnet-mode=custom
יוצרים רשת משנה ברשת LB_NETWORK.
gcloud compute networks subnets create LB_SUBNET_NAME \ --network=LB_NETWORK \ --range=LB_SUBNET_RANGE \ --region=REGION
הגדרת רשת המשנה ל-proxy בלבד
כל מאזני העומסים האזוריים שמבוססים על Envoy באזור REGION משתמשים ברשת המשנה הזו שמשמשת רק כ-proxy.
המסוף
- נכנסים לדף VPC networks במסוף Google Cloud .
מעבר לרשתות VPC - בוחרים רשת מהרשימה.
- לוחצים על הוספת רשת משנה.
- מזינים שם: PROXY_ONLY_SUBNET_NAME.
- בוחרים אזור: REGION.
- מגדירים את Purpose (מטרה) לערך Regional Managed Proxy (שרת proxy מנוהל אזורי).
- מזינים טווח כתובות IP: PROXY_ONLY_SUBNET_RANGE.
- לוחצים על הוספה.
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.
המסוף
נכנסים לדף Cloud NAT במסוף Google Cloud .
לוחצים על Get started (תחילת העבודה) או על Create Cloud NAT gateway (יצירת שער Cloud NAT).
מזינים שם לשער LB_NAT_CONFIG.
בשדה NAT type, בוחרים באפשרות Public.
ברשימה Network בוחרים באפשרות LB_NETWORK.
ברשימה Region בוחרים באזור REGION.
יוצרים Cloud Router באזור.
בקטע Source endpoint type (סוג נקודת הקצה של המקור), בוחרים באפשרות Managed proxy load balancers (מאזני עומסים של שרת proxy מנוהל).
ברשימה מקור, בוחרים באפשרות בהתאמה אישית.
- בקטע Subnets (רשתות משנה), בוחרים באפשרות PROXY_ONLY_SUBNET_NAME.
ברשימה Cloud NAT IP addresses בוחרים באפשרות Automatic (recommended).
בקטע Network service tier (מסלול שירות הרשת), בוחרים באפשרות Premium (פרימיום) או Standard (רגיל).
לוחצים על יצירה.
gcloud
אם בסביבת ה-Backend החיצוני לא נדרש להוסיף לרשימת ההיתרים כתובות IP ספציפיות שיכולות לשלוח תנועה ל-Backend החיצוני, כדאי להשתמש בכתובות IP שמוקצות באופן דינמי. Google Cloud
יוצרים Cloud Router:
gcloud beta compute routers create ROUTER_NAME \ --network=LB_NETWORK \ --region=REGION
מגדירים את שער 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 ממסלול פרימיום, ממסלול רגיל או משניהם, בכפוף לתנאים מסוימים.
המסוף
נכנסים לדף Cloud NAT במסוף Google Cloud .
לוחצים על Get started (תחילת העבודה) או על Create Cloud NAT gateway (יצירת שער Cloud NAT).
מזינים שם לשער LB_NAT_CONFIG.
ברשימה Network בוחרים באפשרות LB_NETWORK.
ברשימה Region בוחרים באזור REGION.
בוחרים Cloud Router קיים באזור או יוצרים Cloud Router חדש.
בקטע Source endpoint type (סוג נקודת הקצה של המקור), בוחרים באפשרות Managed proxy load balancers (מאזני עומסים של שרת proxy מנוהל).
ברשימה מקור, בוחרים באפשרות בהתאמה אישית.
- בקטע Subnets, בוחרים באפשרות PROXY_ONLY_SUBNET_NAME.
ברשימה Cloud NAT IP addresses בוחרים באפשרות Manual.
בקטע Network service tier (מסלול שירות הרשת), בוחרים באפשרות Premium (פרימיום) או Standard (רגיל).
בוחרים או יוצרים כתובת IP חיצונית סטטית שמורה לשימוש ב-NAT.
אם רוצים לציין כתובות IP נוספות, לוחצים על Add IP address (הוספת כתובת IP), ואז בוחרים או יוצרים כתובת IP חיצונית סטטית שמורה נוספת.
לוחצים על יצירה.
gcloud
יוצרים את כתובות ה-IP. מכיוון שהשער מבצע תרגום NAT של אחד לאחד, צריך לוודא שמאגר כתובות ה-IP השמורות גדול מספיק כדי לטפל בכמות התנועה שאתם מצפים לה. הקצאה לא מספקת של כתובות IP של NAT עלולה לגרום לאובדן תנועה.
gcloud compute addresses create IP_ADDRESS_NAME_1 IP_ADDRESS_NAME_2 [IP_ADDRESS_NAME_3 ...] \ --region=REGION
יוצרים Cloud Router:
gcloud compute routers create ROUTER_NAME \ --network=LB_NETWORK \ --region=REGION
מגדירים את שער 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
מעדכנים את שער 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מוודאים שהקצאה דינמית של יציאות מופעלת ושהוגדר מספר מינימלי ומקסימלי של יציאות.
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 סטטית למאזן העומסים.
המסוף
נכנסים לדף Reserve a static address במסוף Google Cloud .
בוחרים שם לכתובת החדשה.
בקטע Network Service Tier, בוחרים באפשרות Standard.
בשביל IP version, בוחרים IPv4. כתובות IPv6 יכולות להיות גלובליות בלבד, ואפשר להשתמש בהן רק עם מאזני עומסים גלובליים.
בשדה Type, בוחרים באפשרות Regional.
בוחרים Region.
משאירים את האפשרות מצורף אל במצב ללא. אחרי שיוצרים את מאזן העומסים, כתובת ה-IP הזו מצורפת לכלל ההעברה של מאזן העומסים.
לוחצים על שמירה כדי לשמור את כתובת ה-IP.
gcloud
כדי לשמור כתובת IP חיצונית סטטית באמצעות
gcloud compute, משתמשים בפקודהcompute addresses create.gcloud compute addresses create LB_IP_ADDRESS \ --region=REGION \ --network-tier=STANDARD
מחליפים את מה שכתוב בשדות הבאים:
-
LB_IP_ADDRESS: השם שרוצים לתת לכתובת הזו. -
REGION: האזור שבו רוצים לשריין את הכתובת הזו. האזור הזה צריך להיות זהה לאזור של מאזן העומסים. כל כתובות ה-IP האזוריות הןIPv4.
-
משתמשים בפקודה
compute addresses describeכדי לראות את התוצאה:gcloud compute addresses describe LB_IP_ADDRESS
הגדרת NEG באינטרנט
אפשר ליצור NEG לאינטרנט באמצעות נקודות קצה מסוג INTERNET_FQDN_PORT או נקודות קצה מסוג INTERNET_IP_PORT.
המסוף
יצירת NEG עם נקודות קצה של INTERNET_FQDN_PORT
נכנסים לדף Network endpoint group במסוף Google Cloud .
לוחצים על יצירת קבוצת נקודות קצה ברשת.
מציינים INTERNET_NEG_NAME עבור קבוצת ה-NEG של האינטרנט. מידע נוסף זמין במאמר מוסכמות למתן שמות למשאבים.
ברשימה 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 (שם דומיין שמוגדר במלואו ויציאה).
- לוחצים על יצירה.
הוספת נקודות קצה של INTERNET_FQDN_PORT ל-NEG
נכנסים לדף Network endpoint group במסוף Google Cloud .
- לחץ על INTERNET_NEG_NAME.
מזינים את שם הדומיין שמוגדר במלואו, למשל
myorg.example.com. צריך לציין את אובייקטי ה-FQDN בתחביר FQDN רגיל.אופציונלי: בשדה סוג יציאה, בוחרים באפשרות בהתאמה אישית. אם סוג היציאה הוא
Default, נעשה שימוש ביציאת ברירת המחדל של ה-NEG.- בתיבה מספר יציאה, מזינים PORT_NUMBER_1.
- לוחצים על יצירה.
יצירת NEG עם נקודות קצה של INTERNET_IP_PORT
נכנסים לדף Network endpoint group במסוף Google Cloud .
לוחצים על יצירת קבוצת נקודות קצה ברשת.
מציינים שם INTERNET_NEG_NAME ל-NEG של האינטרנט. מידע נוסף זמין במאמר מוסכמות למתן שמות למשאבים.
ברשימה 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.
- לוחצים על יצירה.
הוספת נקודות קצה של INTERNET_IP_PORT ל-NEG
נכנסים לדף Network endpoint group במסוף Google Cloud .
- לחץ על INTERNET_NEG_NAME.
- בשדה כתובת IP, מזינים IP_ADDRESS_1.
אופציונלי: ברשימה סוג היציאה, בוחרים באפשרות בהתאמה אישית. אם סוג היציאה הוא
Default, נעשה שימוש ביציאת ברירת המחדל של ה-NEG.- בשדה מספר יציאה, מזינים PORT_NUMBER_1.
- לוחצים על יצירה.
gcloud
כדי ליצור NEG עם נקודות קצה של INTERNET_FQDN_PORT:
יוצרים את משאב ה-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מוסיפים נקודות קצה ל-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 מקומי.
מתחילים ביצירת אזור Cloud DNS לאירוח רשומות ה-DNS בפרויקט. לאחר מכן מוסיפים את רשומות ה-DNS. שלבי ההגדרה הספציפיים מפורטים במסמכי התיעוד של Cloud DNS.
כדי ליצור NEG עם נקודות קצה של INTERNET_IP_PORT:
יוצרים את משאב ה-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מוסיפים נקודות קצה ל-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.
-
יצירת מאזן העומסים
המסוף
בחירת סוג מאזן העומסים
נכנסים לדף Load balancing במסוף Google Cloud .
- לוחצים על Create load balancer (יצירת מאזן עומסים).
- בקטע Type of load balancer, בוחרים באפשרות Application Load Balancer (HTTP/HTTPS) ולוחצים על Next.
- בקטע Public facing or internal (פנימי או חיצוני), בוחרים באפשרות Public facing (external) (חיצוני) ולוחצים על Next (הבא).
- אם בוחרים באפשרות פריסה גלובלית או פריסה באזור יחיד, בוחרים באפשרות הכי מתאים לעומסי עבודה אזוריים ולוחצים על הבא.
- לוחצים על Configure (הגדרה).
הגדרה בסיסית
- מזינים שם של מאזן עומסים.
- בשדה אזור, בוחרים באפשרות REGION.
- בקטע רשת, בוחרים באפשרות LB_NETWORK.
הזמנת רשת משנה לשרת proxy בלבד
כדי להזמין תת-רשת ל-Proxy בלבד:
- לוחצים על שמירת רשת משנה.
- בשדה Name (שם), מזינים PROXY_ONLY_SUBNET_NAME.
- בשדה IP address range (טווח כתובות IP), מזינים PROXY_ONLY_SUBNET_RANGE.
- לוחצים על הוספה.
הגדרות הקצה הקדמי
- לוחצים על Frontend configuration.
- מזינים שם.
כדי ליצור מאזן עומסים ב-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 לוחצים על סיום.
הגדרת הקצה העורפי
- לוחצים על Backend configuration.
- לוחצים על Backend services and backend buckets (שירותי קצה עורפיים ודלי קצה עורפיים).
- לוחצים על יצירת שירות לקצה העורפי.
- מזינים שם.
- בקטע סוג קצה עורפי, בוחרים באפשרות קבוצה של נקודות קצה ברשת באינטרנט.
- בשדה פרוטוקול, בוחרים את הפרוטוקול שרוצים להשתמש בו ממאזן העומסים ל-NEG של האינטרנט.
- בקטע Backends, בחלון New backend, בוחרים באפשרות Regional internet network endpoint group שנוצרה בשלב הקודם.
- לוחצים על סיום.
- מגדירים את בדיקת התקינות:
- בקטע בדיקת תקינות, בוחרים באפשרות יצירת בדיקת תקינות.
- מגדירים את שם בדיקת התקינות לערך HTTP_HEALTH_CHECK_NAME.
- בשדה Protocol, בוחרים באפשרות HTTP.
- מגדירים את Port לערך
80.
- לוחצים על יצירה.
בדיקה וסיום
- לוחצים על Review and finalize.
- אם הכל נראה נכון, לוחצים על יצירה.
gcloud
- אופציונלי: יוצרים בדיקת תקינות. בדיקות התקינות של שרתי קצה עורפיים חיצוניים מתבצעות באמצעות בדיקות התקינות המבוזרות של Envoy, והן מתורגמות מאוחר יותר באמצעות NAT.
gcloud compute health-checks create http HTTP_HEALTH_CHECK_NAME \ --region=REGION \ --use-serving-port - יוצרים שירות לקצה העורפי:
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 - מוסיפים את ה-NEG לאינטרנט לשירות הקצה העורפי:
gcloud compute backend-services add-backend BACKEND_SERVICE \ --network-endpoint-group=INTERNET_NEG_NAME \ --network-endpoint-group-region=REGION \ --region=REGION - יוצרים מפת URL כדי לנתב בקשות נכנסות לשירות הקצה העורפי:
gcloud compute url-maps create URL_MAP_NAME \ --default-service=BACKEND_SERVICE \ --region=REGION -
אופציונלי: מבצעים את השלב הזה אם משתמשים ב-HTTPS בין הלקוח לבין מאזן העומסים. השלב הזה לא נדרש למאזני עומסים של HTTP.
אתם יכולים ליצור אישורים של Compute Engine או של Certificate Manager. אפשר להשתמש בכל אחת מהשיטות הבאות כדי ליצור אישורים באמצעות Certificate Manager:
- אישורים אזוריים בניהול עצמי. מידע על יצירה ושימוש באישורים אזוריים בניהול עצמי אין תמיכה במיפוי אישורים.
אישורים אזוריים שמנוהלים על ידי Google. אין תמיכה במיפוי אישורים.
ב-Certificate Manager יש תמיכה בסוגים הבאים של אישורים אזוריים בניהול Google:
- אישורים אזוריים שמנוהלים על ידי Google עם הרשאת DNS לכל פרויקט. מידע נוסף זמין במאמר בנושא פריסת אישור אזורי שמנוהל על ידי Google עם הרשאת DNS.
- אישורים אזוריים שמנוהלים על ידי Google (פרטיים) באמצעות Certificate Authority Service. מידע נוסף זמין במאמר בנושא פריסת אישור אזורי שמנוהל על ידי Google באמצעות Certificate Authority Service.
אחרי שיוצרים אישורים, מצרפים אותם ישירות לשרת ה-proxy של היעד.
כדי ליצור משאב של אישור SSL בניהול עצמי ב-Compute Engine:gcloud compute ssl-certificates create SSL_CERTIFICATE_NAME \ --certificate CRT_FILE_PATH \ --private-key KEY_FILE_PATH -
יוצרים שרת 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 -
יוצרים כלל העברה כדי להפנות בקשות נכנסות לשרת ה-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 לבדיקה.
המסוף
נכנסים לדף Load balancing במסוף Google Cloud .
לוחצים על מאזן העומסים שיצרתם.
שימו לב לכתובת ה-IP של מאזן העומסים.
שליחת תעבורה למאזן העומסים.
אם יצרתם מאזן עומסים מסוג 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
אופציונלי: אם אתם משתמשים בדומיין מותאם אישית, יכול להיות שתצטרכו לחכות עד שהגדרות ה-DNS המעודכנות יתעדכנו. לאחר מכן, בודקים את הדומיין בדפדפן האינטרנט.
לקבלת עזרה בפתרון בעיות, אפשר לעיין במאמר בנושא פתרון בעיות ב-backend חיצוני וב-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.