שחזור מכונה של Compute Engine מכספת גיבוי

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

התפקידים הנדרשים

כדי לקבל את ההרשאות שנדרשות לשחזור מכונת Compute Engine ממאגר גיבויים, צריך לבקש מהאדמין להקצות לכם את תפקידי ה-IAM הבאים בפרויקט, בפרויקט היעד, בסוכן השירות של Backup and DR ובפרויקט המארח של ה-VPC:

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

התפקידים המוגדרים מראש האלה מכילים את ההרשאות שנדרשות לשחזור מכונה של Compute Engine מכספת גיבוי. כדי לראות בדיוק אילו הרשאות נדרשות, אפשר להרחיב את הקטע ההרשאות הנדרשות:

ההרשאות הנדרשות

כדי לשחזר מכונת Compute Engine מכספת גיבוי, צריך את ההרשאות הבאות:

  • שחזור מכונה של Compute Engine:
    • backupdr.bvbackups.restore
    • backupdr.compute.restoreFromBackupVault
    • backupdr.backupVaults.get
    • backupdr.backupVaults.list
    • backupdr.bvbackups.list
    • backupdr.bvdataSources.get
    • backupdr.bvdataSources.list
    • backupdr.bvbackups.get
  • שחזור מכונה של Compute Engine באמצעות Google Cloud המסוף (נדרשות הרשאות נוספות):
    • compute.acceleratorTypes.list
    • compute.disks.list
    • compute.machineTypes.list
    • compute.projects.get
    • compute.regions.list
    • compute.zones.list

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

שחזור מכונה של Compute Engine

כדי לשחזר מכונה של Compute Engine, פועלים לפי ההוראות הבאות.

המסוף

  1. נכנסים לדף Vaulted backups במסוף Google Cloud .

    מעבר לגיבויים ב-Vault

    כאן מפורטות כל מכונות Compute Engine עם גיבויים בכספת.

  2. לוחצים על סמל הפעולה כדי לבחור בפעולה שחזור. מוצג דף השחזור שבו בוחרים את אפשרויות השחזור הבאות:

  3. לוחצים על המשך.

    מופיע הדף Create a new Compute Engine instance from a backup, שבו מאפייני המכונה של Compute Engine מאוכלסים מראש על סמך מאפייני המכונה של Compute Engine במקור. אפשר לשנות את המאפיינים כדי ליצור מופע חדש של Compute Engine. לדוגמה, אפשר לשנות את הבחירה של אזור או סוג מכונה.

  4. לוחצים על Create (יצירה) כדי ליצור מכונה וירטואלית חדשה מהגיבוי שנבחר.

