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

במאמר הזה מוסבר איך ליצור מאזן עומסים חיצוני של אפליקציות כדי לנתב בקשות לתוכן סטטי אל קטגוריות של Cloud Storage. אחרי שמגדירים מאזן עומסים עם קטגוריות קצה עורפי, בקשות לנתיבי URL שמתחילים ב-/love-to-fetch נשלחות לקטגוריית us-east1 Cloud Storage, וכל הבקשות האחרות נשלחות לקטגוריית europe-north1 Cloud Storage, בלי קשר לאזור של המשתמש.

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

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

קטגוריות של Cloud Storage כבק-אנד של מאזן עומסים

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

בתרשים הבא, מאזן העומסים שולח תעבורה עם נתיב של /love-to-fetch/ לקטגוריית Cloud Storage באזור us-east1. כל הבקשות האחרות מועברות לקטגוריה של Cloud Storage באזור europe-north1.

מאזן העומסים שולח תנועה לקצה עורפי של Cloud Storage.
הפצת תנועה ל-Cloud Storage

כברירת מחדל, Cloud Storage משתמש באותו מטמון שבו משתמש Cloud CDN. אם מפעילים את Cloud CDN בקטגוריית הקצה העורפי, אפשר להשתמש באמצעי הבקרה של Cloud CDN על התוכן. אמצעי הבקרה של Cloud CDN כוללים, לדוגמה, מצבי מטמון, כתובות URL חתומות וביטול תוקף. בנוסף, Cloud CDN מאפשר לשמור במטמון תוכן גדול (מעל 10MB). אם לא מפעילים את Cloud CDN בקטגוריית הקצה העורפי, אפשר להשתמש רק בכותרות של מקור Cache-Control כדי לשלוט בשמירת תוכן קטן יותר במטמון, כפי שמוגדר במטא-נתונים של Cloud Storage.

לפני שמתחילים

חשוב לוודא שההגדרה עומדת בדרישות המוקדמות הבאות. אם אתם משתמשים בכלי gcloud storage, תוכלו להתקין אותו באמצעות ההוראות במאמר אחסון אובייקטים באמצעות הכלי של gcloud.

הגדרת פרויקט ברירת מחדל

המסוף

  1. נכנסים לחשבון Google Cloud . אם אתם משתמשים חדשים ב- Google Cloud, צרו חשבון כדי שתוכלו להעריך את הביצועים של המוצרים שלנו בתרחישים מהעולם האמיתי. לקוחות חדשים מקבלים בחינם גם קרדיט בשווי 300$ להרצה, לבדיקה ולפריסה של עומסי העבודה.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  5. Verify that billing is enabled for your Google Cloud project.

gcloud

gcloud config set project PROJECT_ID

מחליפים את PROJECT_ID בפרויקט שבו משתמשים במדריך הזה.

Terraform

export GOOGLE_CLOUD_PROJECT=PROJECT_ID

הרשאות

כדי לפעול לפי המדריך הזה, צריך ליצור קטגוריות של Cloud Storage ומאזן עומסים בפרויקט. צריכות להיות לכם הרשאות בעלים או עריכה בפרויקט, או תפקידי ה-IAM הבאים ב-Compute Engine:

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

מידע נוסף זמין במדריכים הבאים:

הגדרת משאב של אישור SSL

כדי ליצור את מאזן העומסים, צריך משאב של אישור SSL שאפשר לצרף לפרוקסי היעד. משאב אישור ה-SSL יכול להיות מיפוי אישורים או אישור SSL של Compute Engine (אישור קלאסי).

מפת אישורים

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

אישור SSL ב-Compute Engine

במאזן עומסים ב-HTTPS, יוצרים משאב אישור SSL ב-Compute Engine, כמו שמתואר באחד מהמסמכים הבאים:

מומלץ להשתמש באישור שמנוהל על ידי Google.

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

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

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

הכנת הקטגוריות והתוכן ב-Cloud Storage

כך מכינים את הקטגוריות של Cloud Storage:

  • יוצרים את הקטגוריות.

  • מעתיקים את התוכן לקטגוריות.

  • מתן גישה ציבורית לקטגוריות.

יצירת קטגוריות ב-Cloud Storage

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

חשוב לשים לב לשמות של הקטגוריות של Cloud Storage שאתם יוצרים, כי תצטרכו להשתמש בהם בהמשך. במדריך הזה הם נקראים BUCKET_1_NAME ו-BUCKET_2_NAME.

