# Unexpired Non-Current Object Versions in S3

Canonical: https://www.pointfive.co/efficiency-hub/inefficiencies/unexpired-non-current-object-versions-in-s3

[Cloud Efficiency Hub](https://www.pointfive.co/efficiency-hub) 

# Unexpired Non-Current Object Versions in S3

## Explanation

When S3 versioning is enabled but no lifecycle rules are defined for non-current objects, outdated versions accumulate indefinitely. These non-current versions are rarely accessed but continue to incur storage charges. Over time, this leads to significant hidden costs, particularly in buckets with frequent object updates or automated data pipelines. Proper lifecycle management is required to limit or expire obsolete versions.

## Relevant Billing Model

S3 charges for all object versions retained in a bucket, including non-current versions. Each version consumes full storage capacity and accrues charges until explicitly deleted or transitioned by a lifecycle policy.

## Detection

- Review S3 buckets with versioning enabled to determine if lifecycle policies are applied to manage non-current versions

- Assess storage growth patterns and identify buckets where non-current versions represent a large share of total usage

- Confirm whether retained non-current versions are actively used or required for compliance purposes

- Evaluate consistency of versioning and lifecycle policy practices across production and non-production buckets

## Remediation

- Implement lifecycle policies to expire or transition non-current versions after an appropriate retention period

- Tailor policies by bucket or prefix to align with business, compliance, or recovery requirements

- Retain only the number of historical versions necessary for recovery or auditing; remove excess versions automatically

- Periodically review lifecycle rules to ensure alignment with evolving requirements and prevent reaccumulation

## Relevant Documentation

- [https://docs.aws.amazon.com/AmazonS3/latest/userguide/Versioning.html](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Versioning.html)

- [https://docs.aws.amazon.com/AmazonS3/latest/userguide/lifecycle-expire-general-considerations.html](https://docs.aws.amazon.com/AmazonS3/latest/userguide/lifecycle-expire-general-considerations.html)

[Submit Feedback](https://hub.pointfive.co/inefficiencies/unexpired-non-current-object-versions-in-s3)

## At a glance

Reference

CER-0237

Cloud provider

AWS

Service

AWS S3

Category

[Storage](https://www.pointfive.co/efficiency-hub/service-category/storage)

Inefficiency type

Missing Lifecycle Policy

## Contributed by

- Brendan McFarland 

### Brendan McFarland

Staff, Cloud Efficiency and Analytics @ Datadog

[LinkedIn](https://www.linkedin.com/in/brendan-mcfarland-69522b7a/)

---
Source: the public page above. Product screenshots and illustrative interfaces are examples, not live customer data.

