DevOps

S3 Lifecycle Policy Generator

Generate an S3 lifecycle configuration with storage class transitions, expiry, noncurrent version cleanup and abandoned multipart upload removal, with the cost of each transition shown.

Last reviewed by the Radiatus Cloud team

Lifecycle policy appears here.

Want this automated for your stack?

We build CI/CD, Kubernetes & IaC pipelines that scale.

Talk to an engineer

The rules people forget cost the most

Two lifecycle rules are missing from a large proportion of production buckets, and both accumulate charges silently. Incomplete multipart uploads leave parts that are billed as storage but do not appear in the object listing, so a bucket can hold gigabytes nobody can see. Noncurrent versions in a versioned bucket accumulate every overwrite forever unless a rule expires them. Neither is visible in the console without looking specifically for it, and both are a single rule to fix.

Transitions have a minimum duration and a per object charge

Moving an object to a colder class costs a per object transition request, and each class has a minimum billable duration: thirty days for Standard-IA and One Zone-IA, ninety for Glacier Flexible Retrieval, one hundred and eighty for Deep Archive. An object deleted before that minimum is still billed for the full period. For small objects the transition request and the minimum duration frequently exceed the storage saved, which is why transitioning objects under 128 kilobytes is usually a loss.

Intelligent-Tiering removes the guesswork

Where the access pattern is unknown or irregular, Intelligent-Tiering moves objects between frequent and infrequent tiers automatically based on observed access, with no retrieval charge and no minimum duration beyond the initial thirty days. It costs a small monitoring fee per object, which makes it uneconomic for very large numbers of tiny objects and clearly worthwhile for anything larger where the pattern is not predictable.

Related tools

Frequently Asked Questions

Why should I expire incomplete multipart uploads?

Because the uploaded parts are billed as storage and do not appear in the object listing, so the charge accumulates invisibly. A failed upload of a large file can leave gigabytes behind. A seven day expiry rule costs nothing and should be on every bucket.

What are the minimum storage durations?

Standard-IA and One Zone-IA bill a minimum of 30 days, Glacier Instant Retrieval 90, Glacier Flexible Retrieval 90 and Deep Archive 180. Deleting earlier still incurs the full minimum charge, so transitioning short lived objects loses money.

When is a transition not worth it?

For small objects. Each transition is a billed request and each class has a minimum object size for billing purposes, so objects under about 128 KB usually cost more to move than they save. Filter transitions by object size to exclude them.

Should I use Intelligent-Tiering instead?

Where the access pattern is unknown or irregular, yes. It moves objects automatically based on observed access with no retrieval charge, for a small monthly monitoring fee per object. That fee makes it uneconomic for enormous numbers of tiny objects and worthwhile for most other cases.

What happens to versioned objects?

Every overwrite creates a noncurrent version that is billed indefinitely unless a NoncurrentVersionExpiration rule removes it. Delete markers also accumulate. Both need explicit rules, and their absence is one of the most common causes of a bucket costing far more than its visible contents suggest.

Privacy & Security

Everything runs in your browser; nothing is uploaded.

Data: None
Client-side-Side
Active
v1.0

How to Use

Set your access pattern and retention to generate the lifecycle rules and see the monthly cost.

Disclaimer: This tool is provided "as is" without warranty of any kind. Results are for educational and utility purposes.