המסוף

  1. במסוף Google Cloud , עוברים לדף Cloud Storage Buckets.

    כניסה לקטגוריות של Cloud Storage

  2. לוחצים על Create bucket.

  3. בתיבה Name your bucket, כותבים שם ייחודי באופן גלובלי שעומד בהנחיות למתן שמות.

  4. לוחצים על Choose where to store your data (בחירת המיקום לאחסון הנתונים).

  5. מגדירים את סוג המיקום לאזור.

  6. מגדירים את Location (מיקום) ל-europe-north1. BUCKET_1_NAME מוסבר במדריך הזה.

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

  8. לוחצים על Buckets כדי לחזור לדף Cloud Storage Buckets. משתמשים בהוראות האלה כדי ליצור קטגוריה שנייה, אבל מגדירים את המיקום ל-us-east1. זהו BUCKET_2_NAME במדריך הזה.

gcloud

gcloud storage buckets create gs://BUCKET_1_NAME --project=PROJECT_ID --default-storage-class=standard --location=europe-north1 --uniform-bucket-level-access
gcloud storage buckets create gs://BUCKET_2_NAME --project=PROJECT_ID --default-storage-class=standard --location=us-east1 --uniform-bucket-level-access

מחליפים את BUCKET_1_NAME ואת BUCKET_2_NAME בשמות של הקטגוריות שרוצים ליצור.

Terraform

כדי ליצור את הקטגוריות, משתמשים במשאב google_storage_bucket.

# Create Cloud Storage buckets
resource "random_id" "bucket_prefix" {
  byte_length = 8
}

resource "google_storage_bucket" "bucket_1" {
  name                        = "${random_id.bucket_prefix.hex}-bucket-1"
  location                    = "us-east1"
  uniform_bucket_level_access = true
  storage_class               = "STANDARD"
  // delete bucket and contents on destroy.
  force_destroy = true
}

resource "google_storage_bucket" "bucket_2" {
  name                        = "${random_id.bucket_prefix.hex}-bucket-2"
  location                    = "us-east1"
  uniform_bucket_level_access = true
  storage_class               = "STANDARD"
  // delete bucket and contents on destroy.
  force_destroy = true
}

כדי ללמוד איך להחיל הגדרות ב-Terraform או להסיר אותן, ראו פקודות בסיסיות ב-Terraform.

העברת תוכן לקטגוריות של Cloud Storage

כדי שתוכלו לבדוק את ההגדרה בהמשך, אתם יכולים להעתיק את התמונות הבאות מקטגוריה ציבורית של Cloud Storage לקטגוריות שלכם ב-Cloud Storage.

gcloud

  1. לוחצים על הפעלת Cloud Shell.

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

gcloud storage cp gs://gcp-external-http-lb-with-bucket/three-cats.jpg gs://BUCKET_1_NAME/never-fetch/
gcloud storage cp gs://gcp-external-http-lb-with-bucket/two-dogs.jpg gs://BUCKET_2_NAME/love-to-fetch/

Terraform

כדי להעתיק פריטים לקטגוריה, אפשר להשתמש במשאב google_storage_bucket_object.

resource "google_storage_bucket_object" "cat_image" {
  name         = "never-fetch/three-cats.jpg"
  source       = "images/three-cats.jpg"
  content_type = "image/jpeg"

  bucket = google_storage_bucket.bucket_1.name
}

resource "google_storage_bucket_object" "dog_image" {
  name         = "love-to-fetch/two-dogs.jpg"
  source       = "images/two-dogs.jpg"
  content_type = "image/jpeg"

  bucket = google_storage_bucket.bucket_2.name
}

אפשרות אחרת היא להשתמש בnull_resource resource.

resource "null_resource" "upload_cat_image" {
provisioner "local-exec" {
  command = "gcloud storage cp gs://gcp-external-http-lb-with-bucket/three-cats.jpg gs://${google_storage_bucket.bucket_1.name}/never-fetch/"
}
}

resource "null_resource" "upload_dog_image" {
provisioner "local-exec" {
  command = "gcloud storage cp gs://gcp-external-http-lb-with-bucket/two-dogs.jpg gs://${google_storage_bucket.bucket_2.name}/love-to-fetch/"
}
}

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

הגדרת קטגוריות של Cloud Storage כקריאות באופן ציבורי

