Esegui il backup e il ripristino dei dati utilizzando uno snapshot
Questa pagina descrive come utilizzare uno snapshot per eseguire il backup e il ripristino dei dati sull'istanza Vertex AI Workbench.
Eseguire il backup dei dati
Per eseguire il backup dei dati su un'istanza di Vertex AI Workbench, puoi creare uno snapshot del disco di dati della macchina virtuale (VM) Compute Engine sottostante.
Puoi creare uno snapshot del disco di dati dell'istanza utilizzando la console Google Cloud , Google Cloud CLI o l'API REST:
Console
Nella console Google Cloud , vai alla pagina Istanze.
Fai clic sul nome dell'istanza.
Nella pagina Dettagli istanza, fai clic su Visualizza in Compute Engine per aprire i dettagli della VM.
Nella sezione Dischi aggiuntivi, fai clic sul nome del disco dati. Il nome del disco dati ha questo formato:
INSTANCE_NAME-data-workspace.Fai clic su Crea snapshot.
Nella finestra di dialogo Crea uno snapshot, fai clic su Crea.
Compute Engine crea uno snapshot del disco di dati.
gcloud
Per creare uno snapshot del disco di dati della tua istanza, utilizza il
comando
gcloud compute snapshots create.
Prima di utilizzare i dati dei comandi riportati di seguito, effettua le seguenti sostituzioni:
SNAPSHOT_NAME: un nome per lo snapshotSOURCE_ZONE: la zona in cui si trova l'istanzaINSTANCE_NAME: il nome dell'istanza-
STORAGE_LOCATION: la multi-regione Cloud Storage o la regione Cloud Storage in cui vuoi archiviare lo snapshot. Puoi specificare una sola località di archiviazione.
Esegui questo comando:
Linux, macOS o 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
Per creare uno snapshot del disco di dati dell'istanza, invia una richiesta POST
al metodo
snapshots.insert
di Compute Engine.
Prima di utilizzare i dati della richiesta, apporta le sostituzioni seguenti:
-
DESTINATION_PROJECT_ID: l'ID del progetto in cui vuoi creare lo snapshot SNAPSHOT_NAME: un nome per lo snapshot-
SOURCE_PROJECT_ID: l'ID del progetto in cui si trova l'istanza SOURCE_ZONE: la zona in cui si trova l'istanzaINSTANCE_NAME: il nome dell'istanza-
STORAGE_LOCATION: la multi-regione Cloud Storage o la regione Cloud Storage in cui vuoi archiviare lo snapshot. Puoi specificare una sola località di archiviazione.
Metodo HTTP e URL:
POST https://compute.googleapis.com/compute/v1/projects/DESTINATION_PROJECT_ID/global/snapshots
Corpo JSON della richiesta:
{
"name": "SNAPSHOT_NAME",
"sourceDisk": "projects/SOURCE_PROJECT_ID/zones/SOURCE_ZONE/disks/INSTANCE_NAME-data-workspace",
"storageLocations": [
"STORAGE_LOCATION"
],
}
Per inviare la richiesta, scegli una di queste opzioni:
curl
Salva il corpo della richiesta in un file denominato request.json,
quindi esegui il comando seguente:
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
Salva il corpo della richiesta in un file denominato request.json,
quindi esegui il comando seguente:
$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
Pianifica backup
È possibile configurare una pianificazione dei backup per un'istanza del workbench collegando una policy delle risorse per il disco di dati.
Puoi creare un'istanza con una pianificazione di snapshot collegata utilizzando Google Cloud CLI o l'API REST:
gcloud
Per creare un'istanza con una pianificazione di snapshot, utilizza il comando gcloud workbench
instances create e specifica le policy delle risorse utilizzando il flag --data-disk-resource-policies.
Prima di utilizzare i dati dei comandi riportati di seguito, effettua le seguenti sostituzioni:
-
INSTANCE_NAME: il nome dell'istanza Vertex AI Workbench; deve iniziare con una lettera seguita da un massimo di 62 lettere minuscole, numeri o trattini (-) e non può terminare con un trattino PROJECT_ID: il tuo ID progettoLOCATION: la zona in cui vuoi che si trovi l'istanza-
MACHINE_TYPE: il tipo di macchina della VM dell'istanza, ad esempio:n2d-standard-2 REGION: la regione in cui si trova la policy delle risorse-
RESOURCE_POLICY: la policy risorse da applicare al disco dati.
Esegui questo comando:
Linux, macOS o 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
Per creare un'istanza con una pianificazione di snapshot, utilizza il
metodo projects.locations.instances.create e imposta resourcePolicies in
DataDisk.
Prima di utilizzare i dati della richiesta, apporta le sostituzioni seguenti:
PROJECT_ID: il tuo ID progettoLOCATION: la zona in cui vuoi che si trovi l'istanza-
MACHINE_TYPE: il tipo di macchina della VM dell'istanza, ad esempio:n2d-standard-2 REGION: la regione in cui si trova la policy delle risorse-
RESOURCE_POLICY: la policy risorse da applicare al disco dati.
Metodo HTTP e URL:
POST https://notebooks.googleapis.com/v2/projects/PROJECT_ID/locations/LOCATION/instances
Corpo JSON della richiesta:
{
"gce_setup": {
"machine_type": "MACHINE_TYPE",
"data_disks": [
{
"resource_policies": [
"projects/PROJECT_ID/regions/REGION/resourcePolicies/RESOURCE_POLICY"
]
}
]
}
}
Per inviare la richiesta, scegli una di queste opzioni:
curl
Salva il corpo della richiesta in un file denominato request.json,
quindi esegui il comando seguente:
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
Salva il corpo della richiesta in un file denominato request.json,
quindi esegui il comando seguente:
$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
Limitazioni dello strumento di pianificazione dei backup
Quando pianifichi il tuo progetto, tieni presenti le seguenti limitazioni dei backup pianificati:
Devi aggiungere la pianificazione dei backup quando crei l'istanza. Se la tua istanza è stata creata senza una pianificazione del backup, esegui il backup dell'istanza esistente, crea una nuova istanza con una pianificazione del backup e ripristina l'istanza utilizzando il backup.
La pianificazione dei backup di un'istanza non può essere modificata. Ciò include l'aggiunta, l'aggiornamento e la rimozione della pianificazione del backup.
Ripristinare i dati da uno snapshot
Puoi ripristinare i dati su un'istanza utilizzando uno snapshot. Quando ripristini i dati su un'istanza, Vertex AI Workbench elimina il disco di dati esistente collegato all'istanza, crea un nuovo disco di dati basato sullo snapshot e lo collega all'istanza.
Puoi ripristinare i dati su un'istanza utilizzando gcloud CLI o l'API REST:
gcloud
Per ripristinare i dati su un'istanza, utilizza il
comando gcloud workbench instances restore.
Prima di utilizzare i dati dei comandi riportati di seguito, effettua le seguenti sostituzioni:
INSTANCE_NAME: il nome dell'istanzaLOCATION: la zona in cui si trova l'istanza-
SNAPSHOT_PROJECT_NAME: il nome del progetto in cui si trova lo snapshot SNAPSHOT_NAME: il nome dello snapshot da ripristinare
Esegui questo comando:
Linux, macOS o 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
Per ripristinare i dati su un'istanza, invia una richiesta POST al
metodo projects.locations.instances.restore.
Prima di utilizzare i dati della richiesta, apporta le sostituzioni seguenti:
PROJECT_ID: il tuo ID progettoLOCATION: la zona in cui si trova l'istanzaINSTANCE_ID: l'ID dell'istanza-
SNAPSHOT_ID: l'ID dello snapshot da ripristinare; per ottenere l'ID di uno snapshot, utilizza il metodo snapshots.get di Compute Engine. SNAPSHOT_PROJECT_ID: l'ID progetto dello snapshot
Metodo HTTP e URL:
POST https://notebooks.googleapis.com/v2/projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID:restore
Corpo JSON della richiesta:
{
"snapshot": {
{
"snapshotId": SNAPSHOT_ID,
"projectId": SNAPSHOT_PROJECT_ID
}
}
}
Per inviare la richiesta, scegli una di queste opzioni:
curl
Salva il corpo della richiesta in un file denominato request.json,
quindi esegui il comando seguente:
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
Salva il corpo della richiesta in un file denominato request.json,
quindi esegui il comando seguente:
$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