Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How are S3 (Amazon Simple Storage System) storage prices calculated?

I'm not quite sure if this is the correct stack exchange site for this question, but i've found no site which fits better.

I'm planning to use S3 for my next project, but i'm not sure how the prices for the storage is actually billed. I would have no problem if i would use S3 just for throwing gigabytes of data in and almost never delete data. But thats not the case.

What if I store an 1 megabyte file in S3, delete it after 1 hour and put another 1 megabyte file onto S3? Will I be billed for 1 megabyte of storage for that month, or 2 megabytes?

Amazon states: First 1 TB / month of Storage Used

I don't think they will just bill whats stored on my S3 account at the end of the month and will bill that. The other way around - bill me for every store request as "storage used" will not work either, because the stored file might be stored for a long time, during multiple billing months.

I hope someone has the answer to that, i couldn't find anything :-)

like image 289
Malax Avatar asked Jan 20 '11 10:01

Malax


1 Answers

Storage is billed as an average of all data stored per month. From the Amazon docs:

The volume of storage billed in a month is based on the average storage used throughout the month. This includes all object data and metadata stored in buckets that you created under your AWS account. We measure your storage usage in “TimedStorage-ByteHrs,” which are added up at the end of the month to generate your monthly charges.

Storage Example: Assume you store 100GB (107,374,182,400 bytes) of standard Amazon S3 storage data in your bucket for 15 days in March, and 100TB (109,951,162,777,600 bytes) of standard Amazon S3 storage data for the final 16 days in March.

At the end of March, you would have the following usage in Byte-Hours: Total Byte-Hour usage = [107,374,182,400 bytes x 15 days x (24 hours / day)] + [109,951,162,777,600 bytes x 16 days x (24 hours / day)] = 42,259,901,212,262,400 Byte-Hours.

Let’s convert this to GB-Months: 42,259,901,212,262,400 Byte-Hours x (1 GB / 1,073,741,824 bytes) x (1 month / 744 hours) = 52,900 GB-Months

So in your example (assuming the 2nd megabyte is stored for the remainder of the month) you will be charged for 1MB.

Remember though, that there are other charges to consider too, like data transfer in/out and total requests etc.

like image 102
Geoff Appleford Avatar answered Oct 22 '22 21:10

Geoff Appleford