A few months ago I talked about our plans to create and offer a service for content delivery. That service is called Amazon CloudFront and it is ready now!
Like all of our other services, CloudFront was designed with ease of use in mind from the very beginning. There are no minimum usage commitments, no monthly fees, and no need to even talk to us. Here's what you do:
- Sign up for CloudFront.
- Put your most frequently accessed static content into an Amazon S3 bucket and mark it as publicly readable.
- Create a new CloudFront Distribution using a single REST-style POST call. Capture the domain name returned by the call.
- Generate fresh URLs for your content using the domain name from step 3 and hand them out. By using our CNAME support you can even make the content appear as if it is coming from your own domain. You can associate up to 10 CNAMEs with each distribution.
CloudFront will take care of the rest. Requests originating anywhere in the world will be routed to one of 14 edge locations (8 in the United States, 4 in Europe, and 2 in Asia). If the content isn't already present at a particular edge location it will be fetched from S3 and cached at the edge.
You will be charged based on the number of requests that you make and the amount of data that you transfer. Pricing is covered in depth on the detail page. Because our costs vary by location, pricing for data served from edge locations outside of the US varies, and is currently slightly higher. You will also pay the usual S3 price for the "origin fetch" which take place when a requested object is transferred from S3 to an edge location, and for storage of the object in S3.
We are looking forward to seeing how this is put to use. It is certainly going to be used to host software downloads, frequently accessed website components, and media files. However, as is often the case with these new services, developers will find new and unique ways to put it to use before too long.
Our friends across the lake at Smartsheet have put together a nice worksheet which documents and generalizes the work that they did to support CloudFront in their own product.
Remarkably enough, parts of that website are already served up from CloudFront! You can use this worksheet to assign tasks to your developers, review the status of the tasks, and much more.
We've got plenty of CloudFront documentation including a Getting Started Guide, a Developer Guide, an FAQ, and even a Quick Reference Card.
Tool and library vendors have been working to support CloudFront in their products. I'll update this post as I learn more.
Updates:
- Amazon's Werner Vogels has written a bit more in his new post, Expanding the Cloud: Amazon CloudFront.
- Thorsten from RightScale has written an informative review.
A beta version of Bucket Explorer with CloudFront support is now available. More details here (pictured at right is their new support for creating a CloudFront distribution).
- A new version of the S3 Fox Organizer, with CloudFront support and some other improvements, is now available.
- The Digital Inspiration blog has a helpful post, How to Setup Amazon S3 with CloudFront as a Content Delivery Network.
- A number of sites have already put CloudFront into action including Woot, Playfish Games, Paessler, Wolfire Games, and (as noted above), Smartsheet. Blogger Tim Linden is already using CloudFront to host his videos and static content.
- The newest release of the Boto library now supports CloudFront. Boto provides a Python interface to S3, SQS, EC2, SimpleDB, Mechanical Turk, and CloudFront.
-- Jeff;


Can you set future expires headers on the content stored in CloudFront to improve performance?
Posted by: Lee | November 18, 2008 at 12:23 AM
We have added support for CloudFront in Bucket Explorer. A Beta which includes CloudFront support can be downloaded from http://www.bucketexplorer.com/
Posted by: Saurabh | November 18, 2008 at 12:47 AM
How do we know whether we should use CloudFront or just S3 for our data? Which data should be in CloudFront, and which just in S3? How much data is in the cache? How long can data stay in the cache? The reason I ask is because you could be paying twice as much by using CloudFront if your objects aren't requested enough. I'm just wondering where that line is. There's one charge for the get from S3, and one charge for the get from CloudFront to the client.
Also, its not clear if you can use a different origin server besides S3.
Posted by: Kyle Mulka | November 18, 2008 at 01:42 AM
this is wonderful - drop.io recently went 100% into the AWS cloud (ditching our last remaining servers), and we are certainly going to jump on this as soon as today... expect our simple private sharing service to tick up on performance.
Posted by: sam lessin | November 18, 2008 at 06:50 AM
Thanks Jeff for putting my tutorial in your post. Have moved all static content on Digital Inspiration to CloudFront as well.
Posted by: Amit Agarwal | November 18, 2008 at 07:11 AM
This was super easy - we at Zephyr have already converted half our sites to using CloudFront. We are seeing improved performance.
Check out http://www.getzephyr.com
Posted by: Samir Shah | November 19, 2008 at 05:32 PM
Much like Boto, the new Tarzan 2.0 release supports CloudFront. Tarzan provides a PHP 5 interface to S3, SQS, EC2, SimpleDB, Amazon Associates, and CloudFront.
Posted by: Ryan Parman | December 10, 2008 at 10:31 AM
Amazing stuff! Amazon is building an amazing technology stack for large applications development. I’m sure they are going to make A LOT of money in the future.
Posted by: sayen | January 29, 2009 at 02:56 AM