ECS: As versões da política de ciclo de vida do objeto não estão expirando

Summary: Política de ciclo de vida do objeto configurada pelo usuário e com a opção "Expiration" para excluir automaticamente os objetos. Mas, como o bucket tem o controle de versão ativado, as versões não atuais não estão sendo excluídas. ...

This article applies to This article does not apply to This article is not tied to any specific product. Not all product versions are identified in this article.

Symptoms


Nota: O problema abaixo não se aplica aos buckets suspensos ou desativados para controle de versão.

1. Em um bucket habilitado para versão, uma política de ciclo de vida é definida, como no exemplo abaixo, para expirar os objetos. A política foi configurada para expirar automaticamente e excluir objetos após um dia.

<?xml version="1.0" ?>
<LifecycleConfiguration xmlns="http://s3.companyaws.com/doc/2006-03-01/">
<Rule>
<ID>Expire Objects</ID>
<Prefix/>
<Status>Enabled</Status>
<Expiration>
<Days>1</Days>
</Expiration>
</Rule>
</LifecycleConfiguration>


2. Para objetos que nunca tiveram versões criadas, a política de expiração de objeto acima resulta em um marcador de exclusão inserido no para substituir o objeto atual. E, portanto, o objeto atual se torna uma versão não atual em vez de ser excluído

Exemplo:
Antes que a política seja atendida, há um objeto e é o mais recente

[VERSION_ID]: 1558539564138 [IS_LATEST]: true  [MTIME]: 2019-05-22T15:39:24.138Z [SIZE]: 54270        [OBJECT]: sample.object


Depois que a política for correspondida (após um dia), a expiração ocorrerá, mas o objeto se transformará em uma versão não atual e um dmarker será inserido como o objeto mais recente. 
 

[VERSION_ID]: 1558539371262 [IS_LATEST]: false [MTIME]: 2019-05-22T15:36:11.262Z [SIZE]: 54270        [OBJECT]: sample.object        >>> original object becomes non current version
[VERSION_ID]: 1558539564138 [IS_LATEST]: true  [MTIME]: 2019-05-22T15:39:24.138Z [SIZE]: DMARKER      [OBJECT]: sample.object  >>> DMarker inserted as latest version.


Os usuários que esperam ver o objeto ser totalmente excluído dessa política. 
 

Cause

A expectativa do exemplo de política mencionado na seção anterior está incorreta para buckets de controle de versão. No entanto, isso é verdadeiro para buckets que não são de controle de versão, já que em buckets que não são de controle de versão, o objeto expira imediatamente e é excluído, tornando-se irrecuperável.

Por outro lado, com os buckets de controle de versão, os protocolos do S3 lidam com a expiração dos objetos de maneira diferente. Em vez disso, ele move o objeto para uma versão não atual. E adiciona um marcador de exclusão como espaço reservado. Com os buckets de controle de versão, a versão do objeto pode ser recuperada, o que permite uma recuperação de período de tolerância, dependendo das configurações de política. Esse é um comportamento esperado. 

Para obter mais detalhes sobre políticas de ciclo de vida, controle de versão e expiração no S3, consulte a referência na seção "informações adicionais" na parte inferior deste artigo.

Resolution

Em um bucket habilitado para versão, é melhor usar o exemplo de política de ciclo da vida abaixo. Que, em vez disso, expira as versões não atuais e também exclui marcadores (que são resultado de uma exclusão direta em um objeto em um bucket de controle de versão). 


Exemplo:

Neste exemplo, o S3 remove as versões atuais (objetos) 60 dias após sua criação, adicionando um marcador de exclusão para cada uma das versões atuais do objeto. Esse processo torna a versão atual não atual, e o marcador de exclusão se torna a versão atual.  

O comando NoncurrentVersionExpiration ação na mesma configuração do ciclo de vida do S3 Remove objetos não atuais 30 dias depois que eles se tornam não atuais. Assim, neste exemplo, todas as versões de objeto são removidas permanentemente 90 dias após a criação do objeto. 

 

NOTA IMPORTANTE: As políticas de ciclo de vida devem ser tratadas com cuidado; especifique o número de dias e as ações que correspondam às necessidades do seu aplicativo. A política abaixo é apenas um exemplo: ela expira tanto os dmarkers quanto as versões não atuais, o que torna as exclusões irrecuperáveis. 

<LifecycleConfiguration>
    <Rule>
        ...
        <Expiration>
           <Days>60</Days>
        </Expiration>
        <NoncurrentVersionExpiration>     
            <NoncurrentDays>30</NoncurrentDays>    
        </NoncurrentVersionExpiration>
    </Rule>
</LifecycleConfiguration>

Additional Information


Mais detalhes sobre o comportamento de expirações de política em buckets com e sem versões podem ser encontrados aqui; 

Esse hiperlink direcionará você para um site fora da Dell Technologies.https://docs.aws.amazon.com/AmazonS3/latest/userguide/lifecycle-expire-general-considerations.htmlhttps://docs.aws.amazon.com/AmazonS3/latest/userguide/intro-lifecycle-rules.html#intro-lifecycle-rules-actionsEsse hiperlink direcionará você para um site fora da Dell Technologies.
https://docs.aws.amazon.com/AmazonS3/latest/userguide/lifecycle-configuration-examples.html#lifecycle-config-conceptual-ex7
Esse hiperlink direcionará você para um site fora da Dell Technologies.

Outras explicações também podem ser encontradas no Guia de acesso a dados do ECS, com detalhes de como definir a política de ciclo de vida 

https://dl.dell.com/content/manual53094723-ecs-3-8-x-data-access-guide.pdf   

 

Affected Products

ECS Appliance

Products

ECS Appliance, ECS Appliance Hardware Gen2 U-Series
Article Properties
Article Number: 000056935
Article Type: Solution
Last Modified: 14 Nov 2024
Version:  4
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.