ECS: Objektlebenszyklus-Policy läuft nicht ab

Summary: Vom Nutzer konfigurierte Objektlebenszyklus-Policy mit der Option "Expiration" zum automatischen Löschen von Objekten. Da der Bucket jedoch die Versionierung aktiviert hat, werden die nicht aktuellen Versionen nicht gelöscht. ...

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


Hinweis: Das folgende Problem gilt nicht für gesperrte oder versionierungsdeaktivierte Buckets.

1. In einem Bucket mit aktivierter Version wird eine Lebenszyklus-Policy wie im folgenden Beispiel festgelegt, um Objekte ablaufen zu lassen. Die Policy wurde so konfiguriert, dass Objekte nach 1 Tag automatisch ablaufen und gelöscht werden.

<?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. Für Objekte, für die nie Versionen erstellt wurden, führt die obige Objektablaufrichtlinie dazu, dass eine Löschmarkierung eingefügt wird, um das aktuelle Objekt zu ersetzen. Und so wird das aktuelle Objekt zu einer nicht aktuellen Version, anstatt gelöscht zu werden

Beispiel:
Bevor die Policy erfüllt ist, gibt es ein Objekt und ist das neueste

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


Nachdem die Policy übereinstimmt (nach 1 Tag), läuft das Objekt ab, aber das Objekt wird zu einer nicht aktuellen Version und ein dmarker wird als neuestes Objekt eingefügt. 
 

[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.


Nutzer, die von dieser Richtlinie erwarten, dass das Objekt vollständig gelöscht wird. 
 

Cause

Die Erwartung aus dem im vorherigen Abschnitt erwähnten Policy-Beispiel ist für die Versionierung von Buckets falsch. Dies gilt jedoch für Buckets ohne Versionierung, da in Buckets ohne Versionierung das Objekt sofort abläuft, gelöscht wird und nicht wiederherstellbar ist.

Im Gegensatz dazu behandeln die S3-Protokolle bei Versionierungs-Buckets das Ablaufdatum von Objekten anders. Stattdessen wird das Objekt in eine nicht aktuelle Version verschoben. Und fügt eine Löschmarkierung als Platzhalter hinzu. Mit Versionierungs-Buckets kann die Objektversion wiederhergestellt werden, was je nach Policy-Einstellungen eine Toleranzperiode für die Recovery ermöglicht. Dabei handelt es sich um erwartetes Verhalten. 

Weitere Informationen zu Lebenszyklus-Policies, Versionierung und Ablauf in S3 finden Sie in der Referenz im Abschnitt "Zusätzliche Informationen" am Ende dieses Artikels.

Resolution

In einem versionsaktivierten Bucket ist es besser, das folgende Beispiel für die Lebenszyklus-Policy zu verwenden. Stattdessen laufen stattdessen nicht aktuelle Versionen ab und löschen auch Markierungen (die das Ergebnis eines direkten Löschens in einem Objekt in einem Versionsverwaltungs-Bucket sind). 


Beispiel:

In diesem Beispiel entfernt S3 aktuelle Versionen (Objekte) 60 Tage nach ihrer Erstellung, indem für jede der aktuellen Objektversionen eine Löschmarkierung hinzugefügt wird. Durch diesen Prozess wird die aktuelle Version nicht aktuell und die Löschmarkierung wird zur aktuellen Version.  

Der Befehl NoncurrentVersionExpiration Durch Aktionen in derselben S3-Lebenszykluskonfiguration werden nicht aktuelle Objekte 30 Tage, nachdem sie nicht mehr aktuell sind, entfernt. Daher werden in diesem Beispiel alle Objektversionen 90 Tage nach der Objekterstellung dauerhaft entfernt. 

 

WICHTIGER HINWEIS : Lebenszyklus-Policies sollten mit Bedacht gehandhabt werden. Geben Sie die Anzahl der Tage und die Aktionen an, die Ihren Anwendungsanforderungen entsprechen. Die folgende Richtlinie ist nur ein Beispiel. Sie lässt sowohl dmarkers als auch nicht aktuelle Versionen ablaufen, wodurch Löschungen nicht wiederherstellbar sind. 

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

Additional Information

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.