הגדרת בדיקת תקינות מורכבת למעבר אוטומטי לגיבוי באזור אחר
בדף הזה מוסבר איך ספקי שירות יכולים להגדיר את Composite Health כדי לתמוך במעבר אוטומטי לגיבוי (failover) בין אזורים בשירותים שפורסמו.
לפני שמתחילים
מידע נוסף על Composite Health
בכל אזור שרוצים לתמוך בו, צריך לזהות או ליצור שירות יעד שעומד בדרישות הבאות.
- צריך להשתמש באחד ממאזני העומסים הפנימיים הבאים:
- צריך להשתמש באחד מסוגי ה-Backend הבאים:
- קבוצה של נקודות קצה ברשת (NEG) ברמת האזור עם סוג נקודת קצה ברשת
GCE_VM_IPאוGCE_VM_IP_PORT - קבוצת מופעים
- קבוצה של נקודות קצה ברשת (NEG) ברמת האזור עם סוג נקודת קצה ברשת
השלבים ליצירת שירותי היעד תלויים במאזן העומסים ובסוגי ה-backend שתבחרו. מידע על יצירת שירותי יעד זמין במסמכי העזרה של מאזן העומסים.
מפרסמים כל שירות יעד על ידי יצירת קובץ מצורף לשירות.
חשוב להבין שכדי להשתמש ב-Composite Health לצורך מעבר לגיבוי בעת כשל, צרכנים צריכים לגשת לשירותים שלכם באמצעות מאזני עומסים שתומכים במעבר לגיבוי בעת כשל בין אזורים.
מפעילים את Compute Engine API בפרויקט.
התפקידים הנדרשים
כדי לקבל את ההרשאות שנדרשות להגדרת מצב תקינות משולב, צריך לבקש מהאדמין להקצות לכם ב-IAM את התפקיד אדמין רשת של Compute (roles/compute.networkAdmin) בפרויקט.
כדי לקרוא הסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
זהו תפקיד מוגדר מראש שכולל את ההרשאות שנדרשות להגדרת מדד הבריאות המורכב. כדי לראות בדיוק אילו הרשאות נדרשות, אפשר להרחיב את הקטע ההרשאות הנדרשות:
ההרשאות הנדרשות
כדי להגדיר את התכונה 'בריאות משולבת', נדרשות ההרשאות הבאות:
-
compute.regionHealthAggregationPolicies.list -
compute.regionHealthAggregationPolicies.get -
compute.regionHealthAggregationPolicies.create -
compute.regionHealthAggregationPolicies.update -
compute.regionHealthAggregationPolicies.delete -
compute.regionHealthSources.list -
compute.regionHealthSources.get -
compute.regionHealthSources.create -
compute.regionHealthSources.update -
compute.regionHealthSources.delete -
compute.regionCompositeHealthChecks.list -
compute.regionCompositeHealthChecks.get -
compute.regionCompositeHealthChecks.create -
compute.regionCompositeHealthChecks.update -
compute.regionCompositeHealthChecks.delete
יכול להיות שתקבלו את ההרשאות האלה באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש אחרים.
הגדרת Composite Health לתמיכה במעבר אוטומטי ליתירות כשל באזור אחר
בקטעים הבאים מוסבר איך להגדיר את התכונה Composite Health למעבר אוטומטי לגיבוי במקרה של כשל באזור אחר.
התכונה Composite Health לא דורשת הגדרה על ידי צרכן השירות, אבל היא פועלת רק אם הצרכן מגדיר קצוות עורפיים נתמכים של Private Service Connect בפריסה מרובת אזורים. מידע על האופן שבו צרכני שירות יכולים להגדיר את רשת ה-VPC שלהם לשימוש ב-Composite Health זמין במאמר מעבר אוטומטי לגיבוי בין אזורים.
יצירת מדיניות צבירה של נתוני בריאות
צריך ליצור לפחות מדיניות אחת של צבירת נתונים על תקינות בכל אזור שבו רוצים לתמוך במעבר לגיבוי בענן בין אזורים.
מדיניות צבירה של נתוני תקינות היא משאב שאפשר לעשות בו שימוש חוזר, והיא מגדירה את הקריטריונים שלפיהם שירות לקצה העורפי נחשב תקין. אפשר להחיל את אותה מדיניות על כמה שירותי קצה עורפי, או ליצור מדיניות שונה לשירותים עם דרישות שונות לגבי תקינות.
המסוף
נכנסים לדף Composite Health במסוף Google Cloud :
לוחצים על מדיניות בנושא צבירת נתונים בתחום הבריאות.
לוחצים על יצירת מדיניות צבירת נתונים בתחום הבריאות.
מזינים שם למדיניות של צבירת נתונים על מצב הבריאות.
אופציונלי: מזינים תיאור של המדיניות.
לוחצים על אזור ובוחרים אזור להגדרת מדיניות צבירת נתונים בתחום הבריאות.
לוחצים על הבא.
בתיבה Healthy percent threshold (סף אחוז תקין), מזינים את אחוז נקודות הקצה המינימלי בשירות לקצה העורפי שצריך להיות תקין כדי שמקור הבדיקה ייחשב תקין – לדוגמה,
75.בתיבה Minimum healthy threshold (סף בריאות מינימלי), מזינים את מספר נקודות הקצה המינימלי בשירות לקצה העורפי שצריכות להיות תקינות כדי שמקור הבריאות ייחשב כתקין.
לוחצים על יצירה.
gcloud
משתמשים בפקודה gcloud compute health-aggregation-policies create.
gcloud compute health-aggregation-policies create POLICY \
--region=REGION \
--healthy-percent-threshold=PERCENT_HEALTHY \
--min-healthy-threshold=MINIMUM_HEALTHY
מחליפים את מה שכתוב בשדות הבאים:
-
POLICY: השם של מדיניות צבירת נתוני הבריאות -
REGION: האזור של מדיניות צבירת נתוני הבריאות
PERCENT_HEALTHY: אחוז נקודות הקצה המינימלי בשירות לקצה העורפי שצריכות להיות תקינות כדי שמקור הבדיקה ייחשב תקין. לדוגמה,75ערך ברירת המחדל הוא
60. נקודות קצה יכולות להיות מכונות וירטואליות בקבוצת מופעים או נקודות קצה ברשת בקבוצת נקודות קצה ברשת (NEG).
MINIMUM_HEALTHY: מספר נקודות הקצה המינימלי בשירות לקצה העורפי שצריכות להיות תקינות כדי שמקור הבדיקה ייחשב תקיןערך ברירת המחדל הוא
1.
API
שליחת בקשה ל-method regionHealthAggregationPolicies.insert.
ה-method של ה-HTTP וכתובת ה-URL:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/healthAggregationPolicies
תוכן בקשת JSON:
{
"name": "POLICY",
"policyType": "BACKEND_SERVICE_POLICY",
"healthyPercentThreshold": PERCENT_HEALTHY,
"minHealthyThreshold": MINIMUM_HEALTHY
}
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט של מדיניות צבירת הנתונים על תקינות. -
REGION: האזור של מדיניות צבירת נתוני הבריאות. -
POLICY: השם של מדיניות צבירת נתוני הבריאות.
PERCENT_HEALTHY: אחוז נקודות הקצה המינימלי בשירות לקצה העורפי שצריך להיות תקין כדי שמקור הבדיקה ייחשב תקין. לדוגמה,75.ערך ברירת המחדל הוא
60. נקודות קצה יכולות להיות מכונות וירטואליות בקבוצת מופעים או נקודות קצה ברשת בקבוצת נקודות קצה ברשת (NEG).
MINIMUM_HEALTHY: המספר המינימלי של נקודות הקצה בשירות לקצה העורפי שצריכות להיות תקינות כדי שמקור הבדיקה ייחשב תקין.ערך ברירת המחדל הוא
1.
יצירת מקור נתונים בנושא בריאות
יוצרים מקור נתונים של בריאות לכל מופע אזורי של השירות שפרסמתם. אם מופע של השירות שפרסמתם תלוי בסטטוס של כמה שירותי קצה עורפיים, צריך ליצור מקור סטטוס נפרד לכל אחד משירותי הקצה העורפיים האלה.
מקור מידע בנושא בריאות הוא המשאב שמקשר בין מדיניות צבירת נתונים בנושא בריאות לבין שירות לקצה העורפי ספציפי. בדיקת תקינות מורכבת מסכמת את מצבי התקינות ממקור אחד או יותר של נתוני תקינות כדי ליצור מצב תקינות מורכב סופי לשירות שלכם.
המסוף
נכנסים לדף Composite Health במסוף Google Cloud :
לוחצים על מקורות נתונים של בריאות.
לוחצים על יצירת מקור נתונים.
מזינים שם למקור המידע על הבריאות.
אופציונלי: מזינים תיאור של מקור המידע הרפואי.
לוחצים על אזור ובוחרים אזור למקור המידע הרפואי.
לוחצים על הבא.
לוחצים על מקור, ואז בוחרים שירות לקצה העורפי לשיוך למקור המידע הרפואי.
לוחצים על הבא.
לוחצים על מדיניות צבירת נתונים בתחום הבריאות, ואז בוחרים את מדיניות צבירת הנתונים בתחום הבריאות שרוצים להחיל על מקור הנתונים הזה.
לוחצים על יצירה.
gcloud
משתמשים בפקודה gcloud compute health-sources create.
gcloud compute health-sources create HEALTH_SOURCE \
--region=REGION \
--source-type=BACKEND_SERVICE \
--sources=BACKEND_SERVICE \
--health-aggregation-policy=POLICY
מחליפים את מה שכתוב בשדות הבאים:
-
HEALTH_SOURCE: השם של מקור המידע בנושא בריאות
REGION: האזור של מקור המידע בנושא בריאותמדיניות צבירת הנתונים של הבריאות צריכה להיות באותו אזור כמו מקור הנתונים של הבריאות.
BACKEND_SERVICE: השם של שירות קצה עורפי יחיד לשיוך למקור הבדיקותשירות לקצה העורפי צריך לעמוד בדרישות הבאות:
- סכמת איזון העומסים שלו חייבת להיות
INTERNALאוINTERNAL_MANAGED. - היא צריכה להיות באותו אזור שבו נמצא מקור המידע הרפואי שאתם יוצרים.
- העורפים שלו חייבים להיות קבוצות של מופעים או קבוצות של נקודות קצה ברשת מהסוגים
GCE_VM_IPאוGCE_VM_IP_PORT.
- סכמת איזון העומסים שלו חייבת להיות
POLICY: השם של מדיניות צבירת נתוני הבריאות שרוצים להחיל על מקור נתוני הבריאות הזה
API
שליחת בקשה ל-method regionHealthSources.insert.
ה-method של ה-HTTP וכתובת ה-URL:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/healthSources
תוכן בקשת JSON:
{
"name": "HEALTH_SOURCE",
"sourceType": "BACKEND_SERVICE",
"sources": [
"projects/PROJECT_ID/regions/REGION/backendServices/BACKEND_SERVICE"
],
"healthAggregationPolicy": "projects/PROJECT_ID/regions/REGION/healthAggregationPolicies/POLICY"
}
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט של מקור המידע הרפואי.
REGION: האזור של מקור הבדיקות.מדיניות צבירת הנתונים של הבריאות צריכה להיות באותו אזור כמו מקור הנתונים של הבריאות.
HEALTH_SOURCE: השם של מקור המידע על הבריאות.
BACKEND_SERVICE: השם של שירות קצה עורפי יחיד לשיוך למקור המידע על תקינות.שירות לקצה העורפי צריך לעמוד בדרישות הבאות:
- סכמת איזון העומסים שלו חייבת להיות
INTERNALאוINTERNAL_MANAGED. - היא צריכה להיות באותו אזור שבו נמצא מקור המידע הרפואי שאתם יוצרים.
- העורפים שלו חייבים להיות קבוצות של מופעים או קבוצות של נקודות קצה ברשת מהסוגים
GCE_VM_IPאוGCE_VM_IP_PORT.
- סכמת איזון העומסים שלו חייבת להיות
POLICY: השם של מדיניות צבירת נתונים על תקינות שרוצים להחיל על מקור הנתונים הזה.
יצירת בדיקת תקינות מורכבת
יוצרים בדיקת תקינות מורכבת לכל מופע אזורי של השירות שפורסם.
בדיקת תקינות מורכבת מסכמת את מצבי התקינות של מקורות התקינות המשויכים לה, ויוצרת מצב תקינות מורכב סופי. מצב הבריאות הסופי חל על השירות האזורי שפורסם ומשויך לכלל ההעברה שציינתם כיעד בריאות.
המסוף
נכנסים לדף Composite Health במסוף Google Cloud :
לוחצים על בדיקות תקינות מורכבות.
לוחצים על יצירת בדיקת תקינות מורכבת.
מזינים שם לבדיקת תקינות מורכבת.
אופציונלי: מזינים תיאור של בדיקת תקינות מורכבת.
לוחצים על Region (אזור) ובוחרים אזור לבדיקת תקינות מורכבת.
לוחצים על הבא.
לוחצים על מקור בריאות, ואז בוחרים מקור בריאות לשיוך לבדיקת הבריאות המורכבת. כדי להוסיף עוד מקורות מידע בנושא בריאות, לוחצים על הוספת מקור מידע בנושא בריאות ואז בוחרים עוד מקור מידע בנושא בריאות.
לוחצים על הבא.
לוחצים על Load balancer type (סוג מאזן עומסים) ובוחרים את סוג מאזן העומסים שרוצים להשתמש בו כיעד הבדיקה.
לוחצים על Load balancer (מאזן עומסים) ואז בוחרים את מאזן העומסים שרוצים להשתמש בו כיעד הבדיקה.
אם מאזן העומסים משויך לכמה כללי העברה, לוחצים על כלל העברה ואז בוחרים את כלל ההעברה שרוצים להשתמש בו כיעד לבדיקת התקינות.
לוחצים על יצירה.
gcloud
משתמשים בפקודה gcloud compute composite-health-checks create.
gcloud compute composite-health-checks create COMPOSITE_HEALTH_CHECK \
--region=REGION \
--health-sources=HEALTH_SOURCES \
--health-destination=HEALTH_DESTINATION
מחליפים את מה שכתוב בשדות הבאים:
-
COMPOSITE_HEALTH_CHECK: השם של בדיקת תקינות מורכבת -
REGION: האזור של בדיקת התקינות המורכבת
HEALTH_SOURCES: השמות של מקורות הבריאות (לפחות אחד) שרוצים לשייך לבדיקת הבריאות המורכבתאפשר לכלול כמה מקורות מידע על הבריאות ברשימה שמופרדת בפסיקים.
HEALTH_DESTINATION: ה-URI של כלל ההעברה שמקבל את מצב התקינות המורכב מבדיקת התקינות המורכבת הזו. לדוגמה:projects/PROJECT_ID/regions/REGION/forwardingRules/FORWARDING_RULEכלל ההעברה חייב להיות משויך למאזן עומסים של יצרן שתומך בבדיקת תקינות מורכבת ועומד בדרישות הבאות:
- סכמת איזון העומסים שלו חייבת להיות
INTERNALאוINTERNAL_MANAGED. - היא צריכה להיות באותו אזור שבו נמצאת בדיקת תקינות משולבת.
- סכמת איזון העומסים שלו חייבת להיות
API
שליחת בקשה ל-method regionCompositeHealthChecks.insert.
ה-method של ה-HTTP וכתובת ה-URL:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/compositeHealthChecks
תוכן בקשת JSON:
{
"name": "COMPOSITE_HEALTH_CHECK",
"healthSources": [
"projects/PROJECT_ID/regions/REGION/healthSources/HEALTH_SOURCE"
],
"healthDestination": "HEALTH_DESTINATION"
}
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט של בדיקת תקינות מורכבת. -
REGION: האזור של בדיקת תקינות משולבת. -
COMPOSITE_HEALTH_CHECK: השם של בדיקת תקינות מורכבת.
HEALTH_SOURCE: השם של מקור נתונים של בריאות שאותו רוצים לשייך לבדיקת הבריאות המורכבת. אפשר לכלול כמה מקורות מידע בתחום הבריאות במערךhealthSources.
HEALTH_DESTINATION: ה-URI של כלל ההעברה שמקבל את מצב התקינות המורכב מבדיקת התקינות המורכבת הזו. לדוגמה:projects/PROJECT_ID/regions/REGION/forwardingRules/FORWARDING_RULEכלל ההעברה חייב להיות משויך למאזן עומסים של יצרן שתומך בבדיקת תקינות מורכבת ועומד בדרישות הבאות:
- סכמת איזון העומסים שלו חייבת להיות
INTERNALאוINTERNAL_MANAGED. - היא צריכה להיות באותו אזור שבו נמצאת בדיקת תקינות משולבת.
- סכמת איזון העומסים שלו חייבת להיות
המאמרים הבאים
- כדי לעקוב אחרי שירות שפורסם באמצעות Composite Health, אפשר לעיין במאמר בנושא מעקב אחרי Composite Health.
- כדי לנהל את ההגדרה של Composite Health, אפשר לעיין במאמר בנושא הצגה, עדכון ומחיקה של ההגדרה של Composite Health.