gcloud

  1. כדי לקבל את חשבון השירות של כספת הגיבוי, משתמשים בפקודה gcloud backup-dr backup-vaults describe:

    gcloud backup-dr backup-vaults describe BACKUP_VAULT_NAME /
    --location=REGION_NAME
    

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

    • BACKUP_VAULT_NAME: שם מאגר הגיבוי שממנו רוצים לשחזר נתונים.

    • REGION_NAME: האזור של כספת הגיבוי.

  2. לפני שמשחזרים מכונת Compute Engine, צריך להשתמש בפקודות הבאות כדי לקבל את המזהה של מקור הנתונים ואת המזהה של הגיבוי הנדרש:

    1. משתמשים בפקודה gcloud backup-dr data-sources list כדי למצוא את מזהה מקור הנתונים:

      gcloud backup-dr data-sources list \
      --project=PROJECT_NAME \
      --location=REGION_NAME \
      --backup-vault=BACKUP_VAULT_NAME \
      "--filter=dataSourceGcpResource.computeInstanceDatasourceProperties.name:(DATA_SOURCE)" \
      "--format=get(name)"
      
    2. כדי לראות את רשימת הגיבויים הקיימים של מקור הנתונים ולמצוא את BACKUP_ID הנכון, משתמשים בפקודה gcloud backup-dr backups list:

      gcloud backup-dr backups list \
      --location=REGION_NAME \
      --backup-vault=BACKUP_VAULT_NAME \
      --data-source=DATA_SOURCE \
      "--format=yaml(backupType,computeInstanceBackupProperties.sourceInstance,consistencyTime,enforcedRetentionEndTime,expireTime,name)"
      
  3. כדי לשחזר מכונה של Compute Engine, משתמשים בפקודות הבאות:

    • משחזרים מכונת Compute Engine באותו פרויקט שבו נמצא פרויקט העומס עם מזהה הגיבוי באמצעות הפקודה gcloud backup-dr backups restore compute:

      gcloud backup-dr backups restore compute test-backup-id \
      --project=PROJECT_NAME --location=REGION_NAME \
      --backup-vault=BACKUP_VAULT_NAME --data-source=DATA_SOURCE\
      --name=NAME --target-zone=TARGET_ZONE \
      --target-project=TARGET_PROJECT
      
    • משחזרים מכונה של Compute Engine באותו פרויקט שבו נמצא פרויקט העומס עם גיבוי, באמצעות כתובת ה-URL המלאה של המשאב gcloud backup-dr backups restore compute projects:

      gcloud backup-dr backups restore compute projects/test-project-id/locations/us-central1/backupVaults/test-vault/dataSources/test-ds/backups/test-backup-id \
      --name=NAME --target-zone=TARGET_ZONE \
      --target-project=TARGET_PROJECT
      
    • כדי לשחזר מכונה של Compute Engine עם חשבון שירות מותאם אישית והגדרת רשת מותאמת אישית, משתמשים בפקודה gcloud backup-dr backups restore compute:

      gcloud backup-dr backups restore compute test-backup-id \
      --project=PROJECT --location=REGION \
      --backup-vault=BACKUPVAULT_NAME --data-source=DATA_SOURCE\
      --name=NAME --target-zone=TARGET_ZONE \
      --target-project=TARGET_PROJECT \
      --network-interface=network=NETWORK,subnet=SUBNET \
      --service-account=SERVICE_ACCOUNT \
      --scopes=SCOPE
      

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

      • PROJECT: השם של פרויקט כספת הגיבוי.

      • REGION: המיקום של כספת הגיבוי.

      • BACKUPVAULT_NAME: השם של כספת הגיבוי שממנה רוצים לשחזר נתונים.

      • DATA_SOURCE: השם של מקור הנתונים שממנו רוצים לשחזר נתונים.

      • NAME: השם של מכונת Compute Engine ששוחזרה.

      • TARGET_ZONE: האזור שבו משוחזרת מכונת Compute Engine.

      • TARGET_PROJECT: הפרויקט שבו משוחזרת מכונת Compute Engine.

      • NETWORK: ה-URI של הרשת של מכונת Compute Engine.

      • SUBNET: ה-URI של רשת המשנה של מופע Compute Engine.

      • SERVICE_ACCOUNT: חשבון השירות של מכונת Compute Engine ששוחזרה.

      • SCOPE: היקף ההרשאות של חשבון השירות.

    • משחזרים דיסק ב-Compute Engine באמצעות הפקודה gcloud backup-dr backups restore disk. הוראות מפורטות לשחזור דיסק ספציפי מגיבוי של מכונה ב-Compute Engine זמינות במאמר ביצוע שחזור סלקטיבי של דיסק מגיבוי של מכונה ב-Compute Engine.

      gcloud backup-dr backups restore disk BACKUP_NAME  \
      --name=DISK_NAME \
      --target-project=TARGET_PROJECT_NAME \
      [--source-instance-boot-disk | --source-instance-disk-device-name=DEVICE_NAME] \
      [--target-zone=TARGET_ZONE_NAME | --target-region=TARGET_REGION_NAME --replica-zones=ZONE_NAME] \
      [DISK_OVERRIDE_FLAGS...] \
      [--async]
      

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

