במאמר הזה נסביר איך להשתמש בתמונת מצב כדי לגבות ולשחזר את הנתונים במופע שלכם ב-Gemini Enterprise Agent Platform Workbench.
גיבוי הנתונים
כדי לגבות נתונים במופע של Agent Platform Workbench, אפשר לצלם תמונת מצב של דיסק הנתונים של המכונה הווירטואלית (VM) הבסיסית של Compute Engine.
אפשר ליצור תמונת מצב של דיסק הנתונים של המכונה באמצעות מסוף Cloud de Confiance , Google Cloud CLI או ה-API בארכיטקטורת REST:
המסוף
נכנסים לדף Instances במסוף Cloud de Confiance .
לוחצים על שם המכונה.
בדף Instance details (פרטי המכונה), לוחצים על View in Compute Engine (הצגה ב-Compute Engine) כדי לפתוח את VM details (פרטי המכונה הווירטואלית).
בקטע Additional disks (דיסקים נוספים), לוחצים על השם של דיסק הנתונים. השם של דיסק הנתונים הוא בפורמט הבא:
INSTANCE_NAME-data-workspace.לוחצים על יצירת תמונת מצב.
בתיבת הדו-שיח יצירת תמונת מצב, לוחצים על יצירה.
Compute Engine יוצר קובץ snapshot של דיסק הנתונים.
gcloud
כדי ליצור snapshot של דיסק הנתונים של המכונה, משתמשים בפקודה gcloud compute snapshots create.
לפני השימוש בנתוני הפקודה הבאים, צריך להחליף את הנתונים הבאים:
-
SNAPSHOT_NAME: שם לקובץ ה-snapshot -
SOURCE_ZONE: האזור שבו נמצאת המכונה -
INSTANCE_NAME: השם של המכונה -
STORAGE_LOCATION: האזור הרב-אזורי של Cloud Storage או האזור של Cloud Storage שבו רוצים לאחסן את התמונה. אפשר לציין רק מיקום אחסון אחד.
מריצים את הפקודה הבאה:
Linux, macOS או Cloud Shell
gcloud compute snapshots create SNAPSHOT_NAME \ --source-disk-zone=SOURCE_ZONE \ --source-disk=INSTANCE_NAME-data-workspace \ --storage-location=STORAGE_LOCATION
Windows (PowerShell)
gcloud compute snapshots create SNAPSHOT_NAME ` --source-disk-zone=SOURCE_ZONE ` --source-disk=INSTANCE_NAME-data-workspace ` --storage-location=STORAGE_LOCATION
Windows (cmd.exe)
gcloud compute snapshots create SNAPSHOT_NAME ^ --source-disk-zone=SOURCE_ZONE ^ --source-disk=INSTANCE_NAME-data-workspace ^ --storage-location=STORAGE_LOCATION
REST
כדי ליצור snapshot של דיסק הנתונים של המכונה, שולחים בקשה אל ה-method POST snapshots.insert של Compute Engine.
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
-
DESTINATION_PROJECT_ID: המזהה של הפרויקט שבו רוצים ליצור את התמונה -
SNAPSHOT_NAME: שם לקובץ ה-snapshot -
SOURCE_PROJECT_ID: מזהה הפרויקט שבו נמצאת המכונה -
SOURCE_ZONE: האזור שבו נמצאת המכונה -
INSTANCE_NAME: השם של המכונה -
STORAGE_LOCATION: האזור הרב-אזורי של Cloud Storage או האזור של Cloud Storage שבו רוצים לאחסן את התמונה. אפשר לציין רק מיקום אחסון אחד.
ה-method של ה-HTTP וכתובת ה-URL:
POST https://compute.googleapis.com/compute/v1/projects/DESTINATION_PROJECT_ID/global/snapshots
גוף בקשת JSON:
{
"name": "SNAPSHOT_NAME",
"sourceDisk": "projects/SOURCE_PROJECT_ID/zones/SOURCE_ZONE/disks/INSTANCE_NAME-data-workspace",
"storageLocations": [
"STORAGE_LOCATION"
],
}
כדי לשלוח את הבקשה עליכם לבחור אחת מהאפשרויות הבאות:
curl
שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://compute.googleapis.com/compute/v1/projects/DESTINATION_PROJECT_ID/global/snapshots"
PowerShell
שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://compute.googleapis.com/compute/v1/projects/DESTINATION_PROJECT_ID/global/snapshots" | Select-Object -Expand Content
קביעת מועד לגיבוי
אפשר להגדיר למופע של סביבת עבודה לניתוח נתונים לכל הפחות לוח זמנים אחד לגיבוי, על ידי צירוף מדיניות משאבים לדיסק הנתונים. אפשר לצרף כמה מדיניות משאבים כדי להפעיל כמה לוחות זמנים של גיבוי בו-זמנית.
אפשר ליצור מכונה עם תזמוני קובצי snapshot שמצורפים אליה באמצעות Google Cloud CLI או ה-API בארכיטקטורת REST:
gcloud
כדי ליצור מכונה עם תזמון ליצירת תמונת מצב, משתמשים בפקודה gcloud workbench
instances create ומציינים את מדיניות המשאבים באמצעות הדגל --data-disk-resource-policies.
לפני השימוש בנתוני הפקודה הבאים, צריך להחליף את הנתונים הבאים:
-
INSTANCE_NAME: השם של מופע Agent Platform Workbench. השם צריך להתחיל באות, ואחריה יכולים להיות עד 62 אותיות קטנות, מספרים או מקפים (-). השם לא יכול להסתיים במקף. -
PROJECT_ID: מזהה הפרויקט -
LOCATION: האזור שבו רוצים למקם את המכונה -
MACHINE_TYPE: סוג המכונה של מכונת ה-VM של המופע, לדוגמה:n2d-standard-2 -
REGION: האזור שבו נמצאת מדיניות המשאבים -
RESOURCE_POLICY: מדיניות המשאבים שרוצים להחיל על דיסק הנתונים.
מריצים את הפקודה הבאה:
Linux, macOS או Cloud Shell
gcloud workbench instances create INSTANCE_NAME \ --project=PROJECT_ID \ --location=LOCATION \ --machine-type=MACHINE_TYPE \ --data-disk-resource-policies=projects/PROJECT_ID/regions/REGION/resourcePolicies/RESOURCE_POLICY
Windows (PowerShell)
gcloud workbench instances create INSTANCE_NAME ` --project=PROJECT_ID ` --location=LOCATION ` --machine-type=MACHINE_TYPE ` --data-disk-resource-policies=projects/PROJECT_ID/regions/REGION/resourcePolicies/RESOURCE_POLICY
Windows (cmd.exe)
gcloud workbench instances create INSTANCE_NAME ^ --project=PROJECT_ID ^ --location=LOCATION ^ --machine-type=MACHINE_TYPE ^ --data-disk-resource-policies=projects/PROJECT_ID/regions/REGION/resourcePolicies/RESOURCE_POLICY
REST
כדי ליצור מכונה עם לוח זמנים ליצירת snapshot, משתמשים ב-method projects.locations.instances.create ומגדירים את resourcePolicies ב-DataDisk.
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
-
PROJECT_ID: מזהה הפרויקט -
LOCATION: האזור שבו רוצים למקם את המכונה -
MACHINE_TYPE: סוג המכונה של מכונת ה-VM של המופע, לדוגמה:n2d-standard-2 -
REGION: האזור שבו נמצאת מדיניות המשאבים -
RESOURCE_POLICY: מדיניות המשאבים שרוצים להחיל על דיסק הנתונים.
ה-method של ה-HTTP וכתובת ה-URL:
POST https://notebooks.googleapis.com/v2/projects/PROJECT_ID/locations/LOCATION/instances
גוף בקשת JSON:
{
"gce_setup": {
"machine_type": "MACHINE_TYPE",
"data_disks": [
{
"resource_policies": [
"projects/PROJECT_ID/regions/REGION/resourcePolicies/RESOURCE_POLICY"
]
}
]
}
}
כדי לשלוח את הבקשה עליכם לבחור אחת מהאפשרויות הבאות:
curl
שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://notebooks.googleapis.com/v2/projects/PROJECT_ID/locations/LOCATION/instances"
PowerShell
שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://notebooks.googleapis.com/v2/projects/PROJECT_ID/locations/LOCATION/instances" | Select-Object -Expand Content
עדכון לוחות הזמנים של הגיבוי
אפשר להוסיף, להחליף או לעדכן את לוחות הזמנים של הגיבויים במכונה קיימת באמצעות Google Cloud CLI או API בארכיטקטורת REST. כדי להגדיר כמה לוחות זמנים, צריך לכלול כמה כללי מדיניות של משאבים ברשימה resourcePolicies:
gcloud
כדי לעדכן את לוחות הזמנים של הגיבוי במכונה קיימת, משתמשים בפקודה gcloud workbench instances update ומציינים את מדיניות המשאבים באמצעות הדגל --data-disk-resource-policies. רשימת מדיניות המשאבים שצוינה מחליפה לחלוטין את הרשימה הקיימת.
לפני השימוש בנתוני הפקודה הבאים, צריך להחליף את הנתונים הבאים:
-
INSTANCE_NAME: השם של מופע Agent Platform Workbench -
PROJECT_ID: מזהה הפרויקט -
LOCATION: האזור שבו נמצאת המכונה -
INSTANCE_ID: המזהה של המכונה -
REGION: האזור שבו נמצאת מדיניות המשאבים -
RESOURCE_POLICY: מדיניות המשאבים שרוצים להחיל על דיסק הנתונים.
מריצים את הפקודה הבאה:
Linux, macOS או Cloud Shell
gcloud workbench instances update INSTANCE_NAME \ --project=PROJECT_ID \ --location=LOCATION \ --data-disk-resource-policies=projects/PROJECT_ID/regions/REGION/resourcePolicies/RESOURCE_POLICY
Windows (PowerShell)
gcloud workbench instances update INSTANCE_NAME ` --project=PROJECT_ID ` --location=LOCATION ` --data-disk-resource-policies=projects/PROJECT_ID/regions/REGION/resourcePolicies/RESOURCE_POLICY
Windows (cmd.exe)
gcloud workbench instances update INSTANCE_NAME ^ --project=PROJECT_ID ^ --location=LOCATION ^ --data-disk-resource-policies=projects/PROJECT_ID/regions/REGION/resourcePolicies/RESOURCE_POLICY
REST
כדי לעדכן את לוחות הזמנים של הגיבויים במכונה קיימת, שולחים בקשת PATCH אל ה-method projects.locations.instances.patch עם הערך gceSetup.dataDisks.resourcePolicies של הפרמטר updateMask. רשימת מדיניות המשאבים שצוינה מחליפה לחלוטין את הרשימה הקיימת.
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
-
PROJECT_ID: מזהה הפרויקט -
LOCATION: האזור שבו נמצאת המכונה -
INSTANCE_ID: המזהה של המכונה -
REGION: האזור שבו נמצאת מדיניות המשאבים -
RESOURCE_POLICY: מדיניות המשאבים שרוצים להחיל על דיסק הנתונים.
ה-method של ה-HTTP וכתובת ה-URL:
PATCH https://notebooks.googleapis.com/v2/projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID?updateMask=gceSetup.dataDisks.resourcePolicies
גוף בקשת JSON:
{
"gce_setup": {
"data_disks": [
{
"resource_policies": [
"projects/PROJECT_ID/regions/REGION/resourcePolicies/RESOURCE_POLICY"
]
}
]
}
}
כדי לשלוח את הבקשה עליכם לבחור אחת מהאפשרויות הבאות:
curl
שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:
curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://notebooks.googleapis.com/v2/projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID?updateMask=gceSetup.dataDisks.resourcePolicies"
PowerShell
שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method PATCH `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://notebooks.googleapis.com/v2/projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID?updateMask=gceSetup.dataDisks.resourcePolicies" | Select-Object -Expand Content
הסרת כל לוחות הזמנים של הגיבוי
אפשר להסיר את כל לוחות הזמנים של הגיבוי ממופע קיים על ידי הגדרת מדיניות המשאבים לרשימה ריקה באמצעות Google Cloud CLI או API בארכיטקטורת REST:
gcloud
כדי להסיר את כל תזמוני הגיבוי ממופע קיים, משתמשים בפקודה gcloud workbench instances update ומעבירים ערך ריק לדגל --data-disk-resource-policies. הפעולה הזו מסירה את כל התזמונים הפעילים מהמופע.
לפני השימוש בנתוני הפקודה הבאים, צריך להחליף את הנתונים הבאים:
-
INSTANCE_NAME: השם של מופע Agent Platform Workbench -
PROJECT_ID: מזהה הפרויקט -
LOCATION: האזור שבו נמצאת המכונה -
INSTANCE_ID: המזהה של המכונה
מריצים את הפקודה הבאה:
Linux, macOS או Cloud Shell
gcloud workbench instances update INSTANCE_NAME \ --project=PROJECT_ID \ --location=LOCATION \ --data-disk-resource-policies=
Windows (PowerShell)
gcloud workbench instances update INSTANCE_NAME ` --project=PROJECT_ID ` --location=LOCATION ` --data-disk-resource-policies=
Windows (cmd.exe)
gcloud workbench instances update INSTANCE_NAME ^ --project=PROJECT_ID ^ --location=LOCATION ^ --data-disk-resource-policies=
REST
כדי להסיר את כל לוחות הזמנים של הגיבויים ממכונה קיימת, שולחים בקשת PATCH אל ה-method projects.locations.instances.patch עם הערך gceSetup.dataDisks.resourcePolicies ברשימה resourcePolicies.updateMask כל התזמונים הפעילים יוסרו מהמופע.
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
-
PROJECT_ID: מזהה הפרויקט -
LOCATION: האזור שבו נמצאת המכונה -
INSTANCE_ID: המזהה של המכונה
ה-method של ה-HTTP וכתובת ה-URL:
PATCH https://notebooks.googleapis.com/v2/projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID?updateMask=gceSetup.dataDisks.resourcePolicies
גוף בקשת JSON:
{
"gce_setup": {
"data_disks": [
{
"resource_policies": []
}
]
}
}
כדי לשלוח את הבקשה עליכם לבחור אחת מהאפשרויות הבאות:
curl
שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:
curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://notebooks.googleapis.com/v2/projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID?updateMask=gceSetup.dataDisks.resourcePolicies"
PowerShell
שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method PATCH `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://notebooks.googleapis.com/v2/projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID?updateMask=gceSetup.dataDisks.resourcePolicies" | Select-Object -Expand Content
שחזור נתונים מתמונת מצב
אפשר לשחזר נתונים במופע באמצעות תמונת מצב. כשמשחזרים נתונים במכונה, Agent Platform Workbench מוחק את דיסק הנתונים הקיים שמצורף למכונה, יוצר דיסק נתונים חדש על סמך התמונה ומצרף את דיסק הנתונים החדש למכונה.
אפשר לשחזר נתונים במכונה באמצעות ה-CLI של gcloud או API בארכיטקטורת REST:
gcloud
כדי לשחזר נתונים במכונה, משתמשים בפקודה gcloud workbench instances restore.
לפני השימוש בנתוני הפקודה הבאים, צריך להחליף את הנתונים הבאים:
-
INSTANCE_NAME: השם של המכונה -
LOCATION: האזור שבו נמצאת המכונה -
SNAPSHOT_PROJECT_NAME: שם הפרויקט שבו נמצא קובץ ה-snapshot -
SNAPSHOT_NAME: השם של ה-snapshot לשחזור
מריצים את הפקודה הבאה:
Linux, macOS או Cloud Shell
gcloud workbench instances restore INSTANCE_NAME \ --location=LOCATION \ --snapshot-project=SNAPSHOT_PROJECT_NAME \ --snapshot=SNAPSHOT_NAME
Windows (PowerShell)
gcloud workbench instances restore INSTANCE_NAME ` --location=LOCATION ` --snapshot-project=SNAPSHOT_PROJECT_NAME ` --snapshot=SNAPSHOT_NAME
Windows (cmd.exe)
gcloud workbench instances restore INSTANCE_NAME ^ --location=LOCATION ^ --snapshot-project=SNAPSHOT_PROJECT_NAME ^ --snapshot=SNAPSHOT_NAME
REST
כדי לשחזר נתונים במכונה, שולחים בקשת POST אל ה-method projects.locations.instances.restore.
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
-
PROJECT_ID: מזהה הפרויקט -
LOCATION: האזור שבו נמצאת המכונה -
INSTANCE_ID: המזהה של המכונה -
SNAPSHOT_ID: מזהה ה-snapshot לשחזור. כדי לקבל את המזהה של קובץ snapshot, משתמשים בשיטה snapshots.get של Compute Engine. -
SNAPSHOT_PROJECT_ID: מזהה הפרויקט של התמונה
ה-method של ה-HTTP וכתובת ה-URL:
POST https://notebooks.googleapis.com/v2/projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID:restore
גוף בקשת JSON:
{
"snapshot": {
{
"snapshotId": SNAPSHOT_ID,
"projectId": SNAPSHOT_PROJECT_ID
}
}
}
כדי לשלוח את הבקשה עליכם לבחור אחת מהאפשרויות הבאות:
curl
שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://notebooks.googleapis.com/v2/projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID:restore"
PowerShell
שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://notebooks.googleapis.com/v2/projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID:restore" | Select-Object -Expand Content