Solução de problemas do ciclo de vida do Amazon S3 - Amazon Simple Storage Service

Solução de problemas do ciclo de vida do Amazon S3

As informações a seguir podem ajudar você a solucionar problemas comuns com as regras de ciclo de vida do Amazon S3.

Executei uma operação de lista no bucket e vi objetos que achei que estavam expirados ou que tinham sido transferidos de acordo com uma regra de ciclo de vida.

As transições de objetos e as expirações de objetos do ciclo de vida do S3 são operações assíncronas. Portanto, pode haver um atraso entre o momento em que os objetos são elegíveis para expiração ou transição e o momento em que eles realmente são transferidos ou expirados. As alterações no faturamento são aplicadas assim que a regra do ciclo de vida é cumprida, mesmo que a ação não seja concluída. A única exceção a esse comportamento é se você tiver uma regra de ciclo de vida definida para transição à classe de armazenamento S3 Intelligent-Tiering. Nesse caso, as alterações no faturamento não acontecerão até que o objeto tenha feito a transição para o S3 Intelligent-Tiering. Para obter mais informações sobre mudanças no faturamento, consulte Definir a configuração do ciclo de vida em um bucket.

nota

O Amazon S3 não faz a transição de objetos com menos de 128 KB da classe de armazenamento S3 Standard ou S3 Standard-IA para a classe de armazenamento S3 Intelligent-Tiering, S3 Standard-IA ou S3 One Zone-IA.

Como monitorar as ações realizadas pelas minhas regras de ciclo de vida?

Para monitorar as ações realizadas por regras de ciclo de vida, use os seguintes recursos:

  • Notificações de eventos do S3: é possível configurar notificações de eventos do S3 para receber notificações sobre qualquer evento de transição ou expiração do ciclo de vida do S3.

  • Logs de acesso ao servidor do S3: é possível habilitar logs de acesso ao servidor para os buckets do S3 a fim de capturar ações relacionadas ao ciclo de vida do S3, como transições de objetos para outra classe de armazenamento e expirações de objeto. Para obter mais informações, consulte Ciclo de vida e log.

Para visualizar diariamente as mudanças em seu armazenamento causadas pelas ações do ciclo de vida, recomendamos usar os painéis da Lente de Armazenamento do S3 em vez de usar as métricas do Amazon CloudWatch. No painel da Lente de Armazenamento, é possível visualizar as seguintes métricas, que monitoram a quantidade ou tamanho do objeto:

  • Bytes da versão atual

  • Contagem de objetos da versão atual

  • Bytes de versão não atual

  • Número de objetos de versões não atuais

  • Contagem de objetos do marcador de exclusão

  • Bytes de armazenamento do marcador de exclusão

  • Bytes de uploads incompletos de várias partes

  • Contagem de objetos de multipart upload incompletos

Minha quantidade de objetos do S3 ainda aumenta, mesmo depois de configurar as regras do ciclo de vida em um bucket com versionamento ativado.

Quando um objeto está expirado em um bucket com versionamento habilitado, ele não é completamente excluído do bucket. Em vez disso, um marcador de exclusão é criado como a versão mais recente do objeto. Os marcadores de exclusão ainda são contados como objetos. Portanto, se uma regra de ciclo de vida for criada para expirar somente nas versões atuais, a contagem de objetos no bucket do S3 realmente aumentará em vez de diminuir.

Por exemplo, digamos que um bucket do S3 tenha o versionamento ativado com 100 objetos, e uma regra de ciclo de vida esteja configurada para expirar as versões atuais do objeto após sete dias. Após o sétimo dia, a quantidade de objetos aumenta para 200 porque 100 marcadores de exclusão são criados além dos 100 objetos originais, que agora são as versões não atuais. Para obter mais informações sobre as ações da regra de configuração do ciclo de vida do S3 para buckets com versionamento ativado, consulte Definir a configuração do ciclo de vida em um bucket.

Para remover objetos permanentemente, adicione uma configuração de ciclo de vida adicional para excluir as versões anteriores dos objetos, os marcadores de exclusão expirados e os uploads incompletos de várias partes. Para obter instruções sobre como criar regras de ciclo de vida, consulte Definir a configuração do ciclo de vida em um bucket.

nota
  • O Amazon S3 arredonda a data de transição ou expiração de um objeto para a meia-noite UTC do dia seguinte.

    Ao avaliar objetos com relação às ações do ciclo de vida, o Amazon S3 usa o horário de criação do objeto em UTC. Por exemplo, considere um bucket sem versionamento com uma regra de ciclo de vida configurada para expirar objetos após um dia. Suponha que um objeto tenha sido criado em 1.º de janeiro às 17h05, Horário de Verão do Pacífico (PDT), que corresponde a 2 de janeiro às 0h05 UTC. O objeto tem um dia de vida às 0h05 UTC de 3 de janeiro, o que o torna elegível para expiração quando o ciclo de vida do S3 avalia os objetos às 0h00 UTC de 4 de janeiro.

    Como as ações do ciclo de vida do Amazon S3 ocorrem de forma assíncrona, pode haver algum atraso entre a data especificada na regra do ciclo de vida e a transição física real do objeto. Consulte mais informações em Atraso na transição ou na expiração.

    Para obter mais informações, consulte Regras de ciclo de vida: com base na idade de um objeto.

  • Para objetos S3 protegidos pelo bloqueio de objetos, as versões atuais não são excluídas permanentemente. Em vez disso, um marcador de exclusão é adicionado aos objetos, tornando-os não atuais. As versões não atuais são então preservadas e não expiram permanentemente.

