כברירת מחדל, התמונות נוצרות בהיקף גלובלי. תמונות מצב בהיקף גלובלי מאוחסנות במיקום אחסון ספציפי, ואפשר לשחזר אותן (להשתמש בהן כדי ליצור דיסק חדש) בכל אזור או תחום . כדי לקבל שליטה נוספת בבידוד לפי מיקום, אפשר ליצור תמונות מצב בהיקף אזורי. קובצי snapshot בהיקף אזורי מאחסנים את כל הנתונים והמטא-נתונים של קובץ ה-snapshot יחד באזור המוגדר. בעזרת תמונות מצב בהיקף אזורי, אפשר גם להגביל את האזורים שבהם אפשר ליצור ולשחזר תמונות מצב.
במאמר הזה מוסבר איך מגדירים מיקומים מותרים ליצירה ולשחזור של תמונות מצב אזוריות.
לפני שמתחילים
-
אם עדיין לא עשיתם את זה, תצטרכו להגדיר אימות.
אימות הוא תהליך שבו מאמתים את הזהות שלכם כדי לקבל גישה לממשקי API ולשירותים של Cloud de Confiance by S3NS . כדי להריץ קוד או דוגמאות מסביבת פיתוח מקומית, אפשר לבצע אימות ל-Compute Engine באחת מהדרכים הבאות:
צריך לבחור את הכרטיסייה הרלוונטית לאופן שבו תכננתם להשתמש בדוגמאות בדף הזה:
המסוף
כשמשתמשים במסוף Cloud de Confiance כדי לגשת לשירותים ולממשקי ה-API, לא צריך להגדיר אימות. Cloud de Confiance by S3NS
gcloud
-
התקינו את ה-CLI של Google Cloud ואז היכנסו ל-CLI של gcloud באמצעות הזהות המאוחדת שלכם. אחרי שנכנסתם לחשבון, אתחלו את ה-CLI של Google Cloud באמצעות הפקודה הבאה:
gcloud init
-
- הגדרת אזור ותחום כברירת מחדל
REST
כדי להשתמש בסביבת פיתוח מקומית בדוגמאות של API בארכיטקטורת REST שבדף הזה, צריך להשתמש בפרטי הכניסה שאתם נותנים ל-CLI של gcloud.
התקינו את ה-CLI של Google Cloud ואז היכנסו ל-CLI של gcloud באמצעות הזהות המאוחדת שלכם.
מידע נוסף מופיע במאמר אימות לשימוש ב-REST במסמכי האימות של Cloud de Confiance .
מגבלות
- הגדרת היקף אזורי מבטלת את כל ההגדרות של מיקום האחסון שמוגדר כברירת מחדל בפרויקט.
- הגדרת היקף אזורי חלה רק על תמונות מצב אזוריות חדשות.
- אי אפשר להמיר תמונת מצב בהיקף גלובלי לתמונת מצב בהיקף אזורי. תצטרכו ליצור snapshot חדש עם ההיקף המתאים.
תפקידים והרשאות נדרשים
כדי לקבל את ההרשאות שנדרשות להגדרת מיקומי אחסון ושחזור לתמונות מצב בהיקף אזורי, צריך לבקש מהאדמין להקצות לכם את תפקידי ה-IAM הבאים בפרויקט:
- Compute Instance Admin (v1)
(
roles/compute.instanceAdmin.v1) - כדי להתחבר למכונה וירטואלית שיכולה לפעול כחשבון שירות: משתמש בחשבון שירות (גרסה 1) (
roles/iam.serviceAccountUser)
להסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
התפקידים המוגדרים מראש האלה מכילים את ההרשאות שנדרשות להגדרת מיקומים ליצירת תמונות מצב ולשחזור שלהן. כדי לראות בדיוק אילו הרשאות נדרשות, אפשר להרחיב את הקטע ההרשאות הנדרשות:
הגדרת המיקומים שבהם מותר ליצור תמונות מצב
כברירת מחדל, אפשר ליצור תמונות מצב בכל האזורים. כדי להגביל את המקומות שבהם אפשר ליצור תמונות מצב בהיקף אזורי, צריך להגדיר מיקומי גישה מותרים ברמת הפרויקט. אחרי שמגדירים מיקומי גישה, אפשר ליצור תמונות מצב בהיקף אזורי לפרויקט רק במיקומים האלה.
gcloud
כדי לאפשר לדיסקים אזוריים באזור א' ליצור תמונות מצב בכל אזור, משתמשים בפקודה gcloud beta compute disk-settings update:
gcloud beta compute disk-settings update \
--zone=ZONE_A \
--access-location-policy=all-regions \
כדי לאפשר לדיסקים אזוריים באזור א' ליצור תמונות מצב בכל אזור, משתמשים בפקודה gcloud beta compute disk-settings update:
gcloud beta compute disk-settings update \
--region=REGION_A \
--access-location-policy=all-regions
כדי לאפשר לדיסקים באזור א' ליצור תמונות מצב רק באזור ב', משתמשים בפקודה gcloud beta compute disk-settings update:
gcloud beta compute disk-settings update \
--access-location-policy=specific-regions \
--region=REGION_A \
--add-access-locations=REGION_B
מחליפים את מה שכתוב בשדות הבאים:
-
ZONE_A: האזור של הדיסקים שיכולים ליצור תמונות מצב בכל אזור. -
REGION_A: האזור של כל הדיסקים (בפרויקט) שנדרשות לגביהם הגבלות על יצירת קובצי snapshot בהיקף אזורי. -
REGION_B: אזור מותר ליצירת תמונת מצב בהיקף אזורי. אפשר להגדיר כמה אזורים כמיקומים שמותרת בהם גישה. צריך לכלול את האזור שבו מאוחסן דיסק המקור כאחד מהאזורים המותרים.
REST
כדי לאפשר לדיסקים אזוריים באזור א' ליצור תמונות מצב בכל אזור, שולחים בקשת PATCH לשיטה diskSettings.patch:
PATCH https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE_A/diskSettings?updateMask=accessLocation
{
"accessLocation":
{
"policy":"ALL_REGIONS"
}
}
כדי לאפשר לדיסקים אזוריים באזור א' ליצור תמונות מצב רק באזור ב', שולחים בקשת PATCH לשיטה regionDiskSettings.patch:
PATCH https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION_A/diskSettings?updateMask=accessLocation
{
"accessLocation":
{
"policy":"SPECIFIC_REGIONS",
"locations":
{
"REGION_B":{"region":"REGION_B"}
}
}
}
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט. -
ZONE_A: האזור של הדיסק. -
REGION_A: האזור של הדיסק. -
REGION_B: אזור מותר ליצירת קובץ snapshot. אפשר להגדיר כמה אזורים כמיקומים שמותרת בהם גישה. צריך לכלול את האזור שבו מאוחסן דיסק המקור כאחד מהאזורים המותרים.
הגדרת מיקומים מותרים לשחזור תמונת מצב
כברירת מחדל, אפשר לשחזר תמונות מצב בהיקף אזורי ועולמי לכל אזור. כדי להגדיר מיקומי שחזור לתמונות המצב שלכם בהיקף אזורי, צריך להגדיר מיקומי גישה מותרים ברמת הפרויקט. צריך להגדיר את המיקומים שמותרת מהם גישה לכל פרויקט בנפרד. אחרי שמגדירים מיקומי גישה, אפשר לשחזר תמונות מצב בהיקף אזורי של הפרויקט רק במיקומים האלה.
gcloud
כדי לאפשר שניתן יהיה לשחזר תמונות מצב של פרויקט באזור א', בכל האזורים, משתמשים בפקודה gcloud beta compute snapshot-settings update:
gcloud beta compute snapshot-settings update \
--project=PROJECT_ID \
--region=REGION_A \
--access-location-policy=all-regions
כדי לאפשר שחזור של תמונות מצב של פרויקט באזור א' רק באזור ב', משתמשים בפקודה gcloud beta compute snapshot-settings update:
gcloud beta compute snapshot-settings update \
--project=PROJECT_ID \
--access-location-policy=specific-regions \
--region=REGION_A \
--add-access-locations=REGION_B
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט. -
REGION_A: האזור שבו נשמרים התמונות המקומיות. -
REGION_B: אזור מותר שבו אפשר לשחזר תמונות מצב בהיקף אזורי. אפשר להגדיר כמה אזורים כמיקומים מותרים לשחזור.
REST
כדי לאפשר שחזור של תמונות מצב של פרויקט באזור א' בכל האזורים, צריך לשלוח בקשה ל-method regionSnapshotSettings.patch:PATCH
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION_A/snapshotSettings?updateMask=accessLocation
{
"accessLocation":
{
"policy":"ALL_REGIONS"
}
}
כדי לאפשר שחזור של תמונות מצב של פרויקט באזור א' רק באזור ב', צריך לשלוח בקשת PATCH אל השיטה regionSnapshotSettings.patch:
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION_A/snapshotSettings?updateMask=accessLocation
{
"accessLocation":
{
"policy":"SPECIFIC_REGIONS",
"locations":
{"REGION_B":
{"region":"REGION_B"}
}
}
}
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט. -
REGION_A: האזור שבו נשמרים התמונות המקומיות. -
REGION_B: אזור מותר שבו אפשר לשחזר תמונות מצב בהיקף אזורי. אפשר להגדיר כמה אזורים כמיקומים מותרים לשחזור.
עריכת המיקומים המורשים לשחזור תמונת מצב
gcloud
כדי להציג את מיקומי השחזור המותרים לתמונות מצב של פרויקט שמאוחסן באזור א', משתמשים בפקודה gcloud beta compute snapshot-settings describe:
gcloud beta compute snapshot-settings describe \
--project=PROJECT_ID \
--region=REGION_A
כדי להסיר את אזור ב' מרשימת המיקומים המותרים לשחזור תמונות מצב של פרויקט שמאוחסן באזור א', משתמשים בפקודה gcloud beta compute snapshot-settings update:
gcloud beta compute snapshot-settings update \
--project=PROJECT_ID \
--access-location-policy=specific-regions \
--remove-access-locations=REGION_B \
--region=REGION_A
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט. -
REGION_A: האזור שבו נשמרים התמונות המקומיות. -
REGION_B: האזור שבו רוצים להסיר את הרשאת הגישה לשחזור של תמונות מצב בהיקף אזורי.
REST
כדי לראות את מיקומי השחזור המותרים לתמונות מצב של פרויקט שמאוחסן באזור א', שולחים בקשת GET ל-method regionSnapshotSettings.get:
GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION_A/snapshotSettings
כדי להסיר את אזור ב' מרשימת המיקומים המותרים לשחזור של תמונות מצב של פרויקט שמאוחסן באזור א', שולחים בקשת PATCH ל-method regionSnapshotSettings.patch:
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION_A/snapshotSettings?updateMask=accessLocation
{
"accessLocation":
{
"policy":"SPECIFIC_REGIONS",
"locations":
{"REGION_B":{}}
}
}
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט. -
REGION_A: האזור שבו נשמרים התמונות המקומיות. -
REGION_B: האזור שבו רוצים להסיר את הרשאת הגישה לשחזור של תמונות מצב בהיקף אזורי.