הגבלות על שחזור של גיבויים סלקטיביים של דיסקים

כשמשחזרים מכונת Compute Engine מגיבוי שנוצר באמצעות גיבוי סלקטיבי של דיסקים, רק הדיסקים שהיו מוגנים בזמן הגיבוי משוחזרים ומצורפים למכונה הווירטואלית (VM) החדשה. במסוף Google Cloud , בקטע הסיכום מודגשים הדיסקים המוגנים שנכללים בגיבוי (לדוגמה, Protected disks: 2 out of 3).

כדי למנוע כשלים באתחול כשמשחזרים מכונות וירטואליות עם דיסקים מוחרגים, צריך להגדיר את הגדרות האתחול של מכונת ה-VM המקורית כך שיתעלמו מדיסקים חסרים (לדוגמה, על ידי הוספת האפשרות nofail mount ב-/etc/fstab). למידע נוסף על המגבלה הזו ב-Compute Engine, ראו מגבלות ואזהרות לגבי שחזור של דיסק אחסון מתמיד.

שחזור גיבוי ממאגר גיבויים עם הפעלה של CMEK

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

טיפול ב-CMEK בשחזורים של מכונות שלמות ב-Compute Engine

כשמשחזרים מכונה שלמה של Compute Engine מגיבוי שמאוחסן בכספת גיבוי עם CMEK, הגיבוי עצמו מוגן על ידי ה-CMEK של הכספת. כברירת מחדל, הדיסקים במכונה המשוחזרת של Compute Engine שומרים על הגדרות ההצפנה המקוריות שלהם, בין אם מדובר בהצפנה שמנוהלת על ידי Google או במפתחות CMEK המקוריים שלהם. ההרשאות שנדרשות כדי לגשת ל-CMEK של הכספת מוענקות לסוכן השירות של Backup and DR, כפי שמתואר במאמר מושגי CMEK.

טיפול ב-CMEK בשחזורים של דיסקים בודדים

כשבוחרים את היקף השחזור דיסק בודד כדי לשחזר דיסק בודד מגיבוי של מכונה וירטואלית ב-Compute Engine, מתרחשת הפעולה הבאה:

  • התנהגות ברירת המחדל: הדיסק החדש שנוצר מהגיבוי מנסה להשתמש באותו מפתח הצפנה כמו דיסק המקור מהמכונה המקורית של Compute Engine.

    • אם בדיסק המקור נעשה שימוש בהצפנה בניהול Google, גם בדיסק המשוחזר נעשה שימוש בהצפנה בניהול Google.

    • אם בדיסק המקור נעשה שימוש ב-CMEK ספציפי, המערכת תנסה להשתמש באותו CMEK בדיסק המשוחזר.

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

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

    המסוף

    • בקטע Target Disk Properties (מאפייני דיסק היעד) באשף השחזור, אפשר לשנות את הגדרות ההצפנה באמצעות אחת מהאפשרויות הבאות:

      • בוחרים מפתח הצפנה אחר בניהול הלקוח (CMEK).

      • עוברים להצפנה בניהול Google.

    gcloud

    • כשמשתמשים בפקודה gcloud backup-dr backups restore disk עם הדגלים --source-instance-boot-disk או --source-instance-disk-device-name:

      • כדי לציין מפתח CMEK אחר לדיסק המשוחזר, משתמשים בדגל --kms-key:
      --kms-key=projects/MY-KEY-PROJECT/locations/us-central1/keyRings/MY-RING/cryptoKeys/MY-NEW-KEY
      
      • כדי לאלץ את הדיסק המשוחזר להשתמש בהצפנה שמנוהלת על ידי Google, משתמשים בדגל --clear-encryption-key.
  • הרשאות לביטול הגדרות של CMEK:

    • אם מבטלים את ההצפנה כדי להשתמש ב-CMEK חדש או שונה, צריך לוודא שלסוכן השירות של Compute Engine בפרויקט היעד יש את התפקיד Cloud KMS CryptoKey Encrypter/Decrypter (roles/cloudkms.cryptoKeyEncrypterDecrypter) במפתח ה-KMS שצוין. הפורמט של חשבון סוכן השירות הוא: service-TARGET_PROJECT_NUMBER@compute-system.iam.gserviceaccount.com.

    • ההרשאה הזו נדרשת כדי ש-Compute Engine יוכל ליצור את הדיסק החדש שמוצפן באמצעות המפתח שנבחר.

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

