באמצעות סקריפטים של התאמה אוטומטית לעומס או שירותי זמן ריצה ב-Compute Engine, אפשר לבצע אוטומציה של צינורות עיבוד נתונים של אינטגרציה רציפה (CI) ופריסה רציפה (CD). עם זאת, מכיוון שהמשאבים האלה תלויים מאוד בהגדרות של משאבים גלובליים כשהם שולחים שאילתות לנקודות קצה ל-API גלובליות, הגישה הזו יכולה להוביל לנקודת כשל בודדת בארכיטקטורה מרובת האזורים.
כדי לצמצם את הסיכון הזה, אתם יכולים להגדיר את השירותים כך שייגשו לתצוגות אזוריות של משאבים גלובליים. כששולחים בקשות GET ו-LIST לנקודות קצה אזוריות לקריאה בלבד באזור המדויק שבו פועלים עומסי העבודה של המחשוב, השירותים מבודדים את השימוש שלהם ב-API מהפסקות אפשריות במישור הבקרה הגלובלי או באזורים אחרים. מידע נוסף על נקודות קצה אזוריות לקריאה בלבד ועל שיטות מומלצות לחוסן זמין במאמר שימוש בתצוגות אזוריות לקריאות חוסן במישור הבקרה.
לפני שמתחילים
-
אם עדיין לא עשיתם את זה, תצטרכו להגדיר אימות.
אימות הוא התהליך שבו מאמתים את הזהות שלכם כדי לקבל גישה לממשקי API ולשירותים של Google Cloud . כדי להריץ קוד או דוגמאות מסביבת פיתוח מקומית, אפשר לבצע אימות ל-Compute Engine באחת מהדרכים האלה:
צריך לבחור את הכרטיסייה הרלוונטית לאופן שבו תכננתם להשתמש בדוגמאות בדף הזה:
המסוף
כשמשתמשים במסוף Google Cloud כדי לגשת Google Cloud לשירותים ולממשקי ה-API, לא צריך להגדיר אימות.
gcloud
-
התקינו את ה-CLI של Google Cloud. אחר כך, מאתחלים את ה-CLI של Google Cloud באמצעות הפקודה הבאה:
gcloud initאם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
-
- הגדרת אזור ותחום כברירת מחדל.
REST
כדי להשתמש בסביבת פיתוח מקומית בדוגמאות של API בארכיטקטורת REST שבדף הזה, צריך להשתמש בפרטי הכניסה שאתם נותנים ל-CLI של gcloud.
התקינו את ה-CLI של Google Cloud.
אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
מידע נוסף מופיע במאמר אימות לשימוש ב-REST במסמכי האימות של Google Cloud .
התפקידים הנדרשים
כדי לקבל את ההרשאות שדרושות לגישה למשאבים גלובליים באופן אזורי, צריך לבקש מהאדמין להקצות לכם ב-IAM את התפקיד Compute Instance Admin (v1) (roles/compute.instanceAdmin.v1) בפרויקט או בקובצי אימג' של מערכת ההפעלה.
כדי לקרוא הסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
זהו תפקיד שמוגדר מראש וכולל את ההרשאות שנדרשות כדי לגשת למשאבים גלובליים באופן אזורי. כדי לראות בדיוק אילו הרשאות נדרשות, אפשר להרחיב את הקטע ההרשאות הנדרשות:
ההרשאות הנדרשות
כדי לגשת למשאבים גלובליים ברמה האזורית, נדרשות ההרשאות הבאות:
-
כדי לקבל תצוגות אזוריות של פרויקט:
compute.projects.getבפרויקט -
כדי לקבל תצוגות אזוריות של קובצי אימג' של מערכת הפעלה:
compute.images.getו-compute.images.listבפרויקט או בקובצי אימג' של מערכת הפעלה
יכול להיות שתקבלו את ההרשאות האלה באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש אחרים.
משאב של הפרויקט
אפשר לקבל תצוגות אזוריות של משאבי הפרויקט הגלובלי באמצעות נקודת הקצה לקריאה בלבד projectViews.
כששולחים שאילתה לנקודת הקצה projectViews, Compute Engine מחזיר את אובייקט המשאב הגלובלי הרגיל compute.Project. המשאב עצמו נשאר גלובלי.
תצוגה אזורית של משאב בפרויקט
אפשר לקבל תצוגה אזורית של הפרויקט הגלובלי באמצעות Google Cloud CLI או API בארכיטקטורת REST.
gcloud
כדי לתאר את הפרויקט הגלובלי באמצעות מישור הבקרה לאזור ספציפי, מריצים את הפקודה gcloud compute project-views describe:
gcloud compute project-views describe \
--region=REGION \
--project=PROJECT_ID
מחליפים את מה שכתוב בשדות הבאים:
-
REGION: האזור Google Cloud של בקשת ה-API, לדוגמהus-central1. PROJECT_ID: מזהה הפרויקט.
REST
כדי לתאר את הפרויקט הגלובלי דרך מישור הבקרה לאזור ספציפי, שולחים בקשת GET ל-method projectViews.
curl -H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
"https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/projectViews"
מחליפים את מה שכתוב בשדות הבאים:
PROJECT_ID: מזהה הפרויקט.-
REGION: האזור ב- Google Cloud לבקשת ה-API. לדוגמה:us-central1.
ה-API מחזיר ישירות את הייצוג הרגיל של משאב compute.Project.
{
"kind": "compute#project",
"id": "1234567890123456789",
"creationTimestamp": "2024-01-15T10:00:00.000-08:00",
"name": "my-project12345",
"commonInstanceMetadata": {
"items": [
{
"key": "example-key",
"value": "example-value"
}
]
},
"selfLink": "https://www.googleapis.com/compute/v1/projects/my-project12345",
"defaultServiceAccount": "SERVICE_ACCOUNT_EMAIL"
}
משאב של קובץ אימג' של מערכת ההפעלה
כדי לקבל תצוגות אזוריות של משאב קובץ אימג' של מערכת ההפעלה הגלובלי, אפשר להשתמש בנקודת הקצה (endpoint) לקריאה בלבד imageViews.
כששולחים שאילתה לנקודת הקצה imageViews, Compute Engine מחזיר את אובייקט המשאב הגלובלי הרגיל compute.Image. המשאב עצמו נשאר גלובלי.
קבלת רשימה אזורית של משאבי קובצי אימג' של מערכת ההפעלה
אפשר להשתמש ב-CLI של gcloud או ב-API בארכיטקטורת REST כדי להציג רשימה של כל קובצי האימג' של מערכת ההפעלה הגלובליים שזמינים לפרויקט דרך נקודת קצה אזורית ספציפית.
gcloud
כדי להציג רשימה של קובצי אימג' של מערכת ההפעלה גלובליים באמצעות נקודת קצה אזורית, מריצים את הפקודה gcloud compute image-views list:
gcloud compute image-views list \
--region=REGION \
--project=PROJECT_ID
מחליפים את מה שכתוב בשדות הבאים:
-
REGION: האזור ב- Google Cloud לבקשת ה-API. לדוגמה:us-central1. PROJECT_ID: מזהה הפרויקט.
REST
כדי להציג רשימה של קובצי אימג' של מערכת ההפעלה גלובליים באמצעות נקודת קצה אזורית, שולחים בקשת GET לשיטה imageViews:
curl -H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/imageViews"
מחליפים את מה שכתוב בשדות הבאים:
PROJECT_ID: מזהה הפרויקט.-
REGION: האזור Google Cloud של בקשת ה-API, לדוגמהus-central1.
איך מקבלים תצוגה אזורית של משאב קובץ אימג' של מערכת ההפעלה
אפשר לאחזר מידע על קובץ אימג' גלובלי ספציפי של מערכת ההפעלה דרך נקודת קצה אזורית, באמצעות ה-CLI של gcloud או ה-API בארכיטקטורת REST.
gcloud
כדי לאחזר פרטים של תמונה גלובלית של מערכת הפעלה באמצעות נקודת קצה אזורית, מריצים את הפקודה gcloud compute image-views describe:
gcloud compute image-views describe IMAGE_NAME \
--region=REGION \
--project=PROJECT_ID
מחליפים את מה שכתוב בשדות הבאים:
-
IMAGE_NAME: השם של משאב קובץ אימג' של מערכת ההפעלה הגלובלית. -
REGION: האזור ב- Google Cloud לבקשת ה-API. לדוגמה:us-central1. PROJECT_ID: מזהה הפרויקט.
REST
כדי לאחזר פרטים של קובץ אימג' של מערכת ההפעלה גלובלי באמצעות נקודת קצה אזורית, שולחים בקשת GET לשיטה imageViews הספציפית:
curl -H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/imageViews/IMAGE_NAME"
מחליפים את מה שכתוב בשדות הבאים:
PROJECT_ID: מזהה הפרויקט.-
REGION: ה Google Cloud אזור בבקשת ה- API, לדוגמהus-central1. -
IMAGE_NAME: השם של משאב קובץ אימג' של מערכת ההפעלה הגלובלי.
ה-API מחזיר ישירות את הייצוג הרגיל של המשאב compute.Image.
{
"kind": "compute#image",
"id": "1234567890123456789",
"creationTimestamp": "2024-01-15T10:00:00.000-08:00",
"name": "my-image12345",
"sourceDisk": "https://www.googleapis.com/compute/v1/projects/my-project12345/zones/us-central1-a/disks/my-disk12345",
"sourceDiskId": "1234567890123456789",
"sourceType": "RAW",
"status": "READY",
"selfLink": "https://www.googleapis.com/compute/v1/projects/my-project12345/global/images/my-image12345"
}
המאמרים הבאים
- מידע נוסף על משאבי הפרויקט
- מידע נוסף על קובצי אימג' של מערכת ההפעלה
- איך פותרים בעיות בתצוגות אזוריות של משאבים גלובליים