Os snapshots de disco padrão ajudam a fazer backup periódico dos dados do Persistent Disk e do Hyperdisk do Google Cloud.
É possível visualizar, listar e excluir snapshots de disco. Também é possível compartilhar snapshots entre projetos.
Antes de começar
-
Configure a autenticação, caso ainda não tenha feito isso.
A autenticação é
o processo de verificação da sua identidade para acesso a serviços e APIs do Google Cloud .
Para executar códigos ou amostras de um ambiente de desenvolvimento local, autentique-se no
Compute Engine selecionando uma das seguintes opções:
Select the tab for how you plan to use the samples on this page:
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
REST
Para usar as amostras da API REST nesta página em um ambiente de desenvolvimento local, use as credenciais fornecidas para gcloud CLI.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Para mais informações, consulte Autenticar para usar REST na documentação de autenticação do Google Cloud.
-
Papéis e permissões necessárias
Para receber as permissões necessárias para gerenciar snapshots padrão, peça ao administrador para conceder a você os seguintes papéis do IAM no projeto:
-
Administrador da instância da computação (v1) (
roles/compute.instanceAdmin.v1
) -
Para se conectar a uma VM que pode ser executada como uma conta de serviço:
Usuário da conta de serviço (v1) (
roles/iam.serviceAccountUser
)
Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.
Esses papéis predefinidos contêm as permissões necessárias para gerenciar snapshots padrão. Para conferir as permissões exatas necessárias, expanda a seção Permissões necessárias:
Permissões necessárias
As permissões a seguir são necessárias para gerenciar snapshots padrão:
-
Para listar snapshots:
compute.snapshots.list
no projeto -
Para ver informações sobre um snapshot:
compute.snapshots.get
nele -
Para excluir um snapshot:
compute.snapshots.delete
nele -
Para excluir snapshots com base em um filtro:
-
compute.snapshots.delete
no snapshot -
compute.snapshots.list
no projeto
-
-
Para compartilhar dados de snapshots entre projetos:
-
compute.storageAdmin
no projeto (para acessar todos os snapshots padrão) -
compute.disks.create
no projeto para compartilhar com -
compute.snapshots.create
no projeto de origem compute.disks.createSnapshot
no disco de origem
-
Também é possível conseguir essas permissões com papéis personalizados ou outros papéis predefinidos.
Ver os snapshots padrões em um projeto ou local
É possível visualizar ou listar os snapshots padrão em um projeto ou local usando a gcloud CLI, o console do Google Cloud ou a REST.
No console do Google Cloud, acesse a página Snapshots.
Na guia Snapshots, é possível ver os snapshots padrão do projeto atual.
Opcional. Restrinja os resultados com o campo Filtro filter_list. Insira o nome ou valor de uma propriedade no campo Filtro ou escolha uma das propriedades disponíveis.
Para conferir uma lista de snapshots disponíveis em um projeto específico, use o comando gcloud compute snapshots list
.
gcloud compute snapshots list --project=PROJECT_ID
Opcional. Substitua PROJECT_ID
pelo ID do projeto.
Se você omitir essa flag, o projeto atual será usado. É possível definir o
projeto padrão para sua sessão usando o comando gcloud config set project PROJECT_ID
da gcloud CLI.
Para conferir uma lista de snapshots disponíveis para você em um projeto específico, faça uma solicitação GET
para o método snapshots.list
:
GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID /global/snapshots
Substitua PROJECT_ID
pelo ID do projeto.
Ver snapshots padrão de um disco
É possível visualizar a lista de snapshots padrão de um disco usando o console do Google Cloud, a gcloud CLI ou o REST.
No console do Google Cloud, acesse a página Snapshots.
Na guia Snapshots, é exibida uma lista de todos os snapshots padrão do projeto.
Refine os resultados por disco de origem:
Digite
Source disk:
no campo Filtro filter_list ou clique no campo Filtro e escolha o valorSource disk
na lista Propriedades.Selecione o nome do disco na lista Valores que aparece ao lado de
Source disk:
no campo Filtro.Os snapshots exibidos no console agora mostram todos os snapshots padrão do disco especificado.
Se o nome de um disco não for exibido na lista Valores, em seguida, no campo Filtro ao lado de
Source disk:
, digite as primeiras letras do nome do disco de origem para alterar a lista de valores exibida.
Liste snapshots padrão de um disco com o comando gcloud compute snapshots list
e o argumento --filter
:
Liste snapshots padrão de um disco zonal.
gcloud compute snapshots list --filter="sourceDisk:projects/
PROJECT_ID /zones/SOURCE_ZONE /disks/DISK_NAME Liste snapshots padrão de um disco regional.
gcloud compute snapshots list --filter=sourceDisk:projects/
PROJECT_ID /regions/SOURCE_REGION /disks/DISK_NAME
Substitua:
PROJECT_ID
: o ID do projeto.SOURCE_ZONE
(somente discos zonais): o nome da zona do disco, por exemplo,us-west1-a
.SOURCE_REGION
: (apenas discos regionais) o nome da região do disco, por exemplo,us-west1
.DISK_NAME
: o nome do disco, por exemplo,disk-1
.
Liste os snapshots padrão de um disco zonal ou regional com uma solicitação GET
para o
método snapshots.list
.
Use o parâmetro de consulta filter=sourceDisk
para especificar o nome do disco.
Liste snapshots padrão de um disco zonal.
GET https://compute.googleapis.com/compute/v1/projects/
PROJECT_ID /global/snapshots?filter=sourceDisk:'https://www.googleapis.com/compute/v1/projects/PROJECT_ID /zones/SOURCE_ZONE /disks/DISK_NAME 'Liste snapshots padrão de um disco regional.
GET https://compute.googleapis.com/compute/v1/projects/
PROJECT_ID /global/snapshots?filter=sourceDisk:'https://www.googleapis.com/compute/v1/projects/PROJECT_ID /regions/SOURCE_REGION /disks/DISK_NAME '
Substitua:
PROJECT_ID
: o ID do projeto.SOURCE_ZONE
(somente discos zonais): o nome da zona do disco, por exemplo,us-west1-a
.SOURCE_REGION
: (apenas discos regionais) o nome da região do disco, por exemplo,us-west1
.DISK_NAME
: o nome do disco de origem, por exemplo,disk-1
.
Ver informações sobre um snapshot padrão
Recupere informações detalhadas sobre um snapshot padrão, como horário de criação, disco de origem e tamanho usando o console do Google Cloud, a CLI do Google Cloud ou o REST.
No console do Google Cloud, acesse a página Snapshots.
Na guia Snapshots, veja a lista de snapshots do projeto.
Na coluna Nome, clique no nome do snapshot padrão. A página de Detalhes do snapshot selecionado é exibida, mostrando as propriedades dele.
Para ver informações sobre um snapshot padrão, use o
comando gcloud compute snapshots describe
.
gcloud compute snapshots describeSNAPSHOT_NAME
Substitua SNAPSHOT_NAME
pelo nome do snapshot padrão.
Faça uma solicitação GET
ao
método snapshots.get
.
GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID /global/snapshots/SNAPSHOT_NAME
Substitua:
PROJECT_ID
: o nome do projeto que contém o snapshot padrão.SNAPSHOT_NAME
: o nome do snapshot padrão.
Excluir um snapshot
No Compute Engine, é usado cada instantâneo diferencial que contém somente dados alterados desde o instantâneo anterior. Como os snapshots subsequentes talvez precisem de informações armazenadas em um snapshot anterior, lembre-se de que excluir um snapshot não necessariamente exclui todos os dados dele.
Para saber mais sobre a exclusão de snapshots, consulte Exclusão de snapshot.
Acesse a página Snapshots no Console do Google Cloud.
Selecione um ou mais snapshots que você quer excluir.
Na parte superior da página Instantâneos, clique em Excluir.
Para excluir um snapshot, use o comando gcloud compute snapshots delete
:
gcloud compute snapshots delete SNAPSHOT_NAME
Substitua SNAPSHOT_NAME pelo nome do snapshot que você quer excluir.
Faça uma solicitação DELETE
ao método snapshots.delete
para excluir snapshots.
DELETE https://compute.googleapis.com/compute/v1/projects/PROJECT_ID /global/snapshots/SNAPSHOT_NAME
Substitua:
- PROJECT_ID: o nome do projeto.
- SNAPSHOT_NAME: o nome do snapshot a ser excluído.
Excluir vários snapshots com base em um filtro
No Compute Engine, é usado cada instantâneo diferencial que contém somente dados alterados desde o instantâneo anterior. Como os snapshots posteriores talvez exijam informações armazenadas em um snapshot anterior, a exclusão de um snapshot não necessariamente exclui todos os dados dele.
Para saber mais sobre a exclusão de snapshots, consulte Exclusão de snapshot.
É possível excluir vários snapshots com base em um determinado filtro. Para mais informações sobre como usar filtros com a gcloud CLI, consulte filtros de tópicos da gcloud CLI.
Para excluir os snapshots, use uma combinação do comando gcloud compute snapshots list
com um determinado filtro e do comando gcloud compute snapshots delete
com xargs
:
gcloud compute snapshots list --filter="EXPRESSION " --uri | xargs gcloud compute snapshots delete
Substitua EXPRESSION
por um filtro de tópicos da gcloud CLI.
Por exemplo, --filter="creationTimestamp<'2023-12-31'"
exclui todos os snapshots
criados antes de 31 de dezembro de 2023.
Compartilhar dados de snapshots entre projetos na mesma organização
Use este procedimento para mover dados de um disco em um projeto para um disco em um projeto diferente na mesma organização.
Crie um snapshot padrão no projeto de destino usando o comando
gcloud compute snapshots create
. Por exemplo, para criar um snapshot de um Persistent Disk ou Hyperdisk zonal, use o seguinte comando:gcloud compute snapshots create
SNAPSHOT_NAME \ --source-disk https://www.googleapis.com/compute/v1/projects/SOURCE_PROJECT_ID /zones/ZONE /disks/SOURCE_DISK_NAME \ --projectDESTINATION_PROJECT_ID Substitua:
- SNAPSHOT_NAME: um nome para o novo snapshot.
- SOURCE_PROJECT_ID: o ID do projeto para o disco de origem.
- ZONE: a zona do disco de origem.
- SOURCE_DISK_NAME: o nome do disco de origem.
- DESTINATION_PROJECT_ID: o ID do projeto de destino do novo snapshot.
No projeto de destino, crie um disco zonal ou regional com base no snapshot usando o comando
gcloud compute disks create
:gcloud compute disks create
DISK_NAME \ --source-snapshotSNAPSHOT_NAME \ --projectDESTINATION_PROJECT_ID Substitua:
- DISK_NAME: um nome para o novo disco.
- SNAPSHOT_NAME: o nome do snapshot.
- DESTINATION_PROJECT_ID: o ID do projeto de destino do novo disco.
Crie um snapshot padrão no projeto de destino chamando o método
snapshots.insert
. Por exemplo, para capturar um snapshot de um Persistent Disk ou Hyperdisk zonal, faça a seguinte solicitação:POST https://compute.googleapis.com/compute/v1/projects/
DESTINATION_PROJECT_ID /global/snapshots { "name":SNAPSHOT_NAME "sourceDisk": "projects/SOURCE_PROJECT_ID /zones/SOURCE_ZONE /disks/SOURCE_DISK_NAME }Substitua:
- DESTINATION_PROJECT_ID: o ID do projeto de destino do novo snapshot.
- SNAPSHOT_NAME: um nome para o snapshot.
- SOURCE_PROJECT_ID: o ID do projeto de disco de origem.
- SOURCE_ZONE: a zona do disco de origem.
- SOURCE_DISK_NAME: o nome do disco de origem.
No projeto de destino, crie um disco zonal ou regional com base no snapshot usando o método
disks.insert
zonal ou o regionalregionDisks.insert
.Por exemplo, para criar um disco zonal, faça a seguinte solicitação:
POST https://compute.googleapis.com/compute/v1/projects/
DESTINATION_PROJECT_ID /zones/DESTINATION_ZONE /disks { "name":DISK_NAME "sourceSnapshot":SNAPSHOT_NAME }Substitua:
- DESTINATION_PROJECT_ID: o ID do projeto de destino do novo disco.
- DESTINATION_ZONE: a zona no projeto de destino do novo disco.
- DISK_NAME: um nome para o novo disco.
- SNAPSHOT_NAME: o nome do snapshot.
Para ver uma lista de snapshots disponíveis, consulte Visualizar os snapshots padrão em um projeto ou local.
Compartilhar um snapshot entre projetos em diferentes organizações
Use este procedimento para compartilhar um snapshot padrão em um projeto em uma organização com um projeto diferente em outra organização.
No projeto de origem, crie um disco baseado no snapshot usando o comando
gcloud compute disks create
:gcloud compute disks create
DISK_NAME \ --source-snapshotSNAPSHOT_NAME \ --projectSOURCE_PROJECT_ID \ --zoneZONE Substitua:
- DISK_NAME: um nome para o novo disco.
- SNAPSHOT_NAME: o nome do snapshot.
- SOURCE_PROJECT_ID: o ID do projeto de origem.
- ZONE: a zona em que o novo disco será criado.
Esse disco é temporário e criado apenas para copiar o snapshot entre organizações.
No projeto de destino, crie um snapshot usando o comando
gcloud compute snapshots create
.Por exemplo, para criar um snapshot usando o disco zonal criado na primeira etapa, use o seguinte comando:
gcloud compute snapshots create
SNAPSHOT_NAME \ --source-disk https://www.googleapis.com/compute/v1/projects/SOURCE_PROJECT_ID /zones/ZONE /disks/DISK_NAME \ --projectDESTINATION_PROJECT_ID Substitua:
- SNAPSHOT_NAME: um nome para o snapshot.
- SOURCE_PROJECT_ID: o ID do projeto que contém o disco de origem.
- ZONE: a zona do disco de origem.
- DISK_NAME: o nome do disco criado na etapa 1.
- DESTINATION_PROJECT_ID: o ID do projeto de destino do novo snapshot.
Para ver uma lista de snapshots disponíveis, consulte Visualizar os snapshots padrão em um projeto ou local.
Exclua o disco temporário criado na primeira etapa usando o comando
gcloud compute disks delete
.gcloud compute disks delete
DISK_NAME \ --projectSOURCE_PROJECT_ID --zoneZONE Substitua:
- DISK_NAME: o nome do disco criado na etapa 1.
- SOURCE_PROJECT_ID: o ID do projeto que contém o disco de origem.
- ZONE: a zona do disco.
No projeto de origem, crie um disco zonal ou regional baseado no snapshot usando o método
disks.insert
zonal.Por exemplo, para criar um disco zonal, faça a seguinte solicitação:
POST https://compute.googleapis.com/compute/v1/projects/
SOURCE_PROJECT_ID /zones/SOURCE_ZONE /disks { "name":DISK_NAME "sourceSnapshot":SNAPSHOT_NAME }Substitua:
- SOURCE_PROJECT_ID: o ID do projeto de origem para o novo disco.
- SOURCE_ZONE: a zona do novo disco.
- DISK_NAME: um nome para o novo disco.
- SNAPSHOT_NAME: o nome do snapshot.
Esse disco é temporário e criado apenas para copiar o snapshot entre organizações.
Crie um snapshot no projeto de destino chamando o método
snapshots.insert
.Por exemplo, para criar um snapshot usando o disco zonal criado na primeira etapa, use o seguinte comando:
POST https://compute.googleapis.com/compute/v1/projects/
DESTINATION_PROJECT_ID /global/snapshots { "name":SNAPSHOT_NAME "sourceDisk": "projects/SOURCE_PROJECT_ID /zones/SOURCE_ZONE /disks/DISK_NAME }Substitua:
- DESTINATION_PROJECT_ID: o ID do projeto de destino do novo snapshot.
- SNAPSHOT_NAME: um nome para o snapshot.
- SOURCE_PROJECT_ID: o ID do projeto que contém o disco de origem.
- SOURCE_ZONE: a zona do disco de origem.
- DISK_NAME: o nome do disco de origem.
Exclua o disco temporário criado na primeira etapa usando o método
disks.delete
.DELETE https://compute.googleapis.com/compute/v1/projects/
SOURCE_PROJECT_ID /zones/SOURCE_ZONE /disks/DISK_NAME Substitua:
- SOURCE_PROJECT_ID: o ID do projeto que contém o disco temporário.
- SOURCE_ZONE: a zona do disco.
- DISK_NAME: o nome do disco temporário criado na etapa 1.
A seguir
- Saiba como criar snapshots programados para discos.
- Saiba como criar uma imagem de disco com base no snapshot.