שחזור גיבוי ממאגר גיבויים עם הפעלה של CMEK

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

  • אם משאב המקור היה מוגן באמצעות CMEK: משאב המשוחזר מוגדר כברירת מחדל לשימוש באותו מפתח CMEK כמו המקור. לדוגמה:
    • דיסק לאחסון מתמיד ב-Compute Engine שהוצפן באמצעות מפתח K1 משוחזר לדיסק שהוצפן באמצעות K1.
    • אם למכונה וירטואלית יש כמה דיסקים, כל דיסק במכונה המשוחזרת יורש את ההצפנה של דיסק המקור התואם (דיסקים מוצפנים באמצעות CMEK נשארים מוצפנים באמצעות המפתחות המקוריים שלהם, ודיסקים מוצפנים בניהול Google נשארים בניהול Google).
  • אם במשאב המקור נעשה שימוש בהצפנה בניהול Google: כברירת מחדל, המשאב המשוחזר ישתמש בהצפנה בניהול Google.

אפשר לשנות את התנהגות ברירת המחדל הזו כשמשחזרים דיסקים קשיחים קבועים או מכונות של Compute Engine באמצעות ה-API או ה-CLI של gcloud. לדוגמה, אתם יכולים לשחזר גיבוי של משאב שמוגן באמצעות CMEK למשאב חדש שמוגן באמצעות הצפנה בניהול Google, או למשאב חדש שמוגן באמצעות מפתח CMEK אחר. כדי לשחזר למשאב שמוגן על ידי מפתח CMEK חדש, צריך לוודא שלסוכן השירות הרלוונטי (לדוגמה, סוכן השירות של Compute Engine) בפרויקט היעד יש הרשאה roles/cloudkms.cryptoKeyEncrypterDecrypter במפתח היעד החדש.

ביצוע שחזור חוצה-אזורים באמצעות CMEK

מפתחות של Cloud Key Management Service הם אזוריים, ולכן כשמבצעים שחזור בין אזורים (לדוגמה, שחזור של מכונה מ-asia-south1 ל-asia-south2), פעולת השחזור נכשלת אם משתמשים בהתנהגות ברירת המחדל. אי אפשר להצפין את הדיסקים של המכונה הווירטואלית ששוחזרה באמצעות מפתח ה-KMS של אזור המקור.

זוהי הגבלה נוכחית במסוף Google Cloud . כדי לבצע שחזור של מכונה וירטואלית שמוגנת באמצעות CMEK באזור אחר, צריך להשתמש ב-gcloud CLI, ב-API או ב-Terraform כדי לשנות את הגדרות ההצפנה ולציין מפתח KMS חדש באזור היעד.

כדי לשחזר למשאב שמוגן באמצעות מפתח CMEK חדש, מבצעים את השלבים הבאים:

  1. מוודאים שיש לכם מפתח באזור היעד: מוודאים שיש לכם מפתח Cloud Key Management Service באזור שבו אתם משחזרים את מכונת ה-VM (בפרויקט היעד או בפרויקט KMS משותף), ואם אין לכם מפתח, יוצרים אחד.
  2. הענקת הרשאות KMS: מעניקים את התפקיד Cloud KMS CryptoKey Encrypter/Decrypter (roles/cloudkms.cryptoKeyEncrypterDecrypter) במפתח היעד לסוכן השירות של Compute Engine בפרויקט היעד שבו מתבצעת השחזור של המכונה הווירטואלית.

  3. ביצוע השחזור: מריצים את השחזור באחת מהשיטות הבאות, ומבטלים את מפתח ה-KMS לכל דיסק:

