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 Google Cloud consola, ve a la página Instancias.

    Ve 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 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 vista general.

  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 cualquiera de los datos de los comandos que se indican a continuación, haz las siguientes sustituciones:

  • 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 snapshot. 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 snapshot. 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

Programar copia de seguridad

Para configurar una programación de copias de seguridad en una instancia de banco de trabajo, adjunta una política de recursos al disco de datos.

Puedes crear una instancia con una programación de instantáneas adjunta mediante la CLI de Google Cloud o la API REST:

gcloud

Para crear una instancia con una programación de capturas, usa el comando gcloud workbench instances create y especifica tus políticas de recursos con la marca --data-disk-resource-policies.

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

  • INSTANCE_NAME: el nombre de tu instancia de Vertex AI Workbench. Debe empezar por una letra seguida de un máximo de 62 letras minúsculas, números o guiones (-), y no puede acabar en guion.
  • PROJECT_ID: tu ID de proyecto
  • LOCATION: la zona en la que quieres que se encuentre tu instancia
  • MACHINE_TYPE: el tipo de máquina de la máquina virtual de tu instancia. Por ejemplo: n2d-standard-2
  • REGION: la región en la que se encuentra la política de recursos
  • RESOURCE_POLICY: la política de recursos que se aplicará al disco de datos.

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

Para crear una instancia con una programación de capturas, usa el método projects.locations.instances.create y define resourcePolicies en tu DataDisk.

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

  • PROJECT_ID: tu ID de proyecto
  • LOCATION: la zona en la que quieres que se encuentre tu instancia
  • MACHINE_TYPE: el tipo de máquina de la máquina virtual de tu instancia. Por ejemplo: n2d-standard-2
  • REGION: la región en la que se encuentra la política de recursos
  • RESOURCE_POLICY: la política de recursos que se aplicará al disco de datos.

Método HTTP y URL:

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

Cuerpo JSON de la solicitud:

{
  "gce_setup": {
    "machine_type": "MACHINE_TYPE",
    "data_disks": [
      {
        "resource_policies": [
          "projects/PROJECT_ID/regions/REGION/resourcePolicies/RESOURCE_POLICY"
        ]
      }
    ]
  }
}

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"

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" | Select-Object -Expand Content

Limitaciones del programador de copias de seguridad

Ten en cuenta las siguientes limitaciones de las copias de seguridad programadas al planificar tu proyecto:

  • Debes añadir la programación de la copia de seguridad al crear la instancia. Si tu instancia se creó sin una programación de copias de seguridad, crea una copia de seguridad de la instancia, crea una instancia con una programación de copias de seguridad y restaura la instancia con la copia de seguridad.

  • No se puede modificar la programación de copias de seguridad de una instancia. Esto incluye añadir, actualizar y eliminar la programación de copias de seguridad.

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á adjunto a la instancia, crea un nuevo disco de datos basado en la instantánea y adjunta 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 cualquiera de los datos de los comandos que se indican a continuación, haz las siguientes sustituciones:

  • 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