Crear copias de seguridad y restaurar datos mediante una captura

En esta página se describe cómo usar una instantánea para crear una copia de seguridad y restaurar los datos de tu instancia de Vertex AI Workbench.

Crear una copia de seguridad de los datos

Para crear una copia de seguridad de los datos de una instancia de Vertex AI Workbench, puedes hacer una instantánea del disco de datos de la máquina virtual (VM) de Compute Engine subyacente.

Puedes crear una instantánea del disco de datos de tu instancia mediante la Google Cloud consola, la CLI de Google Cloud o la API REST:

Consola

  1. En la consola, ve a la página Instancias. Google Cloud

    Ir a Instancias

  2. Haz clic en el nombre de la instancia.

  3. En la página Detalles de la instancia, haz clic en Ver en Compute Engine para abrir los detalles de la VM.

  4. En la sección Discos adicionales, haz clic en el nombre del disco de datos. El nombre del disco de datos tiene este formato: INSTANCE_NAME-data-workspace.

  5. Haz clic en Crear copia.

  6. En el cuadro de diálogo Crear una captura, haz clic en Crear.

Compute Engine crea una captura del disco de datos.

gcloud

Para crear una instantánea del disco de datos de tu instancia, usa el comando gcloud compute snapshots create.

Antes de usar los datos de los comandos que se indican a continuación, haz los siguientes cambios:

  • SNAPSHOT_NAME: un nombre para tu captura
  • SOURCE_ZONE: la zona en la que se encuentra tu instancia
  • INSTANCE_NAME: el nombre de tu instancia
  • STORAGE_LOCATION: la multirregión de Cloud Storage o la región de Cloud Storage en la que quieras almacenar tu instantánea. Solo puedes especificar una ubicación de almacenamiento.

Ejecuta el siguiente 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

Para crear una captura del disco de datos de tu instancia, haz una solicitud POST al método snapshots.insert de Compute Engine.

Antes de usar los datos de la solicitud, haz las siguientes sustituciones:

  • DESTINATION_PROJECT_ID: el ID del proyecto en el que quieres crear la captura
  • SNAPSHOT_NAME: un nombre para tu captura
  • SOURCE_PROJECT_ID: el ID del proyecto en el que se encuentra tu instancia
  • SOURCE_ZONE: la zona en la que se encuentra tu instancia
  • INSTANCE_NAME: el nombre de tu instancia
  • STORAGE_LOCATION: la multirregión de Cloud Storage o la región de Cloud Storage en la que quieras almacenar tu instantánea. Solo puedes especificar una ubicación de almacenamiento.

Método HTTP y URL:

POST https://compute.googleapis.com/compute/v1/projects/DESTINATION_PROJECT_ID/global/snapshots

Cuerpo JSON de la solicitud:

{
  "name": "SNAPSHOT_NAME",
  "sourceDisk": "projects/SOURCE_PROJECT_ID/zones/SOURCE_ZONE/disks/INSTANCE_NAME-data-workspace",
  "storageLocations": [
      "STORAGE_LOCATION"
  ],
}

Para enviar tu solicitud, elige una de estas opciones:

curl

Guarda el cuerpo de la solicitud en un archivo llamado request.json y ejecuta el siguiente comando:

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

Guarda el cuerpo de la solicitud en un archivo llamado request.json y ejecuta el siguiente comando:

$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

Restaurar datos a partir de una captura

Puedes restaurar los datos de una instancia mediante una captura. Cuando restauras datos en una instancia, Vertex AI Workbench elimina el disco de datos que está conectado a la instancia, crea un nuevo disco de datos basado en la instantánea y conecta el nuevo disco de datos a la instancia.

Puedes restaurar los datos de una instancia mediante la CLI de gcloud o la API REST:

gcloud

Para restaurar datos en una instancia, usa el comando gcloud workbench instances restore.

Antes de usar los datos de los comandos que se indican a continuación, haz los siguientes cambios:

  • INSTANCE_NAME: el nombre de tu instancia
  • LOCATION: la zona en la que se encuentra tu instancia
  • SNAPSHOT_PROJECT_NAME: el nombre del proyecto en el que se encuentra tu copia de seguridad
  • SNAPSHOT_NAME: el nombre de la captura que se va a restaurar

Ejecuta el siguiente 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

Para restaurar datos en una instancia, haz una solicitud POST al método projects.locations.instances.restore.

Antes de usar los datos de la solicitud, haz las siguientes sustituciones:

  • PROJECT_ID: tu ID de proyecto
  • LOCATION: la zona en la que se encuentra tu instancia
  • INSTANCE_ID: el ID de tu instancia
  • SNAPSHOT_ID: el ID de la captura que se va a restaurar. Para obtener el ID de una captura, usa el método snapshots.get de Compute Engine.
  • SNAPSHOT_PROJECT_ID: el ID de proyecto de la captura

Método HTTP y URL:

POST https://notebooks.googleapis.com/v2/projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID:restore

Cuerpo JSON de la solicitud:

{
  "snapshot": {
    {
      "snapshotId": SNAPSHOT_ID,
      "projectId": SNAPSHOT_PROJECT_ID
    }
  }
}

Para enviar tu solicitud, elige una de estas opciones:

curl

Guarda el cuerpo de la solicitud en un archivo llamado request.json y ejecuta el siguiente comando:

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

Guarda el cuerpo de la solicitud en un archivo llamado request.json y ejecuta el siguiente comando:

$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

Siguientes pasos