Neste documento, descrevemos como gerenciar programações de snapshot dos volumes do Persistent Disk e do Google Cloud Hyperdisk regionais e zonais.
É possível gerenciar as programações de snapshot da seguinte maneira:
- Ver programações de snapshot
- Alterar programações de snapshot
- Excluir programações de snapshot
Também é possível configurar alertas para snapshots programados.
Antes de começar
-
Configure a autenticação, caso ainda não tenha feito isso.
Com isso, você confirma sua identidade para acesso a serviços e APIs do Cloud de Confiance by S3NS . Para executar
códigos ou amostras de um ambiente de desenvolvimento local, autentique-se no
Compute Engine selecionando uma das seguintes opções:
Selecione a guia para como planeja usar as amostras nesta página:
Console
Quando você usa o console Cloud de Confiance para acessar serviços Cloud de Confiance by S3NS e APIs, não é necessário configurar a autenticação.
gcloud
-
Instale a Google Cloud CLI e faça login na CLI gcloud com sua identidade federada. Depois de fazer login, inicialize a Google Cloud CLI executando o seguinte comando:
gcloud init
-
- Defina uma região e uma zona padrão.
-
Instale a CLI do Google Cloud.
-
Configure a CLI gcloud para usar sua identidade federada.
Para mais informações, consulte Fazer login na CLI gcloud com sua identidade federada.
-
Crie credenciais de autenticação local para sua conta de usuário:
gcloud auth application-default login
Se um erro de autenticação for retornado e você estiver usando um provedor de identidade (IdP) externo, confirme se você fez login na CLI gcloud com sua identidade federada.
-
Instale a CLI do Google Cloud.
-
Configure a CLI gcloud para usar sua identidade federada.
Para mais informações, consulte Fazer login na CLI gcloud com sua identidade federada.
-
Crie credenciais de autenticação local para sua conta de usuário:
gcloud auth application-default login
Se um erro de autenticação for retornado e você estiver usando um provedor de identidade (IdP) externo, confirme se você fez login na CLI gcloud com sua identidade federada.
-
Instale a CLI do Google Cloud.
-
Configure a CLI gcloud para usar sua identidade federada.
Para mais informações, consulte Fazer login na CLI gcloud com sua identidade federada.
-
Crie credenciais de autenticação local para sua conta de usuário:
gcloud auth application-default login
Se um erro de autenticação for retornado e você estiver usando um provedor de identidade (IdP) externo, confirme se você fez login na CLI gcloud com sua identidade federada.
-
Instale a CLI do Google Cloud.
-
Configure a CLI gcloud para usar sua identidade federada.
Para mais informações, consulte Fazer login na CLI gcloud com sua identidade federada.
-
Crie credenciais de autenticação local para sua conta de usuário:
gcloud auth application-default login
Se um erro de autenticação for retornado e você estiver usando um provedor de identidade (IdP) externo, confirme se você fez login na CLI gcloud com sua identidade federada.
Go
Para usar os exemplos de Go nesta página em um ambiente de desenvolvimento local, instale e inicialize a CLI gcloud e configure o Application Default Credentials com suas credenciais de usuário.
Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Java
Para usar os exemplos em Java desta página em um ambiente de desenvolvimento local, instale e inicialize a CLI gcloud e configure o Application Default Credentials com suas credenciais de usuário.
Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Node.js
Para usar os exemplos do Node.js nesta página em um ambiente de desenvolvimento local, instale e inicialize a CLI gcloud e configure o Application Default Credentials com suas credenciais de usuário.
Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Python
Para usar os exemplos do Python nesta página em um ambiente de desenvolvimento local, instale e inicialize a CLI gcloud e configure o Application Default Credentials com suas credenciais de usuário.
Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
REST
Para usar as amostras da API REST nesta página em um ambiente de desenvolvimento local, use as credenciais fornecidas para a CLI gcloud.
Instale a Google Cloud CLI e faça login na CLI gcloud com sua identidade federada.
Saiba mais em Autenticar para usar REST na documentação de autenticação do Cloud de Confiance .
Papéis e permissões necessárias
Para receber as permissões necessárias e criar uma programação de snapshot, peça ao administrador para conceder a você os seguintes papéis do IAM no projeto:
- Admin da instância do Compute (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 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:
-
Para ver as programações de snapshot:
compute.resourcePolicies.listno projeto ou na organização -
Para atualizar uma programação de snapshot:
-
compute.resourcePolicies.updatena política de recursos compute.resourcePolicies.getna política de recursos
-
-
Para substituir uma programação de snapshot:
-
compute.resourcePolicies.usena política de recursos -
compute.disks.addResourcePoliciesno disco compute.disks.removeResourcePoliciesno disco
-
-
Para excluir uma programação de snapshot:
-
compute.resourcePolicies.deletena política de recursos compute.disks.removeResourcePoliciesno disco
-
Essas permissões também podem ser concedidas com funções personalizadas ou outros papéis predefinidos.
Ver programações de snapshot
Para acessar uma lista de programações de snapshots, use o console, o comando gcloud ou o método da API Compute Engine.
Essa solicitação mostra o nome, a descrição e a região de todas as programações de snapshot em um projeto.
Console
- No console do Cloud de Confiance , acesse a página Backups.
- Selecione a guia Programações de snapshot.
- Use o campo Filtro para restringir a lista de programações de snapshot.
- Clique no nome de uma programação de snapshot para ver os detalhes.
gcloud
Para ver uma lista das suas programações de snapshot, use o comando resource-policies list.
gcloud compute resource-policies list
Para ver a descrição de uma programação de snapshot específica, use o comando resource-policies describe.
gcloud compute resource-policies describe SCHEDULE_NAME
Substitua SCHEDULE_NAME pelo nome da programação de snapshot.
Go
Listar programações de snapshot
Descrever uma programação de snapshot
Java
Listar programações de snapshot
Descrever uma programação de snapshot
Node.js
Python
Listar programações de snapshot
Descrever uma programação de snapshot
REST
Faça uma solicitação GET para resourcePolicies.aggregatedList e retorne uma lista de programações de snapshot de um projeto.
GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/aggregated/resourcePolicies
Substitua PROJECT_ID pelo nome do projeto.
Ver programações de snapshot por região
Para ver as programações de snapshot de um projeto em uma determinada região, use oCloud de Confiance console, a CLI gcloud ou REST.
Console
- No console do Cloud de Confiance , acesse a página Backups.
- Selecione a guia Programações de snapshot.
- Use o campo Filtro para listar as programações de snapshot de uma região específica.
gcloud
Para ver as programações de snapshot de um projeto em uma região específica, use o comando resource-policies list.
gcloud compute resource-policies list PROJECT_ID --filter REGION
Substitua:
PROJECT_ID: o nome do projetoREGION: a região, por exemplo,us-west1
REST
Faça uma solicitação GET ao método resourcePolicies.list para recuperar as programações de snapshot criadas em uma região.
GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/resourcePolicies
Substitua:
PROJECT_ID: o nome do projetoREGION: a região, por exemplo,us-west1
Alterar uma programação de snapshot
Depois de criar uma programação de snapshot, é possível modificar os campos a seguir dinamicamente usando o procedimento Atualizar uma programação de snapshot:
- Descrição
- Programação de snapshots
- Rótulos aplicados aos snapshots gerados
- Política de exclusão do disco de origem para processar snapshots gerados automaticamente se o disco de origem for excluído
- Política de retenção para definir por quanto tempo os snapshots gerados com base na programação serão mantidos.
Para atualizar outros valores de uma programação de snapshot, exclua a programação de snapshot e crie uma nova, conforme descrito em Substituir uma programação de snapshot.
As atualizações da programação de snapshot entram em vigor no primeiro snapshot após as atualizações. Se um snapshot estiver em execução enquanto você atualiza a programação, as alterações entrarão em vigor no próximo snapshot.
Atualizar uma programação de snapshot
É possível usar a CLI do Google Cloud ou a API Compute Engine para alterar algumas propriedades da sua programação de snapshot, conforme descrito em Alterar uma programação de snapshot.
Para alterar outras propriedades da sua programação de snapshot, use o método descrito em Substituir uma programação de snapshot.
Console
- No console do Cloud de Confiance , acesse a página Backups.
- Selecione Programações de snapshot para ver uma lista das programações.
- Clique no nome da programação de snapshot que você quer modificar.
- Na página de detalhes da programação de snapshot, clique no botão Editar programação.
gcloud
Use o comando compute resource-policies update para atualizar a descrição, a programação, a política de retenção ou os rótulos de uma programação de snapshot.
gcloud compute resource-policies update snapshot-schedule SCHEDULE_NAME \
--region=REGION \
--description="DESCRIPTION" \
--snapshot-labels="KEY=VALUE" \
--max-retention-days=DAYS \
--on-source-disk-delete=DELETE_OPTION \
--start-time=START_TIME \
SCHEDULE_FLAG
Substitua:
- SCHEDULE_NAME: o nome da programação de snapshot.
- REGION: a região em que a programação do snapshot reside.
- DESCRIPTION: uma descrição da programação de snapshot. Coloque a descrição entre aspas;
- KEY e VALUE: um par de chave-valor que pode ser usado para agrupar recursos relacionados ou associados.
- DAYS: o número máximo de dias em que o snapshot fica retido antes de ser excluído.
- DELETE_OPTION: comportamento de retenção de snapshots automáticos após a exclusão do disco original. O valor precisa ser um destes:
apply-retention-policy: quando o disco de origem for excluído, continue aplicando a janela de retenção a todos os snapshots criados pela programação de snapshot.keep-auto-snapshots: (padrão) se o disco de origem for excluído, mantenha os snapshots criados pela programação de snapshot, independentemente da janela de retenção.
- START_TIME: o horário de início em UTC. O horário
precisa ser uma hora redonda. Por exemplo:
- 14h PST é
22:00. - Se você definir o horário de início como
22:13, receberá um erro.
- 14h PST é
SCHEDULE_FLAG: uma das seguintes flags:
--hourly-schedule=HOURLY_INTERVAL: o número de horas entre cada snapshot. É preciso queHOURLY_INTERVALseja um número inteiro entre1e23Por exemplo, defina--hourly-schedulecomo 12 para que o snapshot seja gerado a cada 12 horas.--daily-schedule: executa um snapshot diariamente àsSTART_TIME--weekly-schedule==WEEKLY_INTERVAL: define o dia em que você quer que a captura de snapshot ocorra. Escreva o dia da semana por extenso. Os valores não diferenciam maiúsculas de minúsculas.--weekly-schedule-from-file=FILE_NAME: especifica um arquivo que contém a programação de snapshot semanal. É possível especificar programações semanais em dias diferentes da semana e em diferentes horários usando um arquivo. Por exemplo, seu arquivo pode especificar uma programação de snapshot às segundas e quartas-feiras:none [{"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. A programação usa o fuso horário UTC. O horário precisa ser uma hora redonda. Por exemplo:- 14h PST é
22:00. - Se você definir o horário de início como
22:13, receberá um erro.
- 14h PST é
As flags de frequência do snapshot
hourly-schedule,daily-schedule,weekly-scheduleeweekly-schedule-from-filesão mutuamente exclusivas. É possível usar apenas uma para a programação de snapshot.
Exemplos:
Para alterar uma programação de snapshot para uma programação diária:
gcloud compute resource-policies update snapshot-schedule SCHEDULE_NAME \
--region=REGION --daily-schedule --start-time=START_TIME
Para alterar um snapshot para uma programação por hora e também atualizar a descrição e o identificador do snapshot:
gcloud compute resource-policies update snapshot-schedule SCHEDULE_NAME \
--region=REGION --description="DESCRIPTION" \
--hourly-schedule=HOURLY_INTERVAL --start-time=START_TIME \
--snapshot-labels="KEY=VALUE"
Para alterar as políticas de retenção de snapshots e de exclusão de discos de origem de uma programação de snapshot:
gcloud compute resource-policies update snapshot-schedule SCHEDULE_NAME \
--region=REGION --max-retention-days=DAYS \
--on-source-disk-delete=DELETE_OPTION
Go
Java
Node.js
Python
REST
Crie uma solicitação PATCH ao método resourcePolicies para atualizar a descrição, a programação, a política de retenção, a política de exclusão de disco de origem ou os rótulos de uma programação de snapshot. No corpo da solicitação, basta especificar o name e os campos que você quer atualizar.
Mude a descrição e o identificador:
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/resourcePolicies/SCHEDULE_NAME { "name": "SCHEDULE_NAME", "description": "DESCRIPTION", "snapshotProperties": { "labels": {"KEY": "VALUE"} } }Altere a programação de snapshot para horária:
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/resourcePolicies/SCHEDULE_NAME { "name": "SCHEDULE_NAME", "snapshotSchedulePolicy": { "schedule": { "hourlySchedule": { "hoursInCycle": HOURLY_INTERVAL, "startTime": START_TIME } } } }Altere a programação de snapshot para diária:
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/resourcePolicies/SCHEDULE_NAME { "name": "SCHEDULE_NAME", "snapshotSchedulePolicy": { "schedule": { "dailySchedule": { "daysInCycle": DAILY_INTERVAL, "startTime": START_TIME } } } }Altere a programação de snapshot para semanal:
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/resourcePolicies/SCHEDULE_NAME { "name": "SCHEDULE_NAME", "snapshotSchedulePolicy": { "schedule": { "weeklySchedule": { "dayOfWeeks": [ { "day": WEEKLY_INTERVAL, "startTime": START_TIME } ] } } } }Altere a política de retenção de snapshots:
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/resourcePolicies/SCHEDULE_NAME { "name": "SCHEDULE_NAME", "snapshotSchedulePolicy": { "retentionPolicy": { "maxRetentionDays": DAYS, "onSourceDiskDelete":"DELETE_OPTION" } } }
Substitua:
- PROJECT_ID: o nome do projeto
- REGION: a região em que a programação de snapshot está localizada.
- SCHEDULE_NAME: o nome da programação de snapshot.
- DESCRIPTION: uma descrição da programação de snapshot. Coloque a descrição entre aspas;
- KEY e VALUE: um par de chave-valor que pode ser usado para agrupar recursos relacionados ou associados.
- HOURLY_INTERVAL: define o intervalo
da captura do snapshot. Defina a programação para horária usando um número inteiro entre
1e23. Para que os snapshots sejam criados no mesmo horário todos os dias, escolha um número que divida igualmente em 24 (1, 2, 3, 4, 6, 8 ou 12). Por exemplo, defina--hourly-schedulecomo 12 para que o snapshot seja gerado a cada 12 horas. - DAILY_INTERVAL: define o número de dias
entre cada snapshot. Para criar um snapshot todos os dias, use o valor
1. - WEEKLY_INTERVAL: define uma programação que é executada em
dias específicos da semana. Especifique um ou mais dias. As seguintes
opções estão disponíveis:
MONDAY,TUESDAY,WEDNESDAY,THURSDAY,FRIDAY,SATURDAYeSUNDAY. Escreva os dias da semana por extenso. Eles não diferenciam entre letras maiúsculas e minúsculas. É possível definir até sete intervalos paradayOfWeeks, um para cada dia da semana. - START_TIME: o horário de início em UTC. O horário precisa ser
uma hora redonda. Por exemplo:
- 14h PST é
22:00UTC. - Se você definir o horário de início como
22:13, receberá um erro.
- 14h PST é
- DAYS: o número máximo de dias em que o snapshot fica retido antes de ser excluído.
- DELETE_OPTION: comportamento de retenção de snapshots automáticos após a exclusão do disco original. O valor precisa ser um destes:
APPLY_RETENTION_POLICY: quando o disco de origem for excluído, continue aplicando a janela de retenção a todos os snapshots criados pela programação de snapshot.KEEP_AUTO_SNAPSHOTS: (padrão) se o disco de origem for excluído, mantenha os snapshots criados pela programação de snapshot, independentemente da janela de retenção.
Substituir uma programação de snapshot
Siga estas etapas para excluir a programação de snapshot e criar uma nova. Use este método para modificar as propriedades da programação de snapshot que não podem ser alteradas usando o procedimento Atualizar uma programação de snapshot.
Se você estiver substituindo uma programação de snapshot que já está anexada a um disco, será necessário desanexá-la e excluí-la. Em seguida, crie uma nova e anexe-a ao disco.
Os snapshots gerados a partir da programação de snapshot removida não serão gerenciados pela nova política. Esses snapshots serão mantidos indefinidamente até que você os exclua.
Use o console do Cloud de Confiance , a CLI gcloud ou REST para remover e substituir a programação de snapshot.
Console
- No console do Cloud de Confiance , acesse a página Discos.
- Selecione o disco que tem a programação que você quer desanexar.
- Na página Gerenciar disco, clique em Editar. Talvez seja necessário clicar no menu Mais ações primeiro.
- Abra o menu suspenso Programação de snapshot.
- Clique em Sem programação para desanexar a programação do disco.
- É possível criar uma nova programação ou trocá-la enquanto estiver editando as opções de disco.
- Clique em Salvar para concluir a tarefa.
gcloud
Use o comando
gcloud compute disks remove-resource-policiespara remover a programação de snapshot do disco com a programação que você quer alterar.gcloud compute disks remove-resource-policies DISK_NAME \ --resource-policies SCHEDULE_NAME \ --region REGION \ --zone ZONESubstitua:
DISK_NAME: o nome do disco com a programação de snapshot anexadaSCHEDULE_NAME: o nome da programação de snapshot que você quer remover desse discoREGION: a região onde a programação do snapshots resideZONE: a zona onde reside o disco zonal
Use o comando
gcloud compute disks add-resource-policiespara adicionar a nova programação de snapshot ao disco.gcloud compute disks add-resource-policies DISK_NAME \ --resource-policies SCHEDULE_NAME \ --zone ZONESubstitua:
DISK_NAME: o nome do disco com a política de recursos da programação de snapshot.SCHEDULE_NAME: o nome da programação de snapshot que você quer adicionar a esse discoZONE: a zona onde reside o disco
REST
Remova a programação de snapshot atual de um disco criando uma solicitação
POSTadisks.removeResourcePolicies.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/disks/DISK_NAME/removeResourcePolicies { "resourcePolicies": [ "regions/REGION/resourcePolicies/SCHEDULE_NAME" ] }Substitua:
PROJECT_ID: o nome do projetoZONE: a zona onde o disco resideDISK_NAME: o nome do disco com a programação de snapshot associadaREGION: o local da programação de snapshotSCHEDULE_NAME: o nome da programação de snapshot que você está removendo desse disco
Anexe a nova programação de snapshot ao disco criando uma solicitação
POSTao métododisks.addResourcePolicies.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/disks/DISK_NAME/addResourcePolicies { "resourcePolicies": [ "regions/REGION/resourcePolicies/SCHEDULE_NAME" ] }Substitua:
PROJECT_ID: o nome do projetoZONE: o local do discoDISK_NAME: o nome do disco.REGION: o local da programação de snapshotSCHEDULE_NAME: o nome da programação de snapshot que você está aplicando a esse disco.
Excluir uma programação de snapshot
Se você excluir uma programação de snapshot, todos os snapshots gerados automaticamente associados à programação serão mantidos de modo permanente. No entanto, a programação não poderá mais gerar snapshots após a exclusão.
A política de retenção faz parte da programação de snapshot. Depois que a programação for excluída, a política de retenção não será mais aplicada. Os snapshots que já foram gerados serão mantidos de modo permanente até você excluí-los manualmente.
Para excluir uma programação de snapshot, use o Cloud de Confiance console, a Google Cloud CLI ou o método da API Compute Engine. Se a programação já estiver anexada a um disco, será necessário desanexar essa programação antes de excluí-la. Não é possível excluir uma programação de instantâneo anexada a um disco.
Console
- No console do Cloud de Confiance , acesse a página Backups.
- Selecione Programações de snapshot para ver uma lista das programações.
- Selecione qualquer programação não associada a um disco.
Clique em Excluir.
gcloud
Para excluir uma programação de snapshot, use o comando resource-policies delete.
gcloud compute resource-policies delete SCHEDULE_NAME \
--region REGION
Substitua:
SCHEDULE_NAME: o nome da programação de snapshotREGION: o local da programação de snapshot
Go
Java
Node.js
Python
REST
Para excluir uma programação de snapshot, faça uma solicitação DELETE ao método resourcePolicies.delete.
Se a programação de snapshot já estiver anexada a um disco, você receberá um erro.
DELETE https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/resourcePolicies/SCHEDULE_NAME
Substitua:
PROJECT_ID: o nome do projetoREGION: o local da programação de snapshotSCHEDULE_NAME: o nome da programação de snapshot
Geração de registros e monitoramento
Todo snapshot programado associado a um disco cria continuamente um evento do sistema, que é sempre monitorado e registrado. Os registros de auditoria de evento do sistema estão sempre ativados.
Esses registros fornecem informações comportamentais sobre os snapshots programados para cada disco associado. Veja seus registros no menu "Logging" do console do Cloud de Confiance .
Para mais informações sobre como usar a Análise de registros, consulte Ver registros usando a Análise de registros.
Console
No console do Cloud de Confiance , acesse a página Análise de registros.
Na lista suspensa Todos os recursos, aponte para Disco e selecione Todos os disk_id.
Na lista suspensa Todos os registros, selecione cloudaudit.googleapis.com/system_event e clique em OK.
Na lista suspensa Qualquer nível de registro, selecione o tipo de registro.
A seguir
- Saiba mais sobre frequências de programação de snapshot, políticas de retenção e regras de definição de nome em Sobre programações de snapshot para discos.
- Confira e exclua os snapshots gerados, conforme descrito em Gerenciar snapshots de disco.
- Saiba como visualizar registros.