כשנותנים הרשאת קריאה ציבורית לקטגוריות של Cloud Storage, כל משתמש באינטרנט יכול להציג ברשימה את האובייקטים שלהן ולראות אותם, וגם לראות את המטא-נתונים שלהם (לא כולל רשימות ACL). אל תכללו מידע רגיש בדליים ציבוריים.

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

המסוף

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

  1. במסוף Google Cloud , עוברים לדף Cloud Storage Buckets.

    כניסה לקטגוריות של Cloud Storage

  2. לוחצים על שם הקטגוריה ואז על הכרטיסייה הרשאות.

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

  4. בתיבה New principals, מזינים allUsers.

  5. בתיבה Select a role, בוחרים באפשרות Cloud Storage > Storage Object Viewer.

  6. לוחצים על Save.

  7. לוחצים על Allow public access.

gcloud

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

gcloud storage buckets add-iam-policy-binding gs://BUCKET_1_NAME --member=allUsers --role=roles/storage.objectViewer
gcloud storage buckets add-iam-policy-binding gs://BUCKET_2_NAME --member=allUsers --role=roles/storage.objectViewer

Terraform

כדי להעניק לכל המשתמשים גישה לצפייה באובייקטים בקטגוריות, משתמשים במשאב google_storage_bucket_iam_member ומציינים את חבר allUsers.

# Make buckets public
resource "google_storage_bucket_iam_member" "bucket_1" {
  bucket = google_storage_bucket.bucket_1.name
  role   = "roles/storage.objectViewer"
  member = "allUsers"
}

resource "google_storage_bucket_iam_member" "bucket_2" {
  bucket = google_storage_bucket.bucket_2.name
  role   = "roles/storage.objectViewer"
  member = "allUsers"
}

שמירת כתובת IP חיצונית

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

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

המסוף

  1. נכנסים לדף External IP addresses במסוף Google Cloud .

    נכנסים אל External IP addresses

  2. לוחצים על Reserve static address.

  3. בתיבה שם, מזינים example-ip.

  4. מגדירים את מסלול שירות הרשת בתור Premium.

  5. מגדירים את IP version ל-IPv4.

  6. מגדירים את Type (סוג) בתור Global (גלובלי).

  7. לוחצים על Reserve.

gcloud

gcloud compute addresses create example-ip \
    --network-tier=PREMIUM \
    --ip-version=IPV4 \
    --global

שימו לב לכתובת ה-IPv4 שהוקצתה:

gcloud compute addresses describe example-ip \
    --format="get(address)" \
    --global

Terraform

כדי לשמור כתובת IP חיצונית, משתמשים במשאב google_compute_global_address.

# Reserve IP address
resource "google_compute_global_address" "default" {
  name = "example-ip"
}

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

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

המסוף

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

  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. בקטע Load balancer generation (יצירת מאזן עומסים), בוחרים באפשרות Global external Application Load Balancer (מאזן עומסים גלובלי חיצוני של אפליקציות) ולוחצים על Next (הבא).
  7. לוחצים על Configure (הגדרה).

הגדרה בסיסית

  1. בתיבה שם, מזינים http-lb.

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

  1. לוחצים על Backend configuration.

  2. לוחצים על התיבה שירותי קצה עורפי וקטגוריות קצה עורפי ואז על יצירת קטגוריית קצה עורפי.

  3. בתיבה שם קטגוריית הבק אנד, מזינים cats.

  4. בתיבה קטגוריה של Cloud Storage, לוחצים על Browse.

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

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

  7. משתמשים באותו תהליך כדי ליצור קטגוריית קצה עורפי בשם dogs, ובוחרים באפשרות BUCKET_2_NAME.

  8. לוחצים על OK.