gcloud

  1. קבלת פרטי הגיבוי: כדי לאחזר את שם הגיבוי ואת שמות המכשירים של הדיסקים מהגיבוי, משתמשים בפקודה gcloud backup-dr backups list:

    gcloud backup-dr backups list \
      --project=PROJECT_ID \
      --location=SOURCE_REGION \
      --backup-vault=BACKUP_VAULT_NAME \
      --filter="computeInstanceBackupProperties.sourceInstance~SOURCE_INSTANCE_NAME"
    

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

    • PROJECT_ID: השם של הפרויקט שבו נמצאת כספת הגיבוי.
    • SOURCE_REGION: המיקום של כספת הגיבוי.
    • BACKUP_VAULT_NAME: השם של כספת הגיבוי שממנה רוצים לשחזר נתונים.
    • SOURCE_INSTANCE_NAME: השם של מכונת Compute Engine של המקור.
  2. מריצים את פקודת השחזור: מריצים את פקודת השחזור ומחליפים את מפתח ה-KMS לכל דיסק באמצעות הפרמטר --create-disk.

    1. שחזור מכונה וירטואלית עם דיסק אחד:

      gcloud backup-dr backups restore compute BACKUP_ID \
        --project=PROJECT_ID \
        --location=SOURCE_REGION \
        --backup-vault=BACKUP_VAULT_NAME \
        --data-source=DATA_SOURCE \
        --name=RESTORED_VM_NAME \
        --target-zone=TARGET_ZONE \
        --target-project=TARGET_PROJECT_ID \
        --create-disk=device-name=DEVICE_NAME,kms-key=projects/KMS_PROJECT_ID/locations/TARGET_REGION/keyRings/KEYRING/cryptoKeys/KEY_NAME
      

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

      • BACKUP_ID: המזהה של הגיבוי שרוצים לשחזר.
      • PROJECT_ID: השם של הפרויקט שבו נמצאת כספת הגיבוי.
      • SOURCE_REGION: המיקום של כספת הגיבוי.
      • BACKUP_VAULT_NAME: השם של כספת הגיבוי שממנה רוצים לשחזר נתונים.
      • DATA_SOURCE: המזהה של מקור הנתונים שממנו רוצים לשחזר נתונים.
      • RESTORED_VM_NAME: השם של המכונה הווירטואלית המשוחזרת.
      • TARGET_ZONE: האזור שבו המכונה הווירטואלית משוחזרת.
      • TARGET_PROJECT_ID: הפרויקט שבו המכונה הווירטואלית משוחזרת.
      • DEVICE_NAME: שם המכשיר של הדיסק.
      • KMS_PROJECT_ID: מזהה הפרויקט שבו נמצא המפתח של Cloud Key Management Service.
      • TARGET_REGION: האזור שבו נמצא המפתח של Cloud Key Management Service.
      • KEYRING: השם של אוסף המפתחות ב-Cloud Key Management Service.
      • KEY_NAME: השם של המפתח של Cloud Key Management Service לדיסק 1.
    2. שחזור מכונה וירטואלית עם כמה דיסקים: מציינים דגל --create-disk נפרד לכל דיסק:

      gcloud backup-dr backups restore compute BACKUP_ID \
        --project=PROJECT_ID \
        --location=SOURCE_REGION \
        --backup-vault=BACKUP_VAULT_NAME \
        --data-source=DATA_SOURCE \
        --name=RESTORED_VM_NAME \
        --target-zone=TARGET_ZONE \
        --target-project=TARGET_PROJECT_ID \
        --create-disk=device-name=DEVICE_NAME_1,kms-key=projects/KMS_PROJECT_ID/locations/TARGET_REGION/keyRings/KEYRING/cryptoKeys/KEY_NAME_1 \
        --create-disk=device-name=DEVICE_NAME_2,kms-key=projects/KMS_PROJECT_ID/locations/TARGET_REGION/keyRings/KEYRING/cryptoKeys/KEY_NAME_2
      

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

      • BACKUP_ID: המזהה של הגיבוי שרוצים לשחזר.
      • PROJECT_ID: השם של הפרויקט שבו נמצאת כספת הגיבוי.
      • SOURCE_REGION: המיקום של כספת הגיבוי.
      • BACKUP_VAULT_NAME: השם של כספת הגיבוי שממנה רוצים לשחזר נתונים.
      • DATA_SOURCE: המזהה של מקור הנתונים שממנו רוצים לשחזר נתונים.
      • RESTORED_VM_NAME: השם של המכונה הווירטואלית המשוחזרת.
      • TARGET_ZONE: האזור שבו המכונה הווירטואלית משוחזרת.
      • TARGET_PROJECT_ID: הפרויקט שבו המכונה הווירטואלית משוחזרת.
      • DEVICE_NAME_1: שם המכשיר של דיסק 1.
      • KMS_PROJECT_ID: מזהה הפרויקט שבו נמצא המפתח של Cloud Key Management Service.
      • TARGET_REGION: האזור שבו נמצא המפתח של Cloud Key Management Service.
      • KEYRING: השם של אוסף המפתחות ב-Cloud Key Management Service.
      • KEY_NAME_1: השם של המפתח של Cloud Key Management Service לדיסק 1.
      • DEVICE_NAME_2: שם המכשיר של דיסק 2.
      • KEY_NAME_2: השם של מפתח Cloud Key Management Service לדיסק 2.

