Have to come up with a proposal to use Amazon S3 with CloudFront as CDN. One of the important thing is to do a cost estimate. I read over AWS website and forums, used their calculator, but couldn't come to a conclusion with the final number (approx) that I will be confident of. Honestly, I got confused between terms like "Data Transfer Out", "GET and Other Requests" and whether I need to fill in the details both at Amazon S3 and Amazon CloudFront and then do a sum total.
So need help here to estimate my monthly bill.
Most of the client base (almost 95%) is in US.
Average file size: 500KB
Would be great if I can get more understanding as to how my monthly bill will be calculated and what approximately it will be.
Also, with the above data and estimates, any approx on how much the monthly bill, if I use Akamai or Rackspace.
CloudFront Cost & AWS Data Transfer Cost The initial rate for the serving data to the cheapest regions (United States, Mexico, Canada, Europe and Israel) is $0.085 per GB, and this cost doubles to $0.170 when serving data to the most expensive region (India).
Amazon CloudFront: The cost can be estimated by considering factors such as Traffic Distribution, the number and type of requests (HTTP or HTTPS) made and the geographic region in which the requests are made, and finally, the amount of data transferred out of the user's Amazon CloudFront edge locations.
In addition, data transfer out for content by using CloudFront is often more cost effective than serving files directly from S3, and there is no data transfer fee from S3 to CloudFront. You only pay for what is delivered to the internet from CloudFront, plus request fees (see the full pricing information).
So, yes, CloudFront is cheaper in terms of data transfer, but you pay a bit more for each request.
I'll throw another number into the ring.
Using http://calculator.s3.amazonaws.com/calc5.html
CloudFront
data transfer out
0.5MB x 30 million = ~15,000GB
Average size 500kb
1000 invalidation requests
95% US
S3
Storage
80K x 0.5MB 4GB
requests 30million
My initial result is $1,413. As @user2240751 noted, a factor of safety of 2 isn't unreasonable, so that's in the $1,500 - $3,000/month range.
I'm used to working with smaller numbers, but the final amount is always more than you might expect because of extra requests and data transfer.
Corrections or suggestions for improvements welcome!
Good luck
The S3 put and get request fields (in your case) should be restricted to the number of times you are likely to call / update the files in S3 from your application only.
To calculate the Cloudfront service costs, you should work out the rough outbound bandwidth of your page load (number of objects served from cloudfront per page - then double it - to give yourself some headroom), and fill in the rest of the fields.
Rough calc. 500GB data out (guess) 500k average object size 1000 invalidation requests 95% to US based edge location 5% to Europe based edge location
Comes in at $60.80 + your S3 costs.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With