ECS: Nesne Yaşam Döngüsü ilkesinin süresi dolmuyor sürümleri
Summary: Nesneleri otomatik olarak silmek için kullanıcı tarafından yapılandırılan ve "Expiration" seçeneğine sahip nesne yaşam döngüsü politikası. Ancak, sürüm oluşturma etkinleştirildiğinden beri mevcut olmayan sürümler silinmez. ...
Symptoms
Not: Aşağıdaki sorun, Askıya alınmış veya sürümü devre dışı bırakılmış kovalar için geçerli değildir.
1. Sürüm etkinleştirilmiş bir kovada, Nesnelerin süresini sona erdirmek için aşağıdaki örnekte olduğu gibi bir yaşam döngüsü ilkesi ayarlanır. Politika, 1 gün sonra nesnelerin süresi otomatik olarak dolacak ve silinecek şekilde yapılandırıldı.
<?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. Hiçbir sürümü oluşturulmamış nesneler için yukarıdaki nesne sona erme politikası, geçerli nesnenin yerine bir silme işaretleyicisi eklenmesine neden olur. Ve böylece mevcut nesne silinmek yerine güncel olmayan bir sürüm haline gelir
Örnek:
Politika karşılanmadan önce bir nesne vardır ve en son
[VERSION_ID]: 1558539564138 [IS_LATEST]: true [MTIME]: 2019-05-22T15:39:24.138Z [SIZE]: 54270 [OBJECT]: sample.object
Politika eşleştikten sonra (1 gün sonra), sona erme gerçekleşir ancak nesne geçerli olmayan bir sürüme dönüşür ve en son nesne olarak bir dmarker eklenir.
[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.
Bu politikadan nesneyi bekleyen kullanıcılar tamamen silinir.
Cause
Önceki bölümde bahsedilen politika örneğinden beklenti, sürüm oluşturma grupları için yanlıştır. Ancak bu durum, sürüm oluşturmayan kovalar için geçerlidir. Çünkü sürüm oluşturmayan kovalarda nesnenin süresi hemen sona erer ve kurtarılamaz hale gelerek silinir.
Bunun aksine, Sürüm Oluşturma gruplarında S3 protokolleri, süresi dolan nesneleri farklı şekilde ele alır; bunun yerine nesneyi güncel olmayan bir sürüme taşır. Ve yer tutucu olarak bir silme işaretçisi ekler. Sürüm oluşturma gruplarıyla nesne sürümü kurtarılabilir. Bu da politika ayarlarına bağlı olarak yetkisiz kullanım süresi kurtarmaya olanak tanır. Bu beklenen bir durumdur.
S3 te yaşam döngüsü politikaları, sürüm oluşturma ve süre sonu hakkında daha fazla ayrıntı için lütfen bu makalenin altındaki "ek bilgiler" bölümündeki referansa bakın.
Resolution
Sürüm etkinleştirilmiş bir grupta aşağıdaki yaşam döngüsü ilkesi örneğini kullanmak daha iyidir. Bunun yerine güncel olmayan sürümlerin süresi dolar ve ayrıca işaretçileri de siler (bu, sürüm oluşturma kovasındaki bir nesneye yapılan doğrudan silme işleminin sonucudur).
Example:
Bu örnekte S3, mevcut nesne sürümlerinin her biri için bir silme işaretçisi ekleyerek mevcut sürümleri (nesneleri) oluşturulduktan 60 gün sonra kaldırır. Bu işlem, geçerli sürümü geçersiz kılar ve silme işaretçisi geçerli sürüm olur.
Komutta NoncurrentVersionExpiration Aynı S3 Yaşam Döngüsü yapılandırmasında eylem, güncel olmayan nesneleri güncel olmadıktan 30 gün sonra kaldırır. Bu nedenle, bu örnekte, tüm nesne sürümleri, nesne oluşturulduktan 90 gün sonra kalıcı olarak kaldırılır.
ÖNEMLİ NOT : Yaşam döngüsü ilkeleri dikkatle ele alınmalı, uygulama gereksinimlerinize uyan gün ve eylem sayısını belirtmelidir. Aşağıdaki politika yalnızca bir örnektir. Hem dmarker'ların hem de güncel olmayan sürümlerin süresini dolgunlaştırarak silme işlemlerini kurtarılamaz hale getirir.
<LifecycleConfiguration> <Rule> ... <Expiration> <Days>60</Days> </Expiration> <NoncurrentVersionExpiration> <NoncurrentDays>30</NoncurrentDays> </NoncurrentVersionExpiration> </Rule> </LifecycleConfiguration>
Additional Information
Sürümlü ve sürümsüz klasörlerdeki politika sona erme davranışı hakkında daha fazla ayrıntıya buradan ulaşabilirsiniz; 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-actions
https://docs.aws.amazon.com/AmazonS3/latest/userguide/lifecycle-configuration-examples.html#lifecycle-config-conceptual-ex7
Yaşam döngüsü ilkesinin nasıl ayarlanacağıyla ilgili ayrıntıları içeren ECS veri erişimi rehberinde daha fazla açıklama da bulunabilir
https://dl.dell.com/content/manual53094723-ecs-3-8-x-data-access-guide.pdf