Como esvaziar meu bucket do S3 usando regras de ciclo de vida?

As regras do ciclo de vida do S3 são uma ferramenta eficaz para esvaziar um bucket do S3 com milhões de objetos. Para excluir um grande número de objetos do bucket do S3, use estes dois pares de regras de ciclo de vida:

  • Expire as versões atuais dos objetos e Exclua permanentemente as versões anteriores dos objetos

  • Exclua marcadores de exclusão expirados e Exclua uploads incompletos de várias partes

Para ver as etapas de como criar regras de configuração de ciclo de vida, consulte Definir a configuração do ciclo de vida em um bucket.

nota

Para objetos S3 protegidos pelo bloqueio de objetos, as versões atuais não são excluídas permanentemente. Em vez disso, um marcador de exclusão é adicionado aos objetos, tornando-os não atuais. As versões não atuais são então preservadas e não expiram permanentemente.

Minha fatura do Amazon S3 aumentou após a transição de objetos para uma classe de armazenamento de menor custo.

Há vários motivos pelos quais sua fatura pode aumentar após a transição de objetos para uma classe de armazenamento de menor custo:

  • Sobrecarga do S3 Glacier cobra por objetos pequenos

    Para cada objeto que é transferido para o S3 Glacier Flexible Retrieval ou S3 Glacier Deep Archive, uma sobrecarga total de 40 KB é associada a essa atualização de armazenamento. Como parte da sobrecarga de 40 KB, 8 KB são usados para armazenar os metadados e o nome do objeto. Esses 8 KB são cobrados de acordo com as tarifas do S3 Standard. Os 32 KB restantes são usados para indexação e metadados relacionados. Esses 32 KB são cobrados de acordo com os preços do S3 Glacier Flexible Retrieval ou S3 Glacier Deep Archive.

    Portanto, se você estiver armazenando muitos objetos menores, não recomendamos o uso de transições de ciclo de vida. Em vez disso, para reduzir as despesas adicionais, considere a possibilidade de agregar vários objetos menores em um número menor de objetos grandes antes de armazená-los no Amazon S3. Para obter mais informações sobre as considerações de custo, consulte Transição para as classes de armazenamento S3 Glacier Flexible Retrieval e S3 Glacier Deep Archive (arquivamento de objetos).

  • Cobranças de armazenamento mínimo

    Algumas classes de armazenamento do S3 têm requisitos mínimos de duração de armazenamento. Os objetos que são excluídos, substituídos ou transferidos dessas classes antes que a duração mínima seja cumprida recebem uma cobrança proporcional de taxa de exclusão ou transição antecipada. Esses requisitos de duração mínima de armazenamento são os seguintes:

    • S3 Standard-IA e S3 One Zone-IA: 30 dias

    • S3 Glacier Flexible Retrieval e S3 Glacier Instant Retrieval: 90 dias

    • S3 Glacier Deep Archive: 180 dias

    Para obter mais informações sobre esses requisitos, consulte a seção Restrições de Transição de objetos usando o ciclo de vida do S3. Para obter informações gerais sobre preços do S3, consulte Preços do Amazon S3 e a Calculadora de preços da AWS.

  • Custos de transição do ciclo de vida

    Cada vez que um objeto é transferido para uma classe de armazenamento diferente por uma regra de ciclo de vida, o Amazon S3 considera essa transição como uma solicitação de transição. Os custos dessas solicitações de transição são adicionais aos custos dessas classes de armazenamento. Se você pretende fazer a transição de um grande número de objetos, considere os custos de solicitação ao fazer a transição para um nível mais baixo. Para obter mais informações, consulte Definição de preço do Amazon S3.

Eu atualizei minha política de bucket, mas meus objetos do S3 ainda estão sendo excluídos pelas regras de ciclo de vida expiradas.

As declarações Deny em uma política de bucket não evitam a expiração dos objetos definidos em uma regra de ciclo de vida. As ações do ciclo de vida (como transições ou expirações) não usam a operação DeleteObject do S3. Em vez disso, as ações do ciclo de vida do S3 são executadas usando endpoints internos do S3. (Para obter mais informações, consulte Ciclo de vida e log.)

Para evitar que a regra de ciclo de vida realize qualquer ação, você deve editar, excluir ou desativar a regra.

Posso recuperar objetos do S3 que expiraram pelas regras do ciclo de vida do S3?

A única maneira de recuperar objetos que expiraram pelo ciclo de vida do S3 é por meio do versionamento, que deve estar em vigor antes que os objetos se tornem elegíveis para expiração. Você não pode desfazer as operações de expiração que são executadas pelas regras do ciclo de vida. Se os objetos forem excluídos permanentemente pelas regras de ciclo de vida do S3 em vigor, você não poderá recuperá-los. Para ativar o versionamento em um bucket, consulte Usando o versionamento em buckets do S3.

Se você aplicou o versionamento ao bucket e as versões não atuais dos objetos ainda estão intactas, é possível restaurar as versões anteriores dos objetos expirados. Para obter mais informações sobre o comportamento das ações e os estados de versionamento do ciclo de vida do S3, consulte a tabela de estados de Ações de ciclo de vida e estado de versionamento do bucket em Elementos de configuração do ciclo de vida.

nota

Se o bucket do S3 estiver protegido pelo AWS Backup ou pela Replicação do S3, você também poderá usar esses recursos para recuperar os objetos expirados.