Inactive S3 Bucket
Service Category
Storage
Cloud Provider
AWS
Service Name
AWS S3
Inefficiency Type
Unused Resource
Explanation

S3 buckets often persist after projects complete or when the associated workloads have been retired. If a bucket is no longer being read from or written to—and its contents are not required for compliance, backup, or retention purposes—it represents ongoing cost without delivering value. Many organizations overlook these idle buckets, especially in shared or legacy accounts, leading to unnecessary storage costs over time.

Relevant Billing Model

S3 charges based on the total storage used (per GB per month), the selected storage class, and the number and type of requests made (PUT, GET, LIST, etc.). Storage costs accrue continuously, even if the data is never accessed. Buckets with no read or write activity still incur storage charges for all retained data.

Detection
  • Identify S3 buckets with no read or write activity during the defined lookback period
  • Review object access patterns to confirm that stored data is not being queried or updated
  • Check whether the bucket was associated with a decommissioned workload, environment, or application
  • Assess whether the data is still needed for compliance, reference, or future recovery
  • Validate with data owners or security stakeholders before making changes
Remediation

If a bucket is confirmed to be inactive and nonessential, delete the bucket and all stored objects. Alternatively, move the data to a lower-cost storage class such as Glacier Flexible Retrieval or Deep Archive for long-term retention at reduced cost. Consider applying lifecycle policies going forward to automatically clean up inactive data.