S3 buckets with no lifecycle policy

With no lifecycle rule, every object stays in Standard forever — including the log from three years ago that nobody will open.

What this problem is

S3 offers several storage classes at very different prices, and choosing between them depends on how often the data is read. Standard is optimised for frequent access and is the most expensive per gigabyte. Every object lands there by default, and stays there until somebody says otherwise.

A lifecycle policy is that "somebody says otherwise", automatically: after N days move to a colder class; after M, expire. Without one, a bucket becomes an accumulator — application logs, report exports, backups, build artefacts and raw processing data all piling up in Standard indefinitely.

The gain here tends to be proportionally large because the gap between classes is large: moving data unread for months to an infrequent-access or archival class cuts a substantial share of the cost without deleting anything. Where the data has a genuine expiry date, expiring it cuts the cost entirely.

How we detect it

We list buckets with ListAllMyBuckets, query each one's lifecycle configuration with GetLifecycleConfiguration, and read the stored size CloudWatch publishes per bucket. Buckets with no rule and meaningful volume are the ones that surface.

  • S3 buckets without a lifecycle policy

What it costs

S3 Standard runs about $0.023 per GB-month; Standard-IA about $0.0125; Glacier Instant Retrieval about $0.004 (us-east-1). Five terabytes sitting in Standard cost close to $118 a month.

Public AWS list prices, us-east-1, subject to change. The figure in your report is computed against your resources in your regions.

How it appears in the report

6 buckets with no lifecycle rule s3://… ×6 · 4.2 TB in Standard $41.60/mo

An illustrative example, with invented resources and figures. In the report each finding carries the real resource, its region, and the fix command where a safe one exists.

Does your account have this?

The scan is read-only and shows you what it found before you pay for anything.

Run a free scan