CostMonStart free

AWS bill line item

TimedStorage-ByteHrs

The core "you store data, you pay for it" charge. It covers GB-months of object data and metadata held in S3 Standard storage. AWS meters it hourly and averages it over the month.

StorageAmazon S3

S3 Standard storage

Verified against official AWS documentation last checked

Why it shows up

It is usually the largest line on an S3 bill, and it grows silently. Versioning-enabled buckets keep every prior object version. Incomplete multipart uploads use storage but do not show in a normal object listing.

AWS measures usage in byte-hours but invoices it in GB-months. Steady daily upload growth compounds across a billing cycle. A quick look at the console makes it easy to underestimate. Note: this exact usage-type string is reused by several other AWS services too (DynamoDB and CloudWatch Logs among them). The Service column, not the code alone, tells you which one you're looking at.

How to cut it

  • Enable lifecycle rules to expire noncurrent object versions and abort incomplete multipart uploads.
  • Use storage analytics to find cold data worth moving to a cheaper storage class.
  • Audit versioning-enabled buckets for unbounded historical version growth.
  • Compress or dedupe frequently-repeated large objects (logs, build artifacts) before they land in the bucket.

How to read a usage type

TimedStorage-ByteHrs carries no region or direction token, so there's nothing to break down here.

Found TimedStorage-ByteHrs on your own bill?

Drop your Cost Explorer CSV into the AWS Bill Analyzer. It'll flag line items like this one on your own bill and link straight back to the fix.

Analyze your own bill →

The meter you don't watch still grows.

Waste rarely hides in the service you check every week. CostMon watches every meter on your stack, including the ones you forgot were running.

Esc