API

  1. קבלת פרטי גיבוי: כדי לאחזר את שם הגיבוי ואת שמות המכשירים של הדיסקים, שולחים בקשת GET לרישום הגיבויים:

    GET https://backupdr.googleapis.com/v1/projects/PROJECT_ID/locations/SOURCE_REGION/backupVaults/BACKUP_VAULT_NAME/dataSources/DATA_SOURCE/backups
    
  2. מריצים את ה-API לשחזור: שולחים בקשת POST אל מזהה ה-URI של הגיבוי restore.

    1. שחזור מכונה וירטואלית עם דיסק אחד:

      POST https://backupdr.googleapis.com/v1/projects/PROJECT_ID/locations/SOURCE_REGION/backupVaults/BACKUP_VAULT_NAME/dataSources/DATA_SOURCE/backups/BACKUP_ID:restore
      

      מטען ייעודי (payload):

      {
        "computeInstanceTargetEnvironment": {
          "project": "TARGET_PROJECT_ID",
          "zone": "TARGET_ZONE"
        },
        "computeInstanceRestoreProperties": {
          "name": "RESTORED_VM_NAME",
          "machineType": "projects/TARGET_PROJECT_ID/zones/TARGET_ZONE/machineTypes/e2-medium",
          "disks": [
            {
              "deviceName": "DEVICE_NAME",
              "diskEncryptionKey": {
              "kmsKeyName": "projects/KMS_PROJECT_ID/locations/TARGET_REGION/keyRings/KEYRING/cryptoKeys/KEY_NAME"
              }
            }
          ]
        }
      }
      
    2. שחזור מכונה וירטואלית עם כמה דיסקים:

      POST https://backupdr.googleapis.com/v1/projects/PROJECT_ID/locations/SOURCE_REGION/backupVaults/BACKUP_VAULT_NAME/dataSources/DATA_SOURCE/backups/BACKUP_ID:restore
      

      מטען ייעודי (payload):

      {
        "computeInstanceTargetEnvironment": {
          "project": "TARGET_PROJECT_ID",
          "zone": "TARGET_ZONE"
        },
        "computeInstanceRestoreProperties": {
          "name": "RESTORED_VM_NAME",
          "machineType": "projects/TARGET_PROJECT_ID/zones/TARGET_ZONE/machineTypes/e2-medium",
          "disks": [
            {
              "deviceName": "DEVICE_NAME_1",
              "diskEncryptionKey": {
                "kmsKeyName": "projects/KMS_PROJECT_ID/locations/TARGET_REGION/keyRings/KEYRING/cryptoKeys/KEY_NAME_1"
              }
            },
            {
              "deviceName": "DEVICE_NAME_2",
              "diskEncryptionKey": {
                "kmsKeyName": "projects/KMS_PROJECT_ID/locations/TARGET_REGION/keyRings/KEYRING/cryptoKeys/KEY_NAME_2"
              }
            }
          ]
        }
      }
      