הגדרת כללי ניתוב

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

  1. לוחצים על כללי ניתוב.
  2. בשביל dogs, מזינים * בשדה מארחים ו-/love-to-fetch/* בשדה נתיבים.

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

  1. לוחצים על Frontend configuration.

  2. מוודאים שהאפשרויות הבאות מוגדרות עם הערכים האלה:

    מאפיין (property) ערך (מקלידים ערך או בוחרים אפשרות כמפורט)
    פרוטוקול HTTP
    Network Service Tier Premium
    גרסת IP IPv4
    כתובת IP example-ip
    יציאה 80
    אופציונלי: פסק זמן של HTTP keepalive מזינים ערך של זמן קצוב לתפוגה בין 5 ל-1,200 שניות. ערך ברירת המחדל הוא 610 שניות.

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

    מאפיין (property) ערך (מקלידים ערך או בוחרים אפשרות כמפורט)
    פרוטוקול HTTP(S)
    Network Service Tier Premium
    גרסת IP IPv4
    כתובת IP example-ip
    יציאה 443
    אופציונלי: פסק זמן של HTTP keepalive מזינים ערך של זמן קצוב לתפוגה בין 5 ל-1,200 שניות. ערך ברירת המחדל הוא 610 שניות.
    אישור בקטע בחירת מאגר אישורים, בוחרים באפשרות שימוש במיפוי אישורים או שימוש באישורים קלאסיים. בהתאם לבחירה שלכם, בוחרים מפת אישורים או אישור קלאסי.
    אופציונלי: הפעלת הפניה אוטומטית מ-HTTP ל-HTTPS משתמשים בתיבת הסימון הזו כדי להפעיל הפניות אוטומטיות.

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

    אפשר לסמן את התיבה הזו רק אם בוחרים בפרוטוקול HTTPS ומשתמשים בכתובת IP שמורה.

  3. לוחצים על סיום.

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

  1. לוחצים על Review and finalize.

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

  3. לוחצים על Create וממתינים עד שמאזן העומסים ייווצר.

  4. לוחצים על השם של מאזן העומסים (http-lb).

  5. שימו לב לכתובת ה-IP של מאזן העומסים לקראת המשימה הבאה. במדריך הזה, הקובץ נקרא IP_ADDRESS.

gcloud

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

gcloud compute backend-buckets create cats \
  --gcs-bucket-name=BUCKET_1_NAME
gcloud compute backend-buckets create dogs \
  --gcs-bucket-name=BUCKET_2_NAME

הגדרת מפת URL

gcloud compute url-maps create http-lb \
  --default-backend-bucket=cats
gcloud compute url-maps add-path-matcher http-lb \
  --path-matcher-name=path-matcher-2 \
  --new-hosts=* \
  --backend-bucket-path-rules="/love-to-fetch/*=dogs" \
  --default-backend-bucket=cats

הגדרת שרת ה-Proxy של היעד

gcloud compute target-http-proxies create http-lb-proxy \
  --http-keep-alive-timeout-sec=HTTP_KEEP_ALIVE_TIMEOUT_SEC \
  --url-map=http-lb

מחליפים את HTTP_KEEP_ALIVE_TIMEOUT_SEC בערך של זמן הקצוב לתפוגה של שמירת חיבור HTTP פתוח בצד הלקוח מ-5 ל-1,200 שניות. ערך ברירת המחדל הוא 610 שניות. השדה הזה אופציונלי.

הגדרת כלל ההעברה

gcloud compute forwarding-rules create http-lb-forwarding-rule \
  --load-balancing-scheme=EXTERNAL_MANAGED \
  --network-tier=PREMIUM \
  --address=example-ip \
  --global \
  --target-http-proxy=http-lb-proxy \
  --ports=80

Terraform

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

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

כדי ליצור את ה-backend, משתמשים במשאב google_compute_backend_bucket.

# Create LB backend buckets
resource "google_compute_backend_bucket" "bucket_1" {
  name        = "cats"
  description = "Contains cat image"
  bucket_name = google_storage_bucket.bucket_1.name
}

resource "google_compute_backend_bucket" "bucket_2" {
  name        = "dogs"
  description = "Contains dog image"
  bucket_name = google_storage_bucket.bucket_2.name
}

הגדרת מפת URL

כדי ליצור את מפת ה-URL, משתמשים במשאב google_compute_url_map.

# Create url map
resource "google_compute_url_map" "default" {
  name = "http-lb"

  default_service = google_compute_backend_bucket.bucket_1.id

  host_rule {
    hosts        = ["*"]
    path_matcher = "path-matcher-2"
  }
  path_matcher {
    name            = "path-matcher-2"
    default_service = google_compute_backend_bucket.bucket_1.id

    path_rule {
      paths   = ["/love-to-fetch/*"]
      service = google_compute_backend_bucket.bucket_2.id
    }
  }
}

הגדרת שרת ה-Proxy של היעד

כדי ליצור את ה-proxy של יעד ה-HTTP, משתמשים במשאב google_compute_target_http_proxy.

# Create HTTP target proxy
resource "google_compute_target_http_proxy" "default" {
  name    = "http-lb-proxy"
  url_map = google_compute_url_map.default.id
}

הגדרת כלל ההעברה

כדי ליצור את כלל ההעברה, משתמשים במשאב google_compute_global_forwarding_rule.

# Create forwarding rule
resource "google_compute_global_forwarding_rule" "default" {
  name                  = "http-lb-forwarding-rule"
  ip_protocol           = "TCP"
  load_balancing_scheme = "EXTERNAL_MANAGED"
  port_range            = "80"
  target                = google_compute_target_http_proxy.default.id
  ip_address            = google_compute_global_address.default.id
}

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

כדי ללמוד איך להחיל הגדרות ב-Terraform או להסיר אותן, ראו פקודות בסיסיות ב-Terraform.

שליחת תנועה למאזן העומסים

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

המסוף

אין תמיכה במסוף Google Cloud .

gcloud

משתמשים בפקודה curl כדי לבדוק את התגובה מכתובות ה-URL הבאות. מחליפים את IP_ADDRESS בכתובת ה-IPv4 של מאזן העומסים:

curl http://IP_ADDRESS/love-to-fetch/two-dogs.jpg
curl http://IP_ADDRESS/never-fetch/three-cats.jpg

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

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

עדכון פסק הזמן של שמירת החיבור בחיים ב-HTTP של הלקוח

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

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

המסוף

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

    כניסה לדף Load balancing

  2. לוחצים על השם של מאזן העומסים שרוצים לשנות.
  3. לוחצים על עריכה.
  4. לוחצים על Frontend configuration.
  5. מרחיבים את הקטע תכונות מתקדמות. בשדה HTTP keepalive timeout, מזינים ערך של פסק זמן.
  6. לוחצים על עדכון.
  7. כדי לבדוק את השינויים, לוחצים על בדיקה וסיום ואז על עדכון.

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 שניות.

פרמטרים של מחרוזות שאילתה ב-API בפורמט XML של Cloud Storage

כשבקשות שנשלחות לדלי (bucket) של קצה עורפי דרך מאזן עומסים של אפליקציות כוללות פרמטרים מסוימים של מחרוזת שאילתה, הלקוח מקבל תגובת HTTP 404 עם השגיאה 'פרמטר שאילתה לא נתמך'. זה קורה כי ה-API בפורמט XML של Cloud Storage לא תומך בפרמטרים האלה כשהבקשה מגיעה ממאזן עומסים של אפליקציות.

בטבלה הבאה מפורטות התגובות של Cloud Storage API בפורמט XML לפרמטרים של שאילתה, כשבקשות מנותבות דרך Application Load Balancer. הפרמטרים מקובצים לפי התנהגות שנצפתה, כדי לעזור לכם לזהות אילו פרמטרים נתמכים, מוזנחים או נדחים בהקשר הזה.

סוג הפרמטר פרמטרים התנהגות שנצפתה
פרמטרים נתמכים generation, prefix, marker, max-keys הוספת הפרמטרים האלה (עם הערכים המתאימים) פועלת כמו שמתואר במסמכי התיעוד של Cloud Storage XML API. ה-API מחזיר תגובת HTTP רגילה.
פרמטרים שהמערכת מתעלמת מהם acl, billing, compose, delimiter, encryption, encryptionConfig, response-content-disposition, response-content-type, tagging, versions, websiteConfig הוספת הפרמטרים האלה לא משפיעה על כלום.

אם מאזן העומסים מעביר את הפרמטרים האלה ל-Cloud Storage,‏ Cloud Storage XML API מתעלם מהם ומשיב כאילו הפרמטרים לא קיימים.
פרמטרים שנדחו cors, lifecycle, location, logging, storageClass, versioning ‫Cloud Storage API בפורמט XML מחזיר שגיאה 'פרמטר שאילתה לא נתמך'.

מגבלות

  • יש תמיכה בקטגוריות של בק-אנד רק במאזני עומסים גלובליים חיצוניים של אפליקציות (ALB) ובמאזן עומסים קלאסי של אפליקציות (ALB). הם לא נתמכים על ידי מאזן עומסים חיצוני אזורי של אפליקציות (ALB) או על ידי סוגים אחרים של מאזני עומסים.
  • אי אפשר להשתמש ב-שרת proxy לאימות זהויות (IAP) עם בקט של קצה עורפי.
  • מאזן העומסים הגלובלי החיצוני של אפליקציות (ALB) לא תומך בהעלאות לקטגוריות של Cloud Storage.
  • מאזן העומסים לא תומך בשימוש בכתובות URL חתומות, אלא אם Cloud CDN מופעל.

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