- Newest
- Most votes
- Most comments
I suspect what might be happening here is that this rule is overlapping with another lifecycle policy. If that policy is configured to move data to S3 Intelligent Tiering, then the above lifecycle rule is going to be ignored:
Generally, S3 Lifecycle optimizes for cost. For example, if two expiration policies overlap, the shorter expiration policy is honored so that data is not stored for longer than expected. Likewise, if two transition policies overlap, S3 Lifecycle transitions your objects to the lower-cost storage class. In both cases, S3 Lifecycle tries to choose the path that is least expensive for you. An exception to this general rule is with the S3 Intelligent-Tiering storage class. S3 Intelligent-Tiering is favored by S3 Lifecycle over any storage class, aside from the S3 Glacier Flexible Retrieval and S3 Glacier Deep Archive storage classes.
You can find out more about this here: https://docs.aws.amazon.com/AmazonS3/latest/userguide/lifecycle-configuration-examples.html#lifecycle-config-conceptual-ex5
Unfortunately this is not the case as each rule has a different prefix. The first one uses prefix
backups/
while this one usesphotos/
. Or is it possible they still somehow overlap even with different prefixes?I'm curious as to why you're moving these objects from Intelligent Tiering to Glacier Instant Retrieval in the first place? If you wait for 90 days, and the objects aren't accessed, they will move to Archive Instant Access Tier, which is the same price as Glacier Instant Retrieval anyway. Also, by life-cycling these objects, you're going to have to pay a transition fee for them going to Glacier Instant Retrieval.
Interesting, I was not aware it was charged the same price as Glacier IR. Actually, it was purely because initially a large upload was accidentally uploaded into Intelligent Tiering instead of GIR. After some research, the lifecycle seemed the only way to move such a large number of files to a different storage class. So perhaps the whole move is not needed, however, it is still very strange that the lifecycle is just not working.
One thing to keep in mind for Intelligent Tiering is the small Monitoring Fee that is charged, which would make it slightly more expensive than GIR. Based on the documentation, this transition should work, so I'd double check the date the objects were uploaded vs the number of days you specified in the lifecycle rule. In you original post, you said objects were uploaded more than 30 days ago, but that the lowest value tried was 60 days.
I see, so moving it to GIR would be preferable. The objects I'm trying to move were uploaded December 9, 2022 until Dec 14, 2022. I started at 60 days, then when nothing happened, I tried higher day counts. Now I tried 180, and by my calculation, that was 187 days ago, that means anything from Dec 9 should have been moved by now but it still hasn't. Is there no way to see whether a rule has effect on an object, like the expiry rules have?
Relevant content
- asked 2 years ago
- Accepted Answerasked 2 years ago
- AWS OFFICIALUpdated 6 months ago
- AWS OFFICIALUpdated 2 years ago
- AWS OFFICIALUpdated a year ago
- AWS OFFICIALUpdated 6 months ago
What is the size of the objects you're trying to transition? I'm assuming they are MegaBytes in size, if photos, or are they smaller? Also, do you have have any other lifecycle rules active on the bucket?
Correct. Generally around 4MB or less, and in a very rare case it's some ultra HD image of 10-20MB.