Terraform

שימוש במשאב google_backup_dr_restore_workload

  1. שחזור מכונה וירטואלית עם דיסק אחד:

    resource "google_backup_dr_restore_workload" "restore_single" {
      location         = "SOURCE_REGION"
      backup_vault_id  = "BACKUP_VAULT_NAME"
      data_source_id   = "DATA_SOURCE"
      backup_id        = "BACKUP_ID"
    
      compute_instance_target_environment {
        project = "TARGET_PROJECT_ID"
        zone = "TARGET_ZONE"
      }
    
      compute_instance_restore_properties {
        name = "RESTORED_VM_NAME"
        machine_type = "zones/TARGET_ZONE/machineTypes/e2-medium"
        disks {
          device_name = "DEVICE_NAME"
          disk_encryption_key {
            kms_key_name = "projects/KMS_PROJECT_ID/locations/TARGET_REGION/keyRings/KEYRING/cryptoKeys/KEY_NAME"
          }
        }
      }
    }
    
  2. שחזור מכונה וירטואלית עם כמה דיסקים:

    resource "google_backup_dr_restore_workload" "restore_multi" {
      location         = "SOURCE_REGION"
      backup_vault_id  = "BACKUP_VAULT_NAME"
      data_source_id   = "DATA_SOURCE"
      backup_id        = "BACKUP_ID"
    
      compute_instance_target_environment {
        project = "TARGET_PROJECT_ID"
        zone = "TARGET_ZONE"
      }
    
      compute_instance_restore_properties {
        name = "RESTORED_VM_NAME"
        machine_type = "zones/TARGET_ZONE/machineTypes/TARGET_MACHINETYPE"
        disks {
          device_name = "DEVICE_NAME_1"
          disk_encryption_key {
            kms_key_name = "projects/KMS_PROJECT_ID/locations/TARGET_REGION/keyRings/KEYRING/cryptoKeys/KEY_NAME_1"
          }
        }
    
        disks {
          device_name = "DEVICE_NAME_2"
          disk_encryption_key {
            kms_key_name = "projects/KMS_PROJECT_ID/locations/TARGET_REGION/keyRings/KEYRING/cryptoKeys/KEY_NAME_2"
          }
        }
      }
    }
    

אם מפתח Cloud Key Management Service שמגן על עומס העבודה של המקור לא זמין במהלך פעולת שחזור, השחזור ייכשל כברירת מחדל. במקרה כזה, צריך להשתמש ב-API או ב-ה-CLI של gcloud כדי לבטל את הגדרת ההצפנה על ידי ציון מפתח CMEK חדש או על ידי שינוי סוג ההצפנה להצפנה בניהול Google עבור המשאב המשוחזר.

אם גרסת המפתח של Cloud Key Management Service ששימשה להצפנת הנתונים במאגר הגיבוי מושבתת או מושמדת, לא תוכלו לשחזר מהגיבוי הזה.

המדריך בנושא Backup and DR Compute Engine

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