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 Google Cloud CLI 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 captura de ecrã.

  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:

  • SNAPSHOT_NAME: um nome para o seu resumo
  • 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.

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

Agende uma cópia de segurança

Pode configurar uma programação de cópias de segurança para uma instância da bancada de trabalho anexando uma política de recursos para o disco de dados.

Pode criar uma instância com um agendamento de instantâneos anexado através da CLI Google Cloud ou da API REST:

gcloud

Para criar uma instância com um horário de instantâneos, use o comando gcloud workbench instances create e especifique as suas políticas de recursos usando a flag --data-disk-resource-policies.

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

  • INSTANCE_NAME: o nome da sua instância do Vertex AI Workbench; tem de começar por uma letra seguida de até 62 letras minúsculas, números ou hífenes (-) e não pode terminar com um hífen
  • PROJECT_ID: o ID do seu projeto
  • LOCATION: a zona onde quer que a sua instância esteja localizada
  • MACHINE_TYPE: o tipo de máquina da VM da sua instância, por exemplo: n2d-standard-2
  • REGION: a região onde a política de recursos está localizada
  • RESOURCE_POLICY: a política de recursos a aplicar ao disco de dados.

Execute o seguinte comando:

Linux, macOS ou 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 criar uma instância com um horário de instantâneos, use o método projects.locations.instances.create e defina o resourcePolicies no seu DataDisk.

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 quer que a sua instância esteja localizada
  • MACHINE_TYPE: o tipo de máquina da VM da sua instância, por exemplo: n2d-standard-2
  • REGION: a região onde a política de recursos está localizada
  • RESOURCE_POLICY: a política de recursos a aplicar ao disco de dados.

Método HTTP e URL:

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

Corpo JSON do pedido:

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

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"

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

Limitações do agendador de cópias de segurança

Considere as seguintes limitações das cópias de segurança agendadas quando planear o seu projeto:

  • Tem de adicionar o agendamento de cópias de segurança quando cria a instância. Se a sua instância tiver sido criada sem um agendamento de cópias de segurança, faça uma cópia de segurança da instância existente, crie uma nova instância com um agendamento de cópias de segurança e restaure a instância através da cópia de segurança.

  • Não é possível modificar a programação de cópias de segurança numa instância. Isto inclui adicionar, atualizar e remover a programação de cópias de segurança.

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 cópia instantânea 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 a sua imagem instantânea
  • 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?