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 nell'istanza di Gemini Enterprise Agent Platform Workbench.

Eseguire il backup dei dati

Per eseguire il backup dei dati su un'istanza di Agent Platform 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

  1. Nella console Google Cloud , 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 i dettagli della VM.

  4. Nella sezione Dischi aggiuntivi, fai clic sul nome del disco dati. Il nome del disco dati è nel 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 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 snapshot
  • SOURCE_ZONE: la zona in cui si trova l'istanza
  • INSTANCE_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'istanza
  • INSTANCE_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 o più pianificazioni di backup per un'istanza del workbench collegando criteri delle risorse al disco di dati. Puoi collegare più policy delle risorse per avere attive contemporaneamente diverse pianificazioni di backup.

Puoi creare un'istanza con pianificazioni di snapshot allegate 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 della tua istanza di Agent Platform 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 progetto
  • LOCATION: 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 progetto
  • LOCATION: 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

Aggiornare le pianificazioni dei backup

Puoi aggiungere, sostituire o aggiornare le pianificazioni di backup su un'istanza esistente utilizzando Google Cloud CLI o l'API REST. Per impostare più pianificazioni, includi più policy delle risorse nell'elenco resourcePolicies:

gcloud

Per aggiornare le pianificazioni di backup su un'istanza esistente, utilizza il comando gcloud workbench instances update e specifica le policy delle risorse utilizzando il flag --data-disk-resource-policies. L'elenco fornito di policy per le risorse sostituisce interamente l'elenco esistente.

Prima di utilizzare i dati dei comandi riportati di seguito, effettua le seguenti sostituzioni:

  • INSTANCE_NAME: il nome dell'istanza Workbench di Agent Platform
  • PROJECT_ID: il tuo ID progetto
  • LOCATION: la zona in cui si trova l'istanza
  • INSTANCE_ID: l'ID dell'istanza
  • 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 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

Per aggiornare le pianificazioni dei backup su un'istanza esistente, invia una richiesta PATCH al metodo projects.locations.instances.patch con updateMask impostato su gceSetup.dataDisks.resourcePolicies. L'elenco fornito di policy per le risorse sostituisce interamente l'elenco esistente.

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

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

PATCH https://notebooks.googleapis.com/v2/projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID?updateMask=gceSetup.dataDisks.resourcePolicies

Corpo JSON della richiesta:

{
  "gce_setup": {
    "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 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

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

Rimuovi tutte le pianificazioni del backup

Puoi rimuovere tutte le pianificazioni del backup da un'istanza esistente impostando le policy delle risorse su un elenco vuoto utilizzando Google Cloud CLI o l'API REST:

gcloud

Per rimuovere tutte le pianificazioni di backup da un'istanza esistente, utilizza il comando gcloud workbench instances update e trasmetti un valore vuoto per il flag --data-disk-resource-policies. Vengono rimosse tutte le pianificazioni attive dall'istanza.

Prima di utilizzare i dati dei comandi riportati di seguito, effettua le seguenti sostituzioni:

  • INSTANCE_NAME: il nome dell'istanza Workbench di Agent Platform
  • PROJECT_ID: il tuo ID progetto
  • LOCATION: la zona in cui si trova l'istanza
  • INSTANCE_ID: l'ID dell'istanza

Esegui questo comando:

Linux, macOS o 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

Per rimuovere tutte le pianificazioni di backup da un'istanza esistente, invia una richiesta PATCH al metodo projects.locations.instances.patch con updateMask impostato su gceSetup.dataDisks.resourcePolicies e un elenco resourcePolicies vuoto. Questa operazione rimuove tutte le pianificazioni attive dall'istanza.

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

  • PROJECT_ID: il tuo ID progetto
  • LOCATION: la zona in cui si trova l'istanza
  • INSTANCE_ID: l'ID dell'istanza

Metodo HTTP e URL:

PATCH https://notebooks.googleapis.com/v2/projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID?updateMask=gceSetup.dataDisks.resourcePolicies

Corpo JSON della richiesta:

{
  "gce_setup": {
    "data_disks": [
      {
        "resource_policies": []
      }
    ]
  }
}

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

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

Ripristinare i dati da uno snapshot

Puoi ripristinare i dati su un'istanza utilizzando uno snapshot. Quando ripristini i dati su un'istanza, Agent Platform 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'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 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 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 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

Passaggi successivi