A frequência de acesso aos dados diminui com o tempo. O gerenciamento de ciclo de vida permite criar regras que transicionam objetos automaticamente para classes de armazenamento de custo mais baixo (como Infrequent Access ou Archive) ou os excluem após um período especificado, reduzindo custos de armazenamento sem intervenção manual.
Como funciona
O gerenciamento de ciclo de vida usa regras definidas pelo usuário para automatizar operações em objetos de um bucket. O OSS carrega uma nova regra em até 24 horas após a criação. Após o carregamento, o OSS executa as regras correspondentes em um horário fixo diário, geralmente após as 00:00 (UTC) do dia seguinte (08:00 UTC+8).
Uma regra de ciclo de vida consiste em três partes principais:
-
Objetos a serem gerenciados: filtre os objetos de destino por prefixo do objeto (Prefix), tag do objeto (Tag) ou tamanho do objeto (ObjectSize).
As regras de ciclo de vida não aceitam caracteres curinga, correspondência por sufixo ou expressões regulares.
-
Ações a serem executadas: defina o que fazer com os objetos filtrados:
Transição de classe de armazenamento (Transition): migre objetos para classes de armazenamento de custo mais baixo, como Infrequent Access, Archive ou Cold Archive.
Expiração e exclusão (Expiration): exclua objetos após atingirem um período de ciclo de vida especificado.
Limpeza de fragmentos (AbortMultipartUpload): exclua automaticamente partes de uploads multipart incompletos após um tempo especificado.
-
Políticas de acionamento: defina quando as ações são acionadas:
Hora da última modificação (Last-Modified-Time): transicione ou exclua objetos com base na hora da última modificação. Indicado para dados com um ciclo de vida claro, como logs e backups.
Hora do último acesso (Last-Access-Time): após ativar o rastreamento de acesso, transicione objetos com base na hora do último acesso. Indicado para padrões de acesso imprevisíveis (como uma biblioteca de materiais). Os dados frios são rebaixados automaticamente e restaurados ao serem acessados.
Todos os parâmetros configuráveis estão documentados em Lifecycle configuration elements.
Cenários de configuração
Limpar automaticamente arquivos de log expirados
Os servidores enviam logs diariamente para um diretório designado. Use uma regra baseada na hora da última modificação para delete all objects in a bucket after a specified number of days, liberando espaço de armazenamento e reduzindo custos.
Usar classificação automática em camadas para dados quentes e frios
Para dados com frequência de acesso incerta (imagens de site, vídeos, documentos), ative o rastreamento de acesso e use a lifecycle rule based on the last access time to implement intelligent data tiering. O sistema migra dados frios para classes de armazenamento de custo mais baixo com base nos padrões de acesso reais.
Limpar automaticamente versões anteriores
Com o versionamento ativado, o OSS salva substituições e exclusões como versões anteriores. Quando um bucket acumula muitas versões anteriores ou marcadores de exclusão expirados, use a lifecycle rule based on the last modified time together with versioning to reduce storage costs. Essa prática reduz custos e melhora o desempenho da listagem de objetos.
Limpar automaticamente fragmentos de uploads multipart
Uploads multipart interrompidos deixam partes não mescladas, que continuam gerando cobranças. Configure uma regra de ciclo de vida para clean up incomplete parts after a specified time.
Além dos cenários anteriores, é possível implementar políticas de gerenciamento de dados mais refinadas. Para obter mais informações, consulte Lifecycle configuration examples. Combine diferentes regras e gerencie os dados no seu bucket de forma refinada conforme a necessidade.
Várias regras de ciclo de vida
O uso de várias regras de ciclo de vida depende de dois mecanismos: prioridade de execução da regra e mecanismo de substituição de configuração.
Prioridade de execução da regra
Um bucket pode ter várias regras de ciclo de vida independentes. Quando um objeto corresponde a várias regras, o sistema determina a ação final com base em todos os resultados correspondentes.
Quando várias regras correspondem simultaneamente ao mesmo objeto, o OSS as executa na seguinte ordem de prioridade: Delete Object > Transition to Deep Cold Archive > Transition to Cold Archive > Transition to Archive > Transition to Infrequent Access > Transition to Standard.
A ação de exclusão sempre tem prioridade maior que as transições de classe de armazenamento. Defina o prazo das regras de exclusão como maior que o das regras de transição. Isso evita a exclusão dos objetos antes da conclusão da transição.
Exemplo de execução
Suponha que você especifique as duas regras de ciclo de vida a seguir e que ambas correspondam ao mesmo objeto.
Regra 1: especifica que objetos modificados pela última vez há mais de 365 dias são migrados para a classe de armazenamento Infrequent Access.
Regra 2: especifica que objetos modificados pela última vez há mais de 365 dias são excluídos.
Resultado: o OSS excluirá o objeto correspondente mais de 365 dias após a hora da sua última modificação.
Mecanismo de substituição de configuração
O console faz a mesclagem automaticamente, o que evita substituições acidentais. No entanto, ao usar o ossutil, SDKs ou a API, cada chamada PutBucketLifecycle substitui completamente todas as configurações de ciclo de vida existentes. O envio de uma nova regra sem incluir as existentes resulta na exclusão das regras anteriores.
Exemplo
Para adicionar uma nova regra às regras existentes, execute as seguintes etapas:
Recupere todas as regras de ciclo de vida em vigor no momento (por exemplo, Regra 1).
Adicione a nova regra (por exemplo, Regra 2).
Envie a configuração completa que inclui todas as regras (Regra 1 + Regra 2).
Observação: se você enviar apenas a configuração contendo a nova regra (Regra 2) sem incluir a regra existente (Regra 1), o OSS excluirá a Regra 1, que deixará de vigorar.
Implantação em produção
Para implantar o gerenciamento de ciclo de vida com segurança em produção:
Teste antes de implantar: crie regras primeiro em um bucket de teste. Verifique o comportamento antes de aplicá-las à produção.
Use regras de exclusão com cautela: defina o prefixo com precisão para evitar a exclusão acidental de dados importantes.
Ative o versionamento como proteção: para dados críticos, ative o versionamento para que você possa recuperar objetos excluídos acidentalmente por uma regra de ciclo de vida a partir de uma versão anterior.
-
Use transições em níveis para evitar taxas extras: certifique-se de que o tempo de acionamento de cada estágio subsequente exceda a soma do tempo de acionamento do estágio anterior e sua duração mínima de armazenamento. Isso evita cobranças por transições prematuras.
Exemplo incorreto: Standard
10 days-> Infrequent Access5 days-> Archive Storage5 days. Essa configuração resulta no armazenamento do objeto Archive por apenas 20 dias (< 60 days), o que gera taxas de capacidade por armazenamento Archive inferior à duração especificada.Exemplo correto: Standard
30 days-> Infrequent Access90 days-> Archive Storage. O objeto permanece em IA por 60 dias (atendendo ao mínimo de 30 dias) antes de migrar para Archive no dia 90.
Faturamento
A configuração de regras de ciclo de vida é gratuita. A cobrança de taxas ocorre quando as regras são executadas e alteram o estado de armazenamento.
-
Taxas de solicitação: cada transição de classe de armazenamento, exclusão de objeto ou exclusão de parte gera uma solicitação do tipo
Put. A cobrança ocorre por solicitação. Os detalhes de faturamento estão em Lifecycle fee description.Para buckets com muitos arquivos pequenos, as taxas de solicitação podem ser significativas. Avalie os custos antes de configurar as regras.
-
Taxas de armazenamento: após a transição, a cobrança dos objetos ocorre com base na taxa da nova classe de armazenamento.
ImportanteClasses de armazenamento como Infrequent Access, Archive e Cold Archive têm requisitos de duração mínima de armazenamento (por exemplo, 30 dias para Infrequent Access e 60 dias para Archive). Se uma regra de ciclo de vida excluir ou migrar um objeto antes que a duração mínima de armazenamento seja atingida, haverá cobrança pelo período de armazenamento restante. Para evitar conditional capacity fees for storage shorter than the specified duration devido a transições ou exclusões, consulte How do I avoid capacity fees for storage shorter than the specified duration?. Certifique-se de que a duração mínima de armazenamento seja atendida antes de migrar ou excluir o objeto.
-
Taxas de recuperação de dados: as regras de ciclo de vida em si não geram taxas de recuperação de dados. No entanto, acessar objetos em classes de armazenamento como Infrequent Access ou Archive gera taxas de recuperação.
A leitura direta de um objeto IA gera taxas de recuperação de dados.
A leitura de um objeto Archive gera taxas de capacidade de recuperação de dados para acesso em tempo real.
A restauração de um objeto Archive gera taxas de solicitação do tipo Put e taxas de capacidade de recuperação.
A restauração de um objeto Cold Archive ou Deep Cold Archive gera taxas de solicitação de recuperação, taxas de capacidade de recuperação e taxas de capacidade restaurada temporária.
ImportantePara objetos Cold Archive e Deep Cold Archive, a taxa varia dependendo da prioridade de recuperação escolhida. Quanto maior a prioridade, maior a taxa.



