Por que a regra do ciclo de vida no meu bucket do Amazon S3 não está funcionando mesmo que eu a tenha aplicado há mais de um dia?

5 minuto de leitura
0

Eu defini uma regra de configuração do ciclo de vida no meu bucket do Amazon Simple Storage Service (Amazon S3) para fazer a transição de objetos para outra classe de armazenamento ou objetos expirados. No entanto, os objetos não mudaram de acordo com a regra.

Resolução

Isso acontece quando há um atraso entre o cumprimento da regra do ciclo de vida e a conclusão da ação da regra. As alterações no faturamento são aplicadas quando a regra do ciclo de vida é cumprida, mesmo que a ação não esteja concluída.

Exemplo:

  • se você tiver uma regra de ciclo de vida para a expiração do objeto, não haverá cobrança pelo armazenamento após o prazo de expiração. Isso é aplicável mesmo que o objeto não tenha expirado imediatamente.
  • Uma regra de ciclo de vida para fazer a transição de objetos para a classe de armazenamento GLACIER cobra as taxas de armazenamento do Amazon S3 Glacier quando o tempo de transição do objeto termina. Isso ocorre mesmo que o objeto não seja imediatamente transferido para a classe de armazenamento GLACIER.
    Observação: se você definir uma transição do ciclo de vida para a classe de armazenamento INTELLIGENT_TIERING, as alterações no faturamento não ocorrerão até que o objeto faça a transição para a classe de armazenamento INTELLIGENT_TIERING. Isso é uma exceção.

O ciclo de vida do S3 é executado somente uma vez por dia. Além disso, o Amazon S3 arredonda a data de transição ou expiração de um objeto para a meia-noite UTC do dia seguinte. Por exemplo, você cria um objeto em 1/1/2020 às 10h30 UTC com uma regra de ciclo de vida para fazer a transição do objeto após 3 dias. Para esse objeto, a data de transição é 5/1/2020 às 00h UTC. Antes de verificar se uma regra de ciclo de vida é cumprida, certifique-se de verificar se passou tempo suficiente.

Se tiver decorrido tempo suficiente e sua regra de ciclo de vida não for cumprida, verifique se você definiu corretamente o filtro de prefixo para objetos na regra de ciclo de vida.

Importante:

  • se você não especificar um filtro de prefixo na regra de ciclo de vida, a regra será aplicada a todos os objetos no bucket.
  • Se você especificar um filtro de prefixo como images/, a regra do ciclo de vida será aplicada a todos os objetos sob o prefixo images/.
    Observação: certifique-se de especificar o caractere / no final do filtro de prefixo. Se você especificar o caractere / no início do filtro de prefixo, a regra do ciclo de vida não será avaliada corretamente.

Você pode usar a API HeadObject ou o console do Amazon S3 para verificar quando um objeto da versão atual está programado para expirar.

Observação: se você receber erros ao executar comandos da AWS Command Line Interface (AWS CLI), certifique-se de estar usando a versão mais recente da AWS CLI.

Execute o seguinte comando da AWS CLI para saber quando o objeto expira:

$ aws s3api head-object --bucket bucketname --key file.txt

A saída é semelhante à seguinte:

 {  
 "AcceptRanges": "bytes",  
 "Expiration": "expiry-date=\"Wed, 15 Mar 2023 00:00:00 GMT\", rule-id=\"MyExpirationRule\"",  
 "LastModified": "2023-02-22T17:20:34+00:00",  
 "ContentLength": 6,  
 "ETag": "\"edae42exa0d2b93b123346740107dacf\"",  
 "VersionId": "SoshCRUrlabc1v4ZzYEA123PvWcaeF6F",  
 "ContentType": "text/plain",  
 "ServerSideEncryption": “AES256”,  
 "Metadata": {}  
}

O cabeçalho da resposta de Expiração informa a expiry-date e o rule-id. O campo expiry-date indica a data em que o Amazon S3 coloca o objeto em fila para remoção e remove o objeto de forma assíncrona. O campo rule-id indica a regra do ciclo de vida aplicada ao objeto.

Para usar o console do Amazon S3 para verificar a data de expiração de um objeto, conclua as seguintes etapas:

  1. Abra o console do Amazon S3.
  2. Na lista Buckets, escolha o nome do seu bucket.
  3. Escolha o nome do objeto que você deseja verificar.
  4. Escolha a guia Propriedades.
  5. Na seção Visão geral do gerenciamento de objetos, em Configurações de gerenciamento, revise os campos Regra de expiração e Data de expiração.

O campo Data de expiração indica a data em que o Amazon S3 coloca o objeto em fila para remoção e remove o objeto de forma assíncrona. O campo Regra de expiração indica a regra do ciclo de vida aplicada ao objeto.

Observação: somente objetos da versão atual retornam o cabeçalho da resposta de Expiração para solicitações HEAD ou GET. As versões anteriores e os marcadores de exclusão não retornam esse cabeçalho de resposta. Além disso, você não recebe cabeçalhos de resposta para objetos que são elegíveis para transições.

Você pode usar os painéis do S3 Storage Lens para monitorar o progresso das regras ativas do ciclo de vida e as atualizações feitas pelas regras do ciclo de vida.

Informações relacionadas

Como definir a configuração do ciclo de vida em um bucket

AWS OFICIAL
AWS OFICIALAtualizada há um ano