Home › Decoder › TimedStorage-ByteHrs: the S3 Standard storage line

TimedStorage-ByteHrs: the S3 Standard storage line

TimedStorage-ByteHrs is the monthly charge for data kept in S3 Standard, $0.023 per GB-month for the first 50 TB in US East (N. Virginia); data left there that is rarely read can sit in cheaper classes such as Standard-IA at $0.0125.

In your bill the usage type reads: TimedStorage-ByteHrs, USE1-TimedStorage-ByteHrs

What it costs

ChargePriceUnit
S3 Standard, first 50 TB$0.023per GB-month
S3 Standard, next 450 TB$0.022per GB-month
S3 Standard-Infrequent Access (TimedStorage-SIA-ByteHrs)$0.0125per GB-month
Standard-IA retrieval (Retrieval-SIA)$0.01per GB

US East (N. Virginia); other regions differ. Checked 2026-11-04. Sources: AWS S3 pricing, AWS price list file, S3, us-east-1.

Example with made-up numbers

30 TB (30,720 GB) in Standard: 30,720 x $0.023 = $706.56 per month

Suppose 20,000 GB of it has not been read for a year. In Standard-IA: 20,000 x $0.0125 = $250.00, against 20,000 x $0.023 = $460.00 in Standard, a saving of $210.00 per month

Reading 500 GB of that back in a month costs 500 x $0.01 = $5.00 in retrieval

Typical causes

Logs, exports and backups that never expire

Buckets that receive daily dumps with no lifecycle rule grow forever and bill every month for every byte.

Old object versions

With versioning on, every overwrite keeps the old version as billable storage until a lifecycle rule expires non-current versions.

Incomplete multipart uploads

Abandoned multipart upload parts stay in the bucket and bill until aborted by a lifecycle rule.

Everything left in Standard

Data that is rarely read stays in the most expensive general-purpose class because nobody set a transition.

The fix, step by step

Verify first

Check these before you change anything: the steps below are suggestions, and only you can see your own configuration.

  • Find which buckets hold the bytes: S3 Storage Lens or the CloudWatch BucketSizeBytes metric per storage class shows size per bucket without listing objects.
  • Check how often data is actually read (S3 server access logs, CloudTrail data events or a Storage Class Analysis report) before moving it; retrieval from Standard-IA costs $0.01 per GB.
  • Read the current S3 pricing page for minimum storage duration and minimum object size rules of the target class before you transition small or short-lived objects; this page does not quote them.
  • Check that no application depends on object immediacy or on a specific class, and test the lifecycle rule on one prefix first.

In the console

  1. S3 console > Buckets > pick the largest bucket > Management tab > Create lifecycle rule.
  2. Scope the rule to one prefix for the first test.
  3. Add a transition for current versions to Standard-IA after the number of days your access data supports; add expiry for non-current versions and a rule to delete incomplete multipart uploads after 7 days.
  4. Save, then watch the storage-class breakdown in S3 Storage Lens over the next days.
  5. Widen the scope once the first prefix behaves as expected.

With the CLI

aws cloudwatch get-metric-statistics --namespace AWS/S3 --metric-name BucketSizeBytes --dimensions Name=BucketName,Value=EXAMPLE-BUCKET Name=StorageType,Value=StandardStorage --start-time 2026-11-01T00:00:00Z --end-time 2026-11-03T00:00:00Z --period 86400 --statistics Average
aws s3api put-bucket-lifecycle-configuration --bucket EXAMPLE-BUCKET --lifecycle-configuration file://lifecycle.json
aws s3api get-bucket-lifecycle-configuration --bucket EXAMPLE-BUCKET

Rollback

Remove or edit the lifecycle rule to stop further transitions. Objects already moved can be moved back by copying them into Standard, which incurs retrieval and request charges. Expiry rules delete data permanently: use them only on data you are sure you can lose.

Find your S3 storage line in your own bill

Drop in your Cost Explorer or CUR CSV. Billtrim reads it in your browser, finds the S3 storage lines and shows the dollars and steps for your numbers.

See a sample result

Paste your export: how to export a Cost Explorer CSV or CUR file in two minutes.

Questions people ask

Why is my S3 bill growing when traffic is flat?

Storage is cumulative. Without lifecycle rules, every object ever written, every old version and every abandoned multipart part keeps billing monthly.

Should I move everything to Standard-IA?

Not blindly. Standard-IA is $0.0125 per GB-month but has a $0.01 per GB retrieval charge and class-specific minimums on the S3 pricing page, so it suits data you rarely read.

Does this cover S3 request charges?

No. Requests and data transfer are separate lines; this page covers the storage line.

Related

Part of the guide: Reduce your AWS bill as a startup: a checklist for teams with no FinOps person