Eseguire 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.

Esegui il backup dei dati

Per eseguire il backup dei dati su un'istanza di Vertex AI Workbench, puoi acquisire un'immagine istantanea del disco dati della macchina virtuale (VM) Compute Engine sottostante.

Puoi creare uno snapshot del disco dati dell'istanza utilizzando la Google Cloud console, Google Cloud CLI o l'API REST:

Console

  1. Nella Google Cloud console, vai alla pagina Istanze.

    Vai a Istanze

  2. Fai clic sul nome dell'istanza.

  3. Nella pagina Dettagli istanza, fai clic su Visualizza in Compute Engine per aprire Dettagli VM.

  4. Nella sezione Dischi aggiuntivi, fai clic sul nome del disco dati. Il nome del disco dati ha questo formato: INSTANCE_NAME-data-workspace.

  5. Fai clic su Crea snapshot.

  6. 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 dati dell'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 snapshot
  • SOURCE_ZONE: la zona in cui si trova l'istanza
  • INSTANCE_NAME: il nome dell'istanza
  • STORAGE_LOCATION: la regione multipla di Cloud Storage o la regione di Cloud Storage in cui vuoi archiviare lo snapshot. Puoi specificare una sola posizione di archiviazione.

Esegui il seguente 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 dati dell'istanza, invia una richiesta POST al metodo snapshots.insert di Compute Engine.

Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:

  • 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'istanza
  • INSTANCE_NAME: il nome dell'istanza
  • STORAGE_LOCATION: la regione multipla di Cloud Storage o la regione di Cloud Storage in cui vuoi archiviare lo snapshot. Puoi specificare una sola posizione 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 delle seguenti 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

Ripristinare i dati da uno snapshot

Puoi ripristinare i dati di un'istanza utilizzando uno snapshot. Quando ripristini i dati su un'istanza, Vertex AI Workbench elimina il disco dati esistente collegato all'istanza, crea un nuovo disco dati in base allo snapshot e lo collega all'istanza.

Puoi ripristinare i dati su un'istanza utilizzando l'interfaccia a riga di comando gcloud o l'API REST:

gcloud

Per ripristinare i dati in 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'istanza
  • LOCATION: 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 il seguente 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 in un'istanza, effettua una richiesta POST al metodo projects.locations.instances.restore.

Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:

  • PROJECT_ID: il tuo ID progetto
  • LOCATION: la zona in cui si trova l'istanza
  • INSTANCE_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 delle seguenti 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

Passaggi successivi