Skip to main content
ZapStack
Icon-Architecture/48/Arch_Amazon-Simple-Storage-Service_48 Storage

Amazon S3 Cost Optimization

S3 costs creep up gradually. Data gets uploaded and never deleted. Default storage classes are used when cheaper tiers would work fine. Incomplete multipart uploads accumulate silently. Without lifecycle policies, storage grows monotonically — it only ever goes up.

Common S3 cost waste patterns

high impact

No lifecycle policies

Data sitting in S3 Standard forever when it could be transitioned to Infrequent Access or Glacier after a set period, or deleted entirely.

medium impact

Incomplete multipart uploads

Failed or abandoned multipart uploads leave partial objects in your bucket. These fragments are invisible in the console but still incur storage charges.

high impact

Wrong storage class

Logs, backups, and archives stored in S3 Standard when S3 Glacier or S3 Glacier Deep Archive would be 60-95% cheaper for infrequently accessed data.

medium impact

Versioned buckets without expiration rules

Versioned buckets retaining every historical version of objects indefinitely. Without expiration rules for non-current versions, version history grows unbounded.

How to reduce your S3 costs

1

Implement lifecycle policies

Save 40-70% easy

Transition objects to S3-IA after 30 days, Glacier after 90 days, and delete after a year (adjust based on your retention requirements). This single change often delivers the biggest S3 savings.

2

Clean up incomplete multipart uploads

Save 5-10% easy

Add a lifecycle rule to abort incomplete multipart uploads after 7 days. This is a one-time bucket configuration that prevents waste accumulation.

3

Enable S3 Intelligent-Tiering

Save 20-40% easy

For buckets with unpredictable access patterns, Intelligent-Tiering automatically moves objects between frequent and infrequent access tiers based on access frequency. No retrieval fees for the automatic tiers.

4

Expire old object versions

Save 10-30% easy

Add lifecycle rules to delete non-current versions after a set number of days. Keep enough versions for recovery but not unlimited history.

How ZapStack finds S3 waste

ZapStack automatically scans your AWS environment and surfaces S3 cost savings you can action immediately.

  • Identifies buckets without lifecycle policies
  • Detects incomplete multipart uploads
  • Flags buckets using expensive storage classes for cold data
  • Finds versioned buckets with unbounded version history
  • Estimates savings from storage class transitions

Frequently asked questions about S3 costs

How much are you overspending?

Find out in less than 5 minutes. No credit card, no commitment.