Fazer backup e restaurar dados usando um snapshot
Nesta página, descrevemos como usar um snapshot para fazer backup e restaurar os dados na instância do Vertex AI Workbench.
Fazer backup dos dados
Para fazer backup de dados em uma instância do Vertex AI Workbench, crie um snapshot do disco de dados da máquina virtual (VM) do Compute Engine.
É possível criar um snapshot do disco de dados da sua instância usando o console do Google Cloud , a Google Cloud CLI ou a API REST:
Console
No console do Google Cloud , acesse a página Instâncias.
Clique no nome da instância.
Na página Detalhes da instância, clique em Ver no Compute Engine para abrir os detalhes da VM.
Na seção Discos extras, clique no nome do disco de dados. O nome do disco de dados está neste formato:
INSTANCE_NAME-data-workspace.Clique em Criar snapshot.
Na caixa de diálogo Criar um snapshot, clique em Criar.
O Compute Engine cria um snapshot do disco de dados.
gcloud
Para criar um snapshot do disco de dados da instância, use o comando
gcloud compute snapshots create.
Antes de usar os dados do comando abaixo, faça estas substituições:
SNAPSHOT_NAME: um nome para o snapshotSOURCE_ZONE: a zona em que a instância está localizadaINSTANCE_NAME: o nome da instância-
STORAGE_LOCATION: a multirregião do Cloud Storage ou a região do Cloud Storage em que você quer armazenar o snapshot. É possível especificar apenas um local 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 um snapshot do disco de dados da instância, faça uma solicitação POST para o método snapshots.insert do Compute Engine.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
-
DESTINATION_PROJECT_ID: o ID do projeto em que você quer criar o snapshot SNAPSHOT_NAME: um nome para o snapshot-
SOURCE_PROJECT_ID: o ID do projeto em que a instância está localizada SOURCE_ZONE: a zona em que a instância está localizadaINSTANCE_NAME: o nome da instância-
STORAGE_LOCATION: a multirregião do Cloud Storage ou a região do Cloud Storage em que você quer armazenar o snapshot. É possível especificar apenas um local de armazenamento.
Método HTTP e URL:
POST https://compute.googleapis.com/compute/v1/projects/DESTINATION_PROJECT_ID/global/snapshots
Corpo JSON da solicitação:
{
"name": "SNAPSHOT_NAME",
"sourceDisk": "projects/SOURCE_PROJECT_ID/zones/SOURCE_ZONE/disks/INSTANCE_NAME-data-workspace",
"storageLocations": [
"STORAGE_LOCATION"
],
}
Para enviar a solicitação, escolha uma destas opções:
curl
Salve o corpo da solicitação em um arquivo com o nome request.json e execute o comando abaixo:
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
Salve o corpo da solicitação em um arquivo com o nome request.json e execute o comando abaixo:
$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 backup
É possível configurar uma programação de backup para uma instância do ambiente de trabalho anexando uma política de recursos ao disco de dados.
É possível criar uma instância com uma programação de snapshot anexada usando a Google Cloud CLI ou a API REST:
gcloud
Para criar uma instância com uma programação de snapshots, use o comando gcloud workbench
instances create
e especifique suas políticas de recursos usando
a flag --data-disk-resource-policies.
Antes de usar os dados do comando abaixo, faça estas substituições:
-
INSTANCE_NAME: o nome da sua instância do Vertex AI Workbench. Precisa começar com uma letra seguida por até 62 letras minúsculas, números ou hifens (-) e não pode terminar com um hífen. PROJECT_ID: ID do projeto;LOCATION: a zona em que você quer que a instância esteja localizada-
MACHINE_TYPE: o tipo de máquina da VM da instância, por exemplo:n2d-standard-2 REGION: a região em que a política de recursos está localizada-
RESOURCE_POLICY: a política de recursos a ser aplicada 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 uma programação de instantâneos, use o
método
projects.locations.instances.create
e defina o resourcePolicies no seu
DataDisk.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
PROJECT_ID: ID do projeto;LOCATION: a zona em que você quer que a instância esteja localizada-
MACHINE_TYPE: o tipo de máquina da VM da instância, por exemplo:n2d-standard-2 REGION: a região em que a política de recursos está localizada-
RESOURCE_POLICY: a política de recursos a ser aplicada ao disco de dados.
Método HTTP e URL:
POST https://notebooks.googleapis.com/v2/projects/PROJECT_ID/locations/LOCATION/instances
Corpo JSON da solicitação:
{
"gce_setup": {
"machine_type": "MACHINE_TYPE",
"data_disks": [
{
"resource_policies": [
"projects/PROJECT_ID/regions/REGION/resourcePolicies/RESOURCE_POLICY"
]
}
]
}
}
Para enviar a solicitação, escolha uma destas opções:
curl
Salve o corpo da solicitação em um arquivo com o nome request.json e execute o comando abaixo:
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
Salve o corpo da solicitação em um arquivo com o nome request.json e execute o comando abaixo:
$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 programador de backup
Considere as seguintes limitações dos backups programados ao planejar seu projeto:
É necessário adicionar a programação de backup ao criar a instância. Se a instância foi criada sem uma programação de backup, faça backup da instância atual, crie uma nova instância com uma programação de backup e restaure a instância usando o backup.
Não é possível modificar a programação de backup em uma instância. Isso inclui adicionar, atualizar e remover a programação de backup.
Restaurar dados de um snapshot
É possível restaurar dados em uma instância usando um snapshot. Ao restaurar dados em uma instância, o Vertex AI Workbench exclui o disco de dados existente que está anexado à instância, cria um novo disco de dados com base no snapshot e o anexa à instância.
É possível restaurar dados em uma instância usando a CLI gcloud ou a API REST:
gcloud
Para restaurar dados em uma instância, use o comando
gcloud workbench instances restore.
Antes de usar os dados do comando abaixo, faça estas substituições:
INSTANCE_NAME: o nome da instânciaLOCATION: a zona em que a instância está localizada-
SNAPSHOT_PROJECT_NAME: o nome do projeto em que o snapshot está localizado SNAPSHOT_NAME: o nome do snapshot a ser restaurado
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 em uma instância, faça uma solicitação POST ao método
projects.locations.instances.restore.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
PROJECT_ID: ID do projeto;LOCATION: a zona em que a instância está localizadaINSTANCE_ID: o ID da sua instância-
SNAPSHOT_ID: o ID do snapshot a ser restaurado. Para receber o ID de um snapshot, use o método snapshots.get do Compute Engine. SNAPSHOT_PROJECT_ID: o ID do projeto do snapshot
Método HTTP e URL:
POST https://notebooks.googleapis.com/v2/projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID:restore
Corpo JSON da solicitação:
{
"snapshot": {
{
"snapshotId": SNAPSHOT_ID,
"projectId": SNAPSHOT_PROJECT_ID
}
}
}
Para enviar a solicitação, escolha uma destas opções:
curl
Salve o corpo da solicitação em um arquivo com o nome request.json e execute o comando abaixo:
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
Salve o corpo da solicitação em um arquivo com o nome request.json e execute o comando a seguir:
$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