Você cria uma programação de snapshot para fazer backup regular e automático do Persistent Disk zonal e regional e do Google Cloud Hyperdisk. Use as programações de snapshot como uma prática recomendada para fazer backup das cargas de trabalho do Compute Engine.
Se você quiser criar uma programação de snapshot que capture o estado dos dados do aplicativo no momento do backup, também conhecida como consistentes para aplicativos, guest-flush ou snapshot do VSS, consulte Criar snapshots de disco consistentes do aplicativo do Linux ou Criar um snapshot de disco consistente do aplicativo do Windows.
Para mais informações sobre as propriedades da programação de snapshot, consulte Propriedades da programação de snapshot.
Antes de começar
- Consulte as Limitações das programações de snapshots.
-
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:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
-
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 criar uma programação de snapshot:
compute.resourcePolicies.create
no projeto ou na organização -
Para anexar uma programação de snapshot a um disco:
compute.disks.addResourcePolicies
no discocompute.resourcePolicies.use
na política de recursos
-
Para criar um disco com uma programação de snapshot:
-
compute.disks.create
no projeto -
compute.resourcePolicies.create
no projeto compute.disks.addResourcePolicies
no disco
-
- Crie uma programação de snapshot e, em seguida, anexe-a a um disco.
- Crie um novo disco permanente com uma programação de snapshot.
-
No console do Google Cloud, acesse a página Instâncias de VMs.
Acessar instâncias de VM
As etapas restantes serão exibidas automaticamente no console do Google Cloud. - Selecione o projeto que contém suas instâncias de VM.
- Na coluna Nome, clique no nome da VM que tem o disco permanente para criar uma programação de snapshot para ele.
-
Em
Armazenamento , clique no nome do Disco de inicialização ou do Disco extra para criar uma programação de snapshot para ele. - Clique em Editar. Talvez seja necessário clicar no menu Mais ações e em Editar.
- Em Programação de snapshot, escolha Criar uma programação.
-
Em Nome, insira um dos seguintes nomes para a programação de snapshot:
boot-disk-snapshot-schedule
attached-persistent-disk-snapshot-schedule
-
Na seção Local, escolha o local de armazenamento dos snapshots. O local padrão predefinido ou personalizado que está definido nas configurações de snapshot é selecionado automaticamente. Se preferir, substitua as configurações dos snapshots e os armazene em um local de armazenamento personalizado da seguinte forma:
-
Escolha o tipo de local de armazenamento que você quer para os snapshots.
-
Escolha Multirregional
para maior disponibilidade a um custo mais alto.
- Escolha Snapshots regionais para maior controle sobre a localização física dos dados a um custo menor.
-
Escolha Multirregional
para maior disponibilidade a um custo mais alto.
-
No campo Selecionar local, escolha a região ou multirregião específica que você quer usar. Para usar a região ou multirregião mais próxima do disco de origem, selecione Com base no local do disco.
-
- Para concluir a criação da programação de snapshot, clique em Criar.
- Para anexar essa programação de snapshot ao disco permanente, clique em Salvar.
SCHEDULE_NAME
: o nome da programação de snapshot.SCHEDULE_DESCRIPTION
: uma descrição da programação de snapshot. Coloque a descrição entre aspas;MAX_RETENTION_DAYS
: o número de dias para reter o snapshot.Por exemplo, um valor de
3
significa que os snapshots são retidos por três dias antes de serem excluídos. Use um valor igual ou superior a1
.START_TIME
: o horário de início no fuso horário UTC. O horário precisa ser uma hora redonda.Por exemplo:
- É preciso especificar 14h PST como
22:00
. - Se você definir o horário de início como
22:13
, receberá um erro.
Se você usar a flag
--weekly-schedule-from-file
e especificar um horário de início no arquivo, não será necessário incluir essa flag.- É preciso especificar 14h PST como
SNAPSHOT_INTERVAL
: o intervalo entre a criação de snapshots sucessivos. As flags de frequência do snapshothourly-schedule
,daily-schedule
,weekly-schedule
eweekly-schedule-from-file
são mutuamente exclusivas. É possível usar apenas uma para a programação de snapshot.- Defina uma programação diária incluindo a flag
--daily-schedule
sem nenhum valor. - Defina uma programação por hora com a flag
--hourly-schedule
definida como um valor inteiro entre 1 e 23. Para gerar snapshots todos os dias no mesmo horário, escolha um número por hora dividido igualmente em 24. Por exemplo, definir--hourly-schedule
como12
significa que um snapshot é criado a cada 12 horas. - Defina uma programação semanal com a flag
--weekly-schedule
definida como o dia da semana em que você quer que o snapshot seja criado. Escreva o dia da semana por extenso. Os valores não diferenciam maiúsculas de minúsculas. Por exemplo, para fazer backup do disco todas as sextas-feiras, seu comando incluiria--weekly-schedule=friday
. Defina uma programação semanal avançada, especificando dias da semana e horários de início distintos, incluindo a flag
--weekly-schedule-from-file
. SubstituaFILE_NAME
pelo nome do arquivo que contém a programação de snapshot semanal. Embora você possa especificar diferentes dias da semana e horários de início usando um arquivo, não é possível especificar várias programações semanais diretamente na linha de comando. Por exemplo, seu arquivo pode especificar duas programações semanais, às segundas e quartas, mas não é possível duplicar essa configuração na linha de comando:[ {"day": "MONDAY", "startTime": "04:00"}, {"day": "WEDNESDAY", "startTime": "02:00"} ]
Se você incluir um horário de início no arquivo, não será necessário definir a flag
--start-time
na linha de comando. A programação usa o fuso horário UTC.
- Defina uma programação diária incluindo a flag
DELETION_OPTION
determina o que acontecerá com os snapshots se o disco de origem for excluído. Se você quiser manter todos os snapshots gerados, omita essa flag. Caso contrário, especifiqueapply-retention-policy
para usar as configurações em uma política de retenção.STORAGE_LOCATION
: opcional: o local de armazenamento. Se você omitir essa flag, o local de armazenamento padrão será usado.- A regra de exclusão de disco está incluída. A sinalização
--on-source-disk-delete
está definida como o padrãokeep-auto-snapshots
para manter permanentemente todos os snapshots gerados automaticamente. A alternativa é definir essa sinalização comoapply-retention-policy
para usar sua política de retenção de snapshots. - O local de armazenamento é definido manualmente como
US
. Assim, todos os snapshots gerados são armazenados na multirregião dos EUA. - Os rótulos
env=dev
emedia=images
estão aplicados a todos os snapshots gerados. - A política de retenção está definida como 10 dias.
PROJECT_ID
: o nome do projetoREGION
: o local da política de recursos de programação de snapshotSCHEDULE_DESCRIPTION
: a descrição da programação de snapshotSCHEDULE_NAME
: o nome da programação de snapshotSTORAGE_LOCATION
: opcional: o local de armazenamento. Se você omitir essa flag, o local de armazenamento padrão será usado.No console do Google Cloud, acesse a página Discos.
Selecione o nome do disco ao qual você quer anexar uma programação de snapshot. Isso abre a página Gerenciar disco.
Na página Gerenciar disco, clique em
Editar. Talvez seja necessário clicar no menu Mais ações primeiro.Use o menu suspenso Programação de instantâneo para adicionar a programação ao disco. Se preferir, crie uma nova programação.
Se você criou uma nova programação, clique em Criar.
Clique em Salvar para concluir a tarefa.
DISK_NAME
: o nome do disco atualSCHEDULE_NAME
: o nome da programação de snapshotZONE
: o local do discoPROJECT_ID
: o nome do projetoZONE
: a zona em que o disco está localizado.REGION
: a região em que a programação de snapshot foi criada.DISK_NAME
: o nome do disco.SCHEDULE_NAME
: o nome da programação de snapshot que você está aplicando a esse disco.No console do Google Cloud, acesse a página Discos.
Clique em Criar disco.
Preencha os campos obrigatórios para criar um disco zonal ou regional.
Crie o disco na mesma região da programação de snapshot.
Preencha os campos em Programação de snapshot.
Use o menu suspenso e preencha os campos para criar a programação.
Clique em Criar para criar a programação.
Clique em Criar para criar o disco.
DISK_NAME
: o nome do novo discoSCHEDULE_NAME
: o nome da programação de snapshotZONE
: o local em que você está criando o disco. O disco precisa estar em uma zona que esteja na mesma região que a programação de snapshot.- Saiba mais sobre como gerenciar programações de snapshots.
- Saiba mais sobre as frequências de snapshots programados, as políticas de retenção e as regras de nomenclatura em Sobre programações de snapshots para discos.
- Saiba como criar uma imagem personalizada com base no snapshot.
- Saiba como visualizar registros.
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 a fim de criar uma programação de snapshot, peça ao administrador para conceder a você os seguintes papéis do IAM no projeto:
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 criar uma programação de snapshot. Para conferir as permissões exatas necessárias, expanda a seção Permissões necessárias:
Permissões necessárias
As seguintes permissões são necessárias para criar uma programação de snapshot:
Essas permissões também podem ser concedidas com funções personalizadas ou outros papéis predefinidos.
Visão geral da criação de programações de snapshots
Ao criar uma programação de snapshot, é possível criar uma política de recursos que pode ser aplicada a um ou mais volumes de Hyperdisk ou Persistent Disk.
É possível criar programações de snapshots das seguintes maneiras:
Como usar criptografia com programações de snapshots
Se um disco usar uma chave de criptografia gerenciada pelo cliente (CMEK, na sigla em inglês), quando você usar uma programação de snapshot para criar snapshots desse disco, todos os snapshots criados serão automaticamente criptografados com a mesma chave.
Não é possível usar programações de snapshots com discos que utilizam uma chave de criptografia fornecida pelo cliente (CSEK).
Criar uma programação de snapshot
É possível criar uma programação de snapshot para seus discos usando o console do Google Cloud, a CLI do Google Cloud ou o REST. Crie a programação de snapshot na mesma região do disco. Por exemplo, se o disco estiver na zona
us-west1-a
, será preciso criar a programação de snapshot na regiãous-west1
. No entanto, é possível armazenar snapshots gerados pela programação de snapshot em um local diferente.Console
gcloud
Para criar uma programação de snapshot para um disco, use o comando
gcloud compute resource-policies create snapshot-schedule
. Defina a frequência da programação por hora, dia ou semana.gcloud compute resource-policies create snapshot-schedule SCHEDULE_NAME \ --description "SCHEDULE_DESCRIPTION" \ --max-retention-days MAX_RETENTION_DAYS \ --start-time START_TIME \ --hourly-schedule SNAPSHOT_INTERVAL \ --daily-schedule \ [--weekly-schedule SNAPSHOT_INTERVAL or \ --weekly-schedule-from-file FILE_NAME] \ --on-source-disk-delete DELETION_OPTION \ --storage-location=STORAGE_LOCATION
Substitua:
Exemplos
Veja o que há em comum em todos os exemplos abaixo:
Programação por hora: neste exemplo, a programação de snapshot começa às 22h UTC (14h PST) e ocorre a cada quatro horas.
gcloud compute resource-policies create snapshot-schedule hourly-schedule1 \ --description "MY HOURLY SNAPSHOT SCHEDULE" \ --max-retention-days 10 \ --start-time 22:00 \ --hourly-schedule 4 \ --region us-west1 \ --on-source-disk-delete keep-auto-snapshots \ --snapshot-labels env=dev,media=images \ --storage-location US
Programação diária: neste exemplo, a programação de snapshot começa às 22h UTC (14h PST) e ocorre todos os dias no mesmo horário. A flag
--daily-schedule
precisa estar presente, mas sem um valor associado.gcloud compute resource-policies create snapshot-schedule daily-schedule2 \ --description "MY DAILY SNAPSHOT SCHEDULE" \ --max-retention-days 10 \ --start-time 22:00 \ --daily-schedule \ --region us-west1 \ --on-source-disk-delete keep-auto-snapshots \ --snapshot-labels env=dev,media=images \ --storage-location US
Programação por semana: neste exemplo, a programação de snapshot começa às 22h UTC (14h PST) e ocorre toda semana às terças.
gcloud compute resource-policies create snapshot-schedule weekly-schedule3 \ --description "MY WEEKLY SNAPSHOT SCHEDULE" \ --max-retention-days 10 \ --start-time 22:00 \ --weekly-schedule tuesday \ --region us-west1 \ --on-source-disk-delete keep-auto-snapshots \ --snapshot-labels env=dev,media=images \ --storage-location US
REST
Para criar uma programação de snapshot, crie uma solicitação
POST
pararesourcePolicies.insert
. Inclua o nome da programação e a frequência do snapshot.Também é possível especificar manualmente um local de armazenamento de snapshots e adicionar rótulos de recursos à sua solicitação.
Por padrão, o parâmetro
onSourceDiskDelete
está definido comokeepAutoSnapshots
. Isso significa que, se o disco de origem for excluído, o respectivo snapshot gerado automaticamente será mantido por tempo indefinido. Como alternativa, defina a flag comoapplyRetentionPolicy
para aplicar sua política de retenção.No exemplo a seguir, definimos uma programação de snapshot diária que começa às 12h UTC (04:00 PST) e se repete todos os dias. No exemplo, uma política de retenção de cinco dias também está definida. Após esse período, os snapshots serão removidos automaticamente.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/resourcePolicies { "name": "SCHEDULE_NAME", "description": "SCHEDULE_DESCRIPTION", "snapshotSchedulePolicy": { "schedule": { "dailySchedule": { "startTime": "12:00", "daysInCycle": "1" } }, "retentionPolicy": { "maxRetentionDays": "5" }, "snapshotProperties": { "guestFlush": "False", "labels": { "env": "dev", "media": "images" }, "storageLocations": "STORAGE_LOCATION" } } }
Substitua:
É possível criar uma programação por semana ou por mês do mesmo modo. Consulte o método
resourcePolicies.insert
para conferir detalhes específicos sobre como definir uma programação semanal ou mensal.Por exemplo, a solicitação a seguir cria uma programação semanal que é executada às 9h UTC de terça-feira.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/resourcePolicies { "name": "SCHEDULE_NAME", "description": "SCHEDULE_DESCRIPTION", "snapshotSchedulePolicy": { "schedule": { "weeklySchedule": { "dayOfWeeks": [ { "day": "Tuesday", "startTime": "9:00" } ] } }, "retentionPolicy": { "maxRetentionDays": "5" }, "snapshotProperties": { "guestFlush": "False", "labels": { "production": "webserver" }, "storageLocations": "US" } } }
Anexar uma programação de snapshot a um disco
Depois de criar uma programação, anexe-a a um disco. Use o console, a gcloud CLI ou a API Compute Engine.
Console
Anexe uma programação de snapshot a um disco atual.
gcloud
Para anexar uma programação de snapshot a um disco, use o comando
gcloud disks add-resource-policies
.gcloud compute disks add-resource-policies DISK_NAME \ --resource-policies SCHEDULE_NAME \ --zone ZONE
Substitua:
REST
Crie uma solicitação
POST
paradisks.addResourcePolicies
para anexar uma programação de snapshot a um disco.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/disks/DISK_NAME/addResourcePolicies { "resourcePolicies": [ "regions/REGION/resourcePolicies/SCHEDULE_NAME" ] }
Substitua:
Criar um disco com uma programação de snapshot
É possível usar o console do Google Cloud ou a gcloud CLI para criar um disco e uma programação de snapshot ao mesmo tempo.
Console
gcloud
Use o comando
gcloud disks create
para criar um Persistent Disk ou Hyperdisk zonal ou regional e anexar uma programação de snapshot a ele.gcloud compute disks create DISK_NAME \ --resource-policies SCHEDULE_NAME \ --zone ZONE
Substitua:
A seguir
Exceto em caso de indicação contrária, o conteúdo desta página é licenciado de acordo com a Licença de atribuição 4.0 do Creative Commons, e as amostras de código são licenciadas de acordo com a Licença Apache 2.0. Para mais detalhes, consulte as políticas do site do Google Developers. Java é uma marca registrada da Oracle e/ou afiliadas.
Última atualização 2024-12-22 UTC.
-