Nesta página, descrevemos como usar um snapshot para fazer backup e restaurar os dados na instância do Gemini Enterprise Agent Platform Workbench.
Fazer backup dos dados
Para fazer backup de dados em uma instância do Agent Platform 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 Cloud de Confiance , a Google Cloud CLI ou a API REST:
Console
No console do Cloud de Confiance , 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 ou mais programações de backup para uma instância do workbench anexando políticas de recursos ao disco de dados. Você pode anexar várias políticas de recursos para ter várias programações de backup ativas ao mesmo tempo.
É possível criar uma instância com programações de snapshots anexadas 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 Agent Platform 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
Atualizar programações de backup
É possível adicionar, substituir ou atualizar as programações de backup em uma instância atual usando a Google Cloud CLI ou a API REST. Para definir vários programações, inclua várias políticas de recursos na lista resourcePolicies:
gcloud
Para atualizar as programações de backup em uma instância atual, use o comando
gcloud workbench instances update
e especifique as políticas de recursos usando
a flag --data-disk-resource-policies. A lista fornecida de políticas de recursos substitui completamente a lista atual.
Antes de usar os dados do comando abaixo, faça estas substituições:
-
INSTANCE_NAME: o nome da sua instância do Agent Platform Workbench PROJECT_ID: ID do projeto;LOCATION: a zona em que a instância está localizadaINSTANCE_ID: o ID da sua instânciaREGION: 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 update INSTANCE_NAME \ --project=PROJECT_ID \ --location=LOCATION \ --data-disk-resource-policies=projects/PROJECT_ID/regions/REGION/resourcePolicies/RESOURCE_POLICY
Windows (PowerShell)
gcloud workbench instances update INSTANCE_NAME ` --project=PROJECT_ID ` --location=LOCATION ` --data-disk-resource-policies=projects/PROJECT_ID/regions/REGION/resourcePolicies/RESOURCE_POLICY
Windows (cmd.exe)
gcloud workbench instances update INSTANCE_NAME ^ --project=PROJECT_ID ^ --location=LOCATION ^ --data-disk-resource-policies=projects/PROJECT_ID/regions/REGION/resourcePolicies/RESOURCE_POLICY
REST
Para atualizar os programações de backup em uma instância, faça uma solicitação
PATCH para o método
projects.locations.instances.patch
com o updateMask definido como
gceSetup.dataDisks.resourcePolicies. A lista fornecida de
políticas de recursos substitui a lista atual por completo.
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ânciaREGION: 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:
PATCH https://notebooks.googleapis.com/v2/projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID?updateMask=gceSetup.dataDisks.resourcePolicies
Corpo JSON da solicitação:
{
"gce_setup": {
"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 PATCH \
-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?updateMask=gceSetup.dataDisks.resourcePolicies"
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 PATCH `
-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?updateMask=gceSetup.dataDisks.resourcePolicies" | Select-Object -Expand Content
Remover todas as programações de backup
É possível remover todos os programações de backup de uma instância atual definindo as políticas de recursos como uma lista vazia usando a Google Cloud CLI ou a API REST:
gcloud
Para remover todas as programações de backup de uma instância, use o comando gcloud workbench instances update e transmita um valor vazio para a flag --data-disk-resource-policies. Isso remove todas as programações ativas da instância.
Antes de usar os dados do comando abaixo, faça estas substituições:
-
INSTANCE_NAME: o nome da sua instância do Agent Platform Workbench PROJECT_ID: ID do projeto;LOCATION: a zona em que a instância está localizadaINSTANCE_ID: o ID da sua instância
Execute o seguinte comando:
Linux, macOS ou Cloud Shell
gcloud workbench instances update INSTANCE_NAME \ --project=PROJECT_ID \ --location=LOCATION \ --data-disk-resource-policies=
Windows (PowerShell)
gcloud workbench instances update INSTANCE_NAME ` --project=PROJECT_ID ` --location=LOCATION ` --data-disk-resource-policies=
Windows (cmd.exe)
gcloud workbench instances update INSTANCE_NAME ^ --project=PROJECT_ID ^ --location=LOCATION ^ --data-disk-resource-policies=
REST
Para remover todos os programações de backup de uma instância, faça uma solicitação PATCH para o método projects.locations.instances.patch com updateMask definido como gceSetup.dataDisks.resourcePolicies e uma lista resourcePolicies vazia. Isso remove todas as programações ativas da instância.
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
Método HTTP e URL:
PATCH https://notebooks.googleapis.com/v2/projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID?updateMask=gceSetup.dataDisks.resourcePolicies
Corpo JSON da solicitação:
{
"gce_setup": {
"data_disks": [
{
"resource_policies": []
}
]
}
}
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 PATCH \
-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?updateMask=gceSetup.dataDisks.resourcePolicies"
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 PATCH `
-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?updateMask=gceSetup.dataDisks.resourcePolicies" | Select-Object -Expand Content
Restaurar dados de um snapshot
É possível restaurar dados em uma instância usando um snapshot. Ao restaurar dados em uma instância, o Agent Platform 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