O S3 é barato por GB, mas não apaga nada por conta própria. As cópias noturnas de há três anos, as versões anteriores de cada ficheiro, os carregamentos que se cortaram a meio: tudo continua lá, a ocupar e a ser cobrado. Uma regra de ciclo de vida é uma norma automática que diz ao bucket uma única vez: "o que tiver mais de 90 dias, apaga-o" ou "o que estiver 30 dias sem ser tocado, passa-o para o armazenamento barato". A partir daí, o S3 fá-lo todos os dias sem que ninguém se lembre.
Antes de começar: o que significa cada coisa
- Bucket e objeto
- O bucket é a pasta raiz do S3; cada ficheiro guardado é um objeto.
- Regra de ciclo de vida
- Uma norma automática do bucket: passado certo tempo, apagar ou mover os objetos que cumpram uma condição.
- Prefixo
- O início do nome dos objetos a que a regra se aplica, por exemplo "copias/". Assim uma regra pode afetar uma pasta e não outra.
- Versão atual e versões anteriores
- Com o controlo de versões ativo, cada alteração ou eliminação guarda a versão anterior. As anteriores ocupam espaço e são as primeiras candidatas a limpar.
- Marcador de eliminação
- O que fica quando apaga um ficheiro num bucket com versões: o ficheiro parece ter desaparecido mas as suas versões continuam lá.
- Carregamento multiparte incompleto
- Um carregamento grande que se cortou a meio. Os seus pedaços ficam a ocupar espaço invisível até que algo os limpe.
- Classes de armazenamento
- O S3 tem várias "gavetas" com preços diferentes: a padrão, a de acesso pouco frequente (mais barata para guardar, com custo por ler) e as de arquivo (muito baratas, mas demoram a devolver o ficheiro).
Passo a passo
Decida o que quer que aconteça e quando
Três perguntas: durante quanto tempo precisa de conservar as cópias? (90 dias costuma ser razoável; um ano se houver obrigação legal). Quantas versões anteriores de um ficheiro quer poder recuperar? (30 dias de versões anteriores dá margem de sobra para uma eliminação acidental). Há ficheiros que quase nunca são lidos mas têm de ser guardados? (candidatos ao armazenamento barato). Aponte as respostas: são os números da regra.
Abra as regras do bucket
Consola do S3, entre no bucket, separador Gestão, Criar regra de ciclo de vida. Dê-lhe um nome que diga o que faz (
limpiar-copias-90-dias).Escolha a que se aplica
Se quiser que se aplique a todo o bucket, marque Aplicar a todos os objetos. Se só a uma pasta, escolha Limitar o âmbito com filtros e escreva o prefixo (
copias/, com a barra final). Pode criar várias regras com prefixos diferentes: uma para cópias, outra para registos, e deixar intactas as pastas que devem conservar-se para sempre.Marque as ações
Para uma pasta de cópias, o normal é marcar:
- Expirar as versões atuais dos objetos: 90 dias desde a sua criação. Isto apaga as cópias antigas.
- Eliminar permanentemente as versões não atuais: 30 dias depois de passarem a não atuais. Isto limpa as versões anteriores e o que foi apagado.
- Eliminar marcadores de eliminação expirados e eliminar carregamentos multiparte incompletos aos 7 dias. Isto limpa o lixo invisível e devia estar em todos os buckets.
Se em vez de apagar quiser baratear, marque Mover as versões atuais entre classes de armazenamento: para Acesso pouco frequente aos 30 dias e, se se tratar de arquivo de longa duração, para uma classe de arquivo aos 90. Atenção: as classes de arquivo demoram horas a devolver o ficheiro e cobram por recuperá-lo.
Reveja e guarde
O ecrã final resume numa linha de tempo o que acontece a cada objeto aos 7, 30 e 90 dias. Leia-a devagar: uma regra de "expirar aos 90 dias" aplicada a todo o bucket apagará também o que queria conservar. Se o resumo diz o que esperava, Criar regra.
Confirme ao fim de uns dias
As regras executam-se uma vez por dia, de madrugada, e a primeira passagem pode demorar mais de um dia a notar-se. No separador Métricas do bucket verá o tamanho total a descer. Se tiver muitos objetos, ative o inventário ou veja no Cost Explorer o custo do S3 nas semanas seguintes: deve descer e estabilizar.
O que pode correr mal
Apagou-se algo que queria conservar
Se o bucket tinha controlo de versões e as versões anteriores ainda não expiraram, recupere-as (mostrar versões e restaurar). Se não, perdeu-se. Lição: regra por prefixo, não para todo o bucket, e um teste primeiro numa pasta pequena.
O tamanho não desce
Se o bucket tem versões e só marcou "expirar versões atuais", os ficheiros transformaram-se em versões anteriores, que continuam a ocupar. Acrescente a ação de eliminar versões não atuais. E dê-lhe um par de dias.
Recuperar um ficheiro de arquivo demora horas
É o que têm as classes de arquivo: muito baratas para guardar, lentas e com custo por recuperar. Use-as só para o que quase de certeza não vai precisar; o resto, em acesso pouco frequente.
Tenho dezenas de buckets e não sei quais crescem
Na consola do S3, a lista não mostra o tamanho. O Cost Explorer agrupado por tipo de utilização do S3, ou o painel S3 Storage Lens (gratuito na versão básica), dizem-lhe que buckets ocupam mais.
No Simplio
No Simplio cada bucket mostra o seu tamanho e quanto cresceu este mês, para todas as suas contas, e avisa-o se um crescer de repente. A limpeza automática põe-se em dois campos ("conservar cópias tantos dias, versões anteriores tantos") e o Simplio cria a regra de ciclo de vida correta, com a limpeza de carregamentos incompletos sempre incluída.
O mesmo, na AWS e no Simplio
| Na consola da AWS | No Simplio | |
|---|---|---|
| Pôr uma regra de limpeza | Consola do S3, separador Gestão, 5 ecrãs de opções técnicas | No bucket: "conservar cópias 90 dias, versões 30" em dois campos |
| Saber que bucket cresce | Cost Explorer ou Storage Lens | Tamanho e variação mensal de cada bucket na lista, com aviso se um crescer de repente |
| Várias contas | Bucket a bucket, conta a conta | Todos os buckets de todas as contas num só ecrã |