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
En la Google Cloud consola, ve a la página Instancias.
Haz clic en el nombre de la instancia.
En la página Detalles de la instancia, haz clic en Ver en Compute Engine para abrir Detalles de la VM.
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.Haz clic en Crear vista general.
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 capturaSOURCE_ZONE: la zona en la que se encuentra tu instanciaINSTANCE_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 instanciaINSTANCE_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 proyectoLOCATION: 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 proyectoLOCATION: 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 instanciaLOCATION: 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 proyectoLOCATION: la zona en la que se encuentra tu instanciaINSTANCE_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