Crie snapshots para fazer backup periódico de dados dos discos permanentes zonais ou regionais.
É possível criar snapshots com base em discos, mesmo quando estão anexados a instâncias em execução. Os snapshots são recursos globais. Por isso, podem ser usados para restaurar dados em um novo disco ou instância no mesmo projeto. Também é possível compartilhar snapshots entre projetos.
Antes de começar
- Para usar os exemplos de linha de comando deste guia, faça o seguinte:
- Instale ou atualize para a versão mais recente da Google Cloud CLI.
- Defina uma região e uma zona padrão.
- Para usar os exemplos da API deste guia, configure o acesso a ela.
Preparar para a criação de snapshots
Para se preparar para a criação de snapshots de discos permanentes, faça o seguinte:
Consulte as Práticas recomendadas para snapshots de discos permanentes para preparar o disco para a criação do snapshot.
Leia Como criar uma programação de instantâneos de discos permanentes para aprender a criar uma programação de instantâneos e a anexá-la aos discos. Fazer backup dos discos regularmente com snapshots programados pode reduzir o risco de perda inesperada de dados.
Crie um instantâneo de um disco permanente zonal
Console
- Acesse a página Criar um snapshot no Console do Google Cloud.
Acessar a página "Criar um snapshot" - Digite um Nome de snapshot.
- Como opção, digite uma Descrição para o snapshot.
- Selecione o Disco de origem no menu suspenso.
Determine o local de armazenamento de snapshots. Use o local de armazenamento padrão ou um local de armazenamento personalizado.
- Em Local, selecione se quer armazenar seu instantâneo em um local Multirregional ou em um local Regional.
- Selecione qual região ou multirregião específica você quer usar. Para usar a região ou a multirregião mais próxima de seu disco de origem, selecione Com base no local do disco (padrão).
Clique em Criar para criar o snapshot.
gcloud
Crie o snapshot no local de armazenamento padrão ou selecionado. É necessário especificar um nome de snapshot. O nome precisa ter de 1 a 63 caracteres e estar de acordo com o RFC 1035.
Para criar um snapshot de um disco permanente zonal no local de armazenamento padrão, use o comando
gcloud compute snapshots create
:gcloud compute snapshots create SNAPSHOT_NAME \ --source-disk SOURCE_DISK \ --source-disk-zone SOURCE_DISK_ZONE
Substitua:
- SNAPSHOT_NAME: um nome para o snapshot.
- SOURCE_DISK: o nome do disco permanente do qual você quer criar um snapshot.
- SOURCE_DISK_ZONE: a zona do disco permanente da qual você quer criar um snapshot.
Se preferir, para criar um snapshot em um local de armazenamento personalizado, use a sinalização
--storage-location
para indicar o local a armazenar o snapshot:gcloud compute snapshots create SNAPSHOT_NAME \ --source-disk SOURCE_DISK \ --source-disk-zone SOURCE_DISK_ZONE \ --storage-location STORAGE_LOCATION
Substitua:
- SNAPSHOT_NAME: um nome para o snapshot.
- SOURCE_DISK: o nome do disco permanente do qual você quer criar um snapshot.
- SOURCE_DISK_ZONE: a zona do disco permanente da qual você quer criar um snapshot.
- 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.
O CLI gcloud aguarda até que um status READY
ou FAILED
seja retornado pela operação ou até o tempo limite ser atingido e os últimos detalhes conhecidos do instantâneo serem retornados.
API
Crie o snapshot no local de armazenamento padrão ou selecionado.
Para criar um snapshot no local de armazenamento padrão, crie uma solicitação
POST
para o métodosnapshots.insert
: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 em que você quer criar o 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 permanente do qual você quer criar um snapshot.
Se preferir, crie um snapshot em um local de armazenamento personalizado fazendo uma solicitação
POST
para o métodosnapshots.insert
e especifique o local de armazenamento: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 "storageLocations": STORAGE_LOCATION }
Substitua:
- 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 de disco de origem.
- SOURCE_ZONE: a zona do disco de origem.
- SOURCE_DISK_NAME: o nome do disco permanente do qual você quer criar um snapshot.
- 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.
Criar um instantâneo de um disco permanente regional
Depois de preparar o disco, você pode criar um instantâneo. Ao criar um instantâneo de um disco permanente regional, você precisa indicar a região onde o disco está localizado.
Console
- Acesse a página Criar um snapshot no Console do Google Cloud.
Acessar a página "Criar um snapshot" - Digite um Nome de snapshot.
- Como opção, digite uma Descrição para o snapshot.
- Em Disco de origem, selecione um disco atual a partir do qual você quer criar um snapshot.
Como opção, é possível especificar um local de armazenamento personalizado:
- Em Local, selecione se quer armazenar seu snapshot em um local Multirregional ou Regional.
- Selecione qual região ou multirregião específica você quer usar. Para usar a região ou a multirregião mais próxima de seu disco de origem, selecione Com base no local do disco.
Clique em Criar para criar o snapshot.
gcloud
Crie o snapshot no local de armazenamento padrão ou selecionado.
Para criar um snapshot de um disco permanente regional no local de armazenamento padrão, use o comando
gcloud compute snapshots create
:gcloud compute snapshots create SNAPSHOT_NAME \ --source-disk SOURCE_DISK \ --source-disk-region=SOURCE_DISK_REGION
Substitua:
- SNAPSHOT_NAME: um nome para o snapshot.
- SOURCE_DISK: o nome do disco permanente do qual você quer criar um snapshot.
- SOURCE_DISK_REGION: a região do disco permanente regional do qual você quer criar um snapshot
Como opção, é possível especificar um local de armazenamento personalizado:
gcloud compute snapshots create SNAPSHOT_NAME \ --source-disk SOURCE_DISK \ --source-disk-region=SOURCE_DISK_REGION --storage-location STORAGE_LOCATION
Substitua:
- SNAPSHOT_NAME: um nome para o snapshot.
- SOURCE_DISK: o nome do disco permanente do qual você quer criar um snapshot.
- SOURCE_DISK_REGION: o nome do disco permanente regional do qual você quer criar um snapshot
- 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.
A Google Cloud CLI aguarda até que a operação retorne um status
READY
,FAILED
ou atinja o tempo limite e retorne os últimos detalhes conhecidos do snapshot.
API
Para criar um snapshot no local de armazenamento padrão, crie uma solicitação
POST
para o métodosnapshots.insert
:POST https://compute.googleapis.com/compute/v1/projects/DESTINATION_PROJECT_ID/global/snapshots { "name": SNAPSHOT_NAME "sourceDisk": "projects/SOURCE_PROJECT_ID/regions/SOURCE_REGION/disks/SOURCE_DISK_NAME }
Substitua:
- 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 de disco de origem.
- SOURCE_REGION: a região do disco de origem.
- SOURCE_DISK_NAME: o nome do disco permanente do qual você quer criar um snapshot.
Se preferir, crie um snapshot em um local de armazenamento personalizado fazendo uma solicitação
POST
para o métodosnapshots.insert
e especifique o local de armazenamento:POST https://compute.googleapis.com/compute/v1/projects/DESTINATION_PROJECT_ID/global/snapshots { "name": SNAPSHOT_NAME "sourceDisk": "projects/SOURCE_PROJECT_ID/regions/SOURCE_REGION/disks/SOURCE_DISK_NAME "storageLocations": STORAGE_LOCATION }
Substitua:
- 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 de disco de origem.
- SOURCE_REGION: a região do disco de origem.
- SOURCE_DISK_NAME: o nome do disco permanente do qual você quer criar um snapshot.
- 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.
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.
Para excluir um snapshot:
Console
- 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.
gcloud
Para excluir um snapshot, use o comando gcloud compute snapshots delete
:
gcloud compute snapshots delete SNAPSHOT_NAME
em que SNAPSHOT_NAME é o nome do snapshot que está sendo excluído.
API
Faça uma solicitação DELETE
para o método compute.snapshots.delete
para excluir snapshots.
DELETE https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/snapshots/SNAPSHOT_NAME
onde:
- 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.
As seções a seguir descrevem como excluir vários snapshots com base em um determinado filtro. Para mais informações sobre filtros da CLI da gcloud, consulte Filtros de tópico da CLI da gcloud.
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ópico gcloud
.
Por exemplo, --filter="creationTimestamp>'2021-01-01'"
exclui todos os
snapshots criados depois de 01-01-2021.
Listar snapshots
gcloud
Para ver 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
em que PROJECT_ID é o ID do projeto.
API
Para ver 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
em que PROJECT_ID é o ID do projeto.
Ver informações sobre um snapshot
Para listar informações sobre um snapshot específico, como o horário de criação, o tamanho e o disco de origem, use o comando gcloud compute snapshots describe
:
gcloud compute snapshots describe SNAPSHOT_NAME
em que SNAPSHOT_NAME é o nome do snapshot.
Compartilhar dados de snapshots entre projetos
Para mover dados de um disco em um projeto para um disco em um projeto diferente, use o seguinte processo:
gcloud
Crie um snapshot do disco no projeto de destino usando o comando
gcloud compute snapshots create
. Por exemplo, para criar um snapshot de um disco permanente 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 \ --project DESTINATION_PROJECT_ID
Substitua:
- SNAPSHOT_NAME: um nome para o snapshot.
- SOURCE_PROJECT_ID: o ID do projeto de 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-snapshot SNAPSHOT_NAME \ --project DESTINATION_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.
API
Crie um snapshot de disco no projeto de destino chamando o método
snapshots.insert
. Por exemplo, para capturar um snapshot de um disco permanente 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.
- DISK_NAME: um nome para o novo disco.
- SNAPSHOT_NAME: o nome do snapshot.
Para ver uma lista dos snapshots disponíveis, consulte Como listar snapshots.
A seguir
- Saiba como criar uma programação de instantâneos para discos permanentes.
- Saiba como criar uma imagem de disco com base no snapshot.