Por padrão, o Compute Engine retém snapshots padrão excluídos na lixeira por um período de armazenamento de três dias antes de apagar os snapshots permanentemente. É possível configurar um período de armazenamento mais curto ou desativar a lixeira modificando a política de retenção da lixeira.
Este documento descreve como visualizar e configurar a política de retenção da lixeira.
Para ver o conteúdo de uma lixeira ou recuperar um snapshot dela, consulte Gerenciar a lixeira.
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.
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 poder visualizar e gerenciar a política de retenção da lixeira,
peça ao administrador para conceder a você o
papel do IAM de Administrador do Compute (roles/compute.admin) no projeto.
Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.
Esse papel predefinido contém as permissões necessárias para visualizar e gerenciar a política de retenção da lixeira. Para acessar 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 visualizar e gerenciar a política de retenção da lixeira:
-
Para definir, modificar e excluir regras na política de retenção da lixeira:
compute.snapshotRecycleBinPolicy.patch -
Para conferir a política de retenção da lixeira:
compute.snapshotRecycleBinPolicy.get -
Para conferir a política de retenção da lixeira de um snapshot padrão:
compute.snapshots.getEffectiveRecycleBinRuleno snapshot
Essas permissões também podem ser concedidas com funções personalizadas ou outros papéis predefinidos.
Como funciona a política de retenção da lixeira
A política de retenção da lixeira é uma coleção global de regras que definem o período de armazenamento para snapshots padrão em todos os projetos e organizações.
A política de retenção da lixeira tem os seguintes recursos:
O período de armazenamento padrão de três dias é chamado de regra padrão do sistema. Não é possível remover a regra padrão do sistema, mas você pode substituí-la.
Para substituir a regra padrão do sistema, adicione regras padrão de projeto ou organização que se aplicam a um projeto ou organização, respectivamente. Também é possível adicionar regras baseadas em tags à política de retenção da lixeira.
Os conflitos de regras na política de retenção são resolvidos da seguinte maneira:
- As regras com base em tags substituem as regras padrão do projeto e da organização.
- Se várias regras baseadas em tags forem aplicáveis a um snapshot padrão, a regra com o período de armazenamento mais longo será usada. No entanto, uma regra padrão de projeto não substitui uma regra baseada em tag, mesmo que a primeira tenha um período de retenção mais longo.
- As regras padrão do projeto substituem a regra padrão da organização.
- Se nenhuma regra se aplicar a um snapshot padrão, a regra padrão do sistema será usada.
Para mais informações, consulte Hierarquia de regras na política de retenção da lixeira.
Embora o Google não recomende desativar a lixeira, é possível fazer isso em um projeto, uma organização ou uma tag criando uma regra com um período de retenção de dia zero. Todos os snapshots padrão sujeitos à regra são apagados imediatamente quando você os exclui.
As mudanças na política de retenção da lixeira não se aplicam a snapshots recuperáveis atuais, ou seja, snapshots padrão excluídos que estão na lixeira.
Limitações
- Somente snapshots padrão são compatíveis. Os snapshots de arquivo, os Instant Snapshots, os discos e as imagens são apagados permanentemente de imediato após a exclusão.
- As mudanças na política de retenção da lixeira não se aplicam a snapshots recuperáveis atuais, ou seja, snapshots padrão excluídos que estão na lixeira.
- Para especificar uma regra de política de retenção para uma tag, ela precisa existir.
- É possível definir regras de política de retenção apenas para projetos, organizações ou tags.
- Se você definir uma regra de política de retenção para uma tag, ela só será aplicada a snapshots padrão que tenham essa tag. Os snapshots de arquivamento, os Instant Snapshots, os discos e todos os outros recursos com essa tag não são compatíveis com a lixeira e são apagados permanentemente quando você os exclui.
Definir ou remover o período de armazenamento padrão de um projeto ou organização
Para substituir a regra padrão do sistema de três dias em um projeto ou organização ou desativar a lixeira, defina a regra de política de retenção padrão para o projeto ou a organização.
É possível usar a CLI gcloud ou a REST.
CLI da gcloud
Use o
comando gcloud beta compute snapshot-recycle-bin-policy update.
Use a flag --set-rule=default para definir a regra de política de retenção padrão
e a flag --standard-snapshots-retention-duration-days para especificar o
período de armazenamento da regra.
Para definir a política de retenção padrão de uma organização, use o seguinte comando:
gcloud beta compute snapshot-recycle-bin-policy update \ --set-rule=default \ --standard-snapshots-retention-duration-days=DEFAULT_RETENTION_PERIOD_DAYS \ --organization=ORGANIZATION_ID
Substitua os seguintes valores pelos valores correspondentes:
DEFAULT_RETENTION_PERIOD_DAYS: o período de retenção, em dias, do projeto ou da organização. Especifique um valor de0a7. Para desativar a lixeira, especifique0.ORGANIZATION_ID: opcional. O ID da organização, para a qual você quer definir a regra de retenção padrão. Por exemplo,123456789012. É necessário especificar o ID da organização ou do ID do projeto, mas não ambos.
Para definir a política de retenção padrão de um projeto, substitua a flag
--organizationpor--project=<var>PROJECT_ID</var>no comando anterior, em quePROJECT_IDé o ID do projeto.Para remover a regra de retenção padrão de um projeto ou organização, use o mesmo comando, mas especifique
--remove-rule=defaultem vez de--set-rule=default.Por exemplo, para remover a regra de política de retenção padrão de uma organização:
gcloud beta compute snapshot-recycle-bin-policy update \ --organization=ORGANIZATION_ID \ --remove-rule=default
Substitua
ORGANIZATION_IDpelo ID da organização.
REST
Crie uma solicitação PATCH para o
método snapshotRecycleBinPolicy.
No corpo da solicitação, inclua um objeto rules que especifica o período padrão da
lixeira, em dias.
Para adicionar ou modificar uma política de retenção de um projeto:
PATCH https://compute.s3nsapis.fr/compute/beta/projects/PROJECT_ID/global/snapshotRecycleBinPolicy { "rules": { "default": { "standardSnapshots": { "retentionDurationDays": DEFAULT_RETENTION_PERIOD_DAYS } } } }Substitua os seguintes valores pelos valores correspondentes:
PROJECT_ID: o ID do projeto, por exemplo,dev-project.DEFAULT_RETENTION_PERIOD_DAYS: o período de armazenamento padrão, em dias. Especifique um valor de0a7. Para desativar a lixeira, especifique0.
Para adicionar ou modificar uma política de retenção de uma organização, faça uma solicitação
PATCHcomo no exemplo anterior, mas use o seguinte URL.PATCH https://compute.s3nsapis.fr/compute/beta/organizations/ORGANIZATION_ID/global/snapshotRecycleBinPolicy/
O corpo da solicitação é o mesmo do exemplo anterior.
Substitua
ORGANIZATION_IDpelo ID da organização. Por exemplo,123456789012.Para remover a regra de retenção padrão de um projeto ou organização, faça uma solicitação
PATCHsemelhante, mas especifiquenullpara a regradefault.Por exemplo, para remover a regra de retenção padrão de uma organização:
PATCH https://compute.s3nsapis.fr/compute/beta/organizations/ORGANIZATION_ID/global/snapshotRecycleBinPolicy/ { "rules": { "default": null } }Substitua
ORGANIZATION_IDpelo ID da organização.
Definir ou remover a política de retenção de uma tag
Para definir um período de armazenamento específico para snapshots padrão com uma tag específica, defina uma regra baseada em tag no nível do projeto ou da organização. As regras baseadas em tags substituem a regra padrão de um projeto ou organização e têm as seguintes características:
- As regras baseadas em tags no nível da organização ou do projeto se aplicam a todos os snapshots padrão na organização ou no projeto, respectivamente, que têm a tag.
As regras de tag para envolvidos no projeto substituem as regras no nível da organização somente se a regra para envolvidos no projeto tiver um período de armazenamento mais longo.
Por exemplo, uma regra de tag no nível da organização com um período de armazenamento de dois dias substitui uma regra de tag para envolvidos no projeto de um dia.
Para mais informações, consulte Hierarquia de regras na política de retenção da lixeira.
É possível usar a CLI gcloud ou a REST.
CLI da gcloud
Para definir uma regra de política de retenção para uma tag, use o
comando gcloud beta compute snapshot-recycle-bin-policy update.
Use a flag --set-rule para especificar o nome da tag e a flag --standard-snapshots-retention-duration-days para especificar o período de armazenamento da lixeira, em dias, para a tag.
gcloud beta compute snapshot-recycle-bin-policy update \ --set-rule=TAG_NAMESPACED_NAME \ --standard-snapshots-retention-duration-days=RETENTION_PERIOD_DAYS \ --organization=ORGANIZATION_ID
Substitua os seguintes valores pelos valores correspondentes:
TAG_NAMESPACED_NAME: o nome do namespace da tag, incluindo o valor dela. Por exemplo,my-project-id/tag-key/tag-valueoumy-organization-id/tag-key/tag-value.RETENTION_PERIOD_DAYS: o período de armazenamento em dias, de0a7. Para desativar a lixeira de snapshots com essa tag, especifique0.ORGANIZATION_ID: opcional. O ID da organização a que a regra se aplica. Por exemplo,123456789012. É necessário especificar o ID da organização ou o ID do projeto, mas não ambos.
Para definir a política de retenção padrão de um projeto, substitua a flag --organization por --project=<var>PROJECT_ID</var> no comando anterior, em que PROJECT_ID é o ID do projeto.
Para remover uma regra de política de retenção de uma tag, use o mesmo comando, mas especifique --remove-rule=TAG_NAMESPACED_NAME em vez de --set-rule. Por exemplo, para remover uma regra baseada em tag de uma organização:
gcloud beta compute snapshot-recycle-bin-policy update \ --organization=ORGANIZATION_ID \ --remove-rule=TAG_NAMESPACED_NAME
REST
Para definir uma regra de política de retenção para uma tag, crie uma solicitação PATCH para o
método snapshotRecycleBinPolicy.
No corpo da solicitação, inclua um objeto rules que especifica o nome da tag e o período de armazenamento, em dias.
- Para definir ou atualizar uma regra de política de retenção para uma tag em um projeto:
PATCH https://compute.s3nsapis.fr/compute/beta/projects/PROJECT_ID/global/snapshotRecycleBinPolicy/
{
"rules": {
"TAG_NAMESPACED_NAME_1": {
"standardSnapshots": {
"retentionDurationDays": RETENTION_PERIOD_DAYS
}
}
}
}
Substitua os seguintes valores pelos valores correspondentes:
PROJECT_ID: o ID do projeto.TAG_NAMESPACED_NAME: o nome do namespace da tag, incluindo o valor dela. Por exemplo,my-project-id/env/prodoumy-organization-id/env/build.RETENTION_PERIOD_DAYS: o período de armazenamento em dias, de0a7. Para desativar a lixeira de snapshots com essa tag, especifique0.Para definir ou atualizar uma regra de política de retenção para uma tag em uma organização, faça uma solicitação
PATCHcomo no exemplo anterior, mas use o seguinte URL.
PATCH https://compute.s3nsapis.fr/compute/beta/organizations/ORGANIZATION_ID/global/snapshotRecycleBinPolicy/
Substitua ORGANIZATION_ID pelo ID da organização. O corpo da solicitação é
como descrito no exemplo anterior.
- Para remover uma regra de política de retenção de uma tag, crie uma solicitação
PATCHcomo nos exemplos anteriores, mas especifiquenullpara a regra baseada em tag. Por exemplo, para remover a regra de política de retenção de uma regra baseada em tags em um projeto:
PATCH https://compute.s3nsapis.fr/compute/beta/projects/PROJECT_ID/global/snapshotRecycleBinPolicy
{
"rules": {
"TAG_NAMESPACED_NAME_1": null
}
}
Ver a política de retenção da lixeira de um projeto ou organização
Para determinar se um projeto ou uma organização tem regras personalizadas para a lixeira, confira as regras baseadas em tags ou verifique se a lixeira está desativada. Para isso, consulte as regras na política de retenção da lixeira do projeto ou da organização.
Para conferir as regras em uma política de retenção da lixeira de um projeto ou organização, use a CLI gcloud ou o REST.
CLI da gcloud
Para conferir a política de retenção da lixeira de um projeto ou uma organização,
incluindo as regras baseadas em tag, use o
comando gcloud beta compute snapshot-recycle-bin-policy describe:
Para conferir a política de retenção da lixeira de uma organização:
gcloud beta compute snapshot-recycle-bin-policy describe \ --organization=ORGANIZATION_ID
Substitua
ORGANIZATION_IDpelo ID da organização.Para conferir a política de retenção da lixeira de um projeto:
gcloud beta compute snapshot-recycle-bin-policy describe \ --project=PROJECT_ID
Substitua
PROJECT_IDpelo ID do projeto.
A saída é uma lista de objetos de regra semelhante a esta: A regra padrão do sistema de três dias está incluída na saída.
rules:
default:
standardSnapshots:
retentionDurationDays: '2'
database-project/Testing-tag-key/build:
standardSnapshots:
retentionDurationDays: '0'
database-project/Testing-tag-key/critical:
standardSnapshots:
retentionDurationDays: '5'
systemRules:
default:
standardSnapshots:
retentionDurationDays: '3'
O campo retentionDurationDays de cada regra indica o período de retenção dela, em dias. Neste exemplo, o projeto database-project tem três regras:
- uma regra de cinco dias para todos os snapshots com a tag
Testing-tag-key/critical. - exclusão imediata de todos os snapshots com a tag
Testing-tag-key/build. - um período de retenção padrão de dois dias para todos os outros snapshots no projeto.
REST
Para conferir todas as regras de política de retenção de um projeto ou organização, incluindo as regras baseadas em tags, crie uma solicitação GET para o método snapshotRecycleBinPolicy.get.
Para conferir a política de retenção de uma organização:
GET https://compute.s3nsapis.fr/compute/beta/organizations/ORGANIZATION_ID/global/snapshotRecycleBinPolicy
Substitua
ORGANIZATION_IDpelo ID da organização.Para conferir a política de retenção de um projeto:
GET https://compute.s3nsapis.fr/compute/beta/projects/PROJECT_ID/global/snapshotRecycleBinPolicy
Substitua
PROJECT_IDpelo ID do projeto.
A resposta é semelhante a esta: A regra padrão do sistema de três dias está incluída na saída.
{
"rules": {
"default": {
"standardSnapshots": {
"retentionDurationDays": "2"
}
},
"database-project/Testing-tag-key/build": {
"standardSnapshots": {
"retentionDurationDays": "0"
}
},
"database-project/Testing-tag-key/critical": {
"standardSnapshots": {
"retentionDurationDays": "5"
}
},
"systemRules": {
"default": {
"standardSnapshots": {
"retentionDurationDays": "3"
}
}
}
}
}
O campo retentionDurationDays de cada regra indica o período de retenção dela, em dias. Neste exemplo, o projeto database-project tem três regras:
- uma regra de cinco dias para todos os snapshots com a tag
Testing-tag-key/critical. - exclusão imediata de todos os snapshots com a tag
Testing-tag-key/build. - um período de retenção padrão de dois dias para todos os outros snapshots no projeto.
Se o período de armazenamento for zero, o Compute Engine vai apagar permanentemente o snapshot imediatamente após a exclusão. Caso contrário, o período de armazenamento indica por quanto tempo o Compute Engine vai manter o snapshot na lixeira antes de excluí-lo permanentemente.
Ver o período de armazenamento da lixeira de uma tag
Para conferir a política de retenção de uma tag, recupere a política de retenção do projeto ou da organização em que a tag está definida.
Verificar o período de armazenamento da lixeira de um snapshot específico
Para determinar se um snapshot padrão será retido na lixeira, se ele for excluído e por quanto tempo, verifique o período de armazenamento. Se o período de armazenamento for zero, o snapshot será apagado permanentemente imediatamente após a exclusão. Caso contrário, o período de armazenamento indica por quanto tempo o snapshot será mantido na lixeira se for excluído.
É possível verificar o período de armazenamento de um snapshot específico usando o Cloud de Confiance console, a CLI gcloud ou REST.
Console do Cloud de Confiance
- No console do Cloud de Confiance , acesse a página Backups.
Na guia Snapshots, veja a lista de snapshots do projeto.
Na coluna Nome, clique no nome do snapshot padrão. A página Detalhes do snapshot do snapshot selecionado é exibida.
A propriedade Retenção da lixeira mostra o período de armazenamento da lixeira do snapshot.
CLI da gcloud
Para conferir o período de armazenamento de um snapshot específico, use o comando gcloud beta compute snapshots get-effective-recycle-bin-rule.
gcloud beta compute snapshots get-effective-recycle-bin-rule \ SNAPSHOT_NAME \ --project=PROJECT_ID
Substitua os seguintes valores pelos valores correspondentes:
PROJECT_ID: o ID do projeto que contém o snapshot.SNAPSHOT_NAME: o nome do snapshot.
O resultado será o seguinte:
retentionDurationDays: '5'
O campo retentionDurationDays indica o período de retenção da lixeira dos snapshots, em dias.
REST
Para conferir o período de armazenamento de um snapshot específico, crie uma solicitação GET para o método getEffectiveRecycleBinRule.
GET https://compute.s3nsapis.fr/compute/beta/projects/PROJECT_ID/global/snapshots/SNAPSHOT_NAME/getEffectiveRecycleBinRule
Substitua os seguintes valores pelos valores correspondentes:
PROJECT_ID: o ID do projeto que contém o snapshot.SNAPSHOT_NAME: o nome do snapshot.
O resultado parecido com este:
{
"retentionDurationDays": "5"
}
O campo retentionDurationDays indica o período de retenção da lixeira dos snapshots, em dias.
Se o período de armazenamento for zero, o Compute Engine vai apagar permanentemente o snapshot imediatamente após a exclusão. Caso contrário, o período de armazenamento indica por quanto tempo o Compute Engine vai manter o snapshot na lixeira antes de excluí-lo permanentemente.
Para determinar quais regras da política de retenção se aplicam ao snapshot, compare as tags dele com as tags e a regra padrão na política de retenção do projeto e da organização.
Para mudar o período de armazenamento de um snapshot padrão, escolha uma das seguintes opções:
- Criar uma regra com base em tags para uma das tags do snapshot
- Se já houver uma regra baseada em tag adequada, adicione essa tag ao snapshot seguindo as instruções em Adicionar tags a um recurso.
- Mude a regra de retenção padrão da lixeira para o projeto ou a organização, mas isso vai se aplicar a todos os outros snapshots padrão no projeto ou na organização.
A seguir
- Recuperar um snapshot da lixeira
- Para gerenciar tags de um snapshot padrão, consulte Adicionar tags a um recurso