Faça uma cópia de segurança e restaure dados através de um instantâneo

Esta página descreve como usar uma captura instantânea para fazer uma cópia de segurança e restaurar os dados na sua instância do Vertex AI Workbench.

Faça uma cópia de segurança dos dados

Para fazer uma cópia de segurança dos dados numa instância do Vertex AI Workbench, pode tirar uma captura de ecrã do disco de dados da máquina virtual (VM) do Compute Engine subjacente.

Pode criar uma captura instantânea do disco de dados da sua instância através da Google Cloud consola, da CLI Google Cloud ou da API REST:

Consola

  1. Na Google Cloud consola, aceda à página Instâncias.

    Aceda a Instâncias

  2. Clique no nome da instância.

  3. Na página Detalhes da instância, clique em Ver no Compute Engine para abrir os Detalhes da VM.

  4. Na secção Discos adicionais, clique no nome do disco de dados. O nome do disco de dados está neste formato: INSTANCE_NAME-data-workspace.

  5. Clique em Criar instantâneo.

  6. Na caixa de diálogo Criar uma captura de ecrã, clique em Criar.

O Compute Engine cria um instantâneo do disco de dados.

gcloud

Para criar um instantâneo do disco de dados da sua instância, use o comando gcloud compute snapshots create.

Antes de usar qualquer um dos dados de comandos abaixo, faça as seguintes substituições:

Execute o seguinte comando:

Linux, macOS ou 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 criar uma captura instantânea do disco de dados da sua instância, faça um POST pedido ao método snapshots.insert do Compute Engine.

Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:

  • DESTINATION_PROJECT_ID: o ID do projeto onde quer criar a captura instantânea
  • SNAPSHOT_NAME: um nome para o seu resumo
  • SOURCE_PROJECT_ID: o ID do projeto onde a sua instância está localizada
  • SOURCE_ZONE: a zona onde a sua instância está localizada
  • INSTANCE_NAME: o nome da sua instância
  • STORAGE_LOCATION: a região múltipla do Cloud Storage ou a região do Cloud Storage onde quer armazenar a sua captura de ecrã. Só pode especificar uma localização de armazenamento.

Método HTTP e URL:

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

Corpo JSON do pedido:

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

Para enviar o seu pedido, escolha uma destas opções:

curl

Guarde o corpo do pedido num ficheiro com o nome request.json, e execute o seguinte 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

Guarde o corpo do pedido num ficheiro com o nome request.json, e execute o seguinte 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

Restaure dados a partir de uma captura instantânea

Pode restaurar dados numa instância através de uma captura de ecrã. Quando restaura dados numa instância, o Vertex AI Workbench elimina o disco de dados existente associado à instância, cria um novo disco de dados com base na captura de ecrã e associa o novo disco de dados à instância.

Pode restaurar dados numa instância através da CLI gcloud ou da API REST:

gcloud

Para restaurar dados numa instância, use o comando gcloud workbench instances restore.

Antes de usar qualquer um dos dados de comandos abaixo, faça as seguintes substituições:

  • INSTANCE_NAME: o nome da sua instância
  • LOCATION: a zona onde a sua instância está localizada
  • SNAPSHOT_PROJECT_NAME: o nome do projeto onde se encontra o seu resumo
  • SNAPSHOT_NAME: o nome do instantâneo a restaurar

Execute o seguinte comando:

Linux, macOS ou 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 dados numa instância, faça um pedido POST ao método projects.locations.instances.restore.

Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:

  • PROJECT_ID: o ID do seu projeto
  • LOCATION: a zona onde a sua instância está localizada
  • INSTANCE_ID: o ID da sua instância
  • SNAPSHOT_ID: o ID do instantâneo a restaurar; para obter o ID de um instantâneo, use o método snapshots.get do Compute Engine
  • SNAPSHOT_PROJECT_ID: o ID do projeto do resumo

Método HTTP e URL:

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

Corpo JSON do pedido:

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

Para enviar o seu pedido, escolha uma destas opções:

curl

Guarde o corpo do pedido num ficheiro com o nome request.json, e execute o seguinte 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

Guarde o corpo do pedido num ficheiro com o nome request.json, e execute o seguinte 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

O que se segue?