My Best Christmas Present – Root Domain Support for Amazon S3 Website Hosting

• 436 words

I have been a big fan of the Amazon S3 Static Website Hosting feature since its launch and this blog happily is being served from it. S3 is not only a highly reliable and available storage service but also one of the most powerful web serving engines that exists today. By storing your website in Amazon S3, you suddenly no longer have to worry about scaling, replication, performance, security, etc. All of that is handled seamlessly by S3.

As such I am very happy that the Amazon S3 team has finally knocked off the last piece of dependency on an external infrastructure piece. Until the launch today of S3 Website Root Domain support you could not host your website at the root domain, but only at a subdomain. For example this website is served from the www.allthingsdistributed.com domain. To have visitors also be able to type in allthingsdistributed.com (without the www) I had to make use of a “naked domain redirect” service. I happily made use of the great service that the folks at wwwizer (thanks!!) provided. However I can now rely on the excellent reliability and scalability of Amazon S3 for the redirect as well.

With the launch of the support for hosting root domains in Amazon S3 Website Hosting, I now can manage the whole site via Amazon S3 and Amazon Route 53 (AWS’s DNS service). Each service has one new feature. Route 53 can now specify that a root domain (e.g. allthingsdistributed.com) use an S3 Website alias. And, S3 Website Hosting can redirect that incoming traffic to your preferred domain name (e.g. www.allthingsdistributed.com).

I needed to take only two steps to get this working for All Things Distributed:

  1. In the first step I created a new Amazon S3 bucket with the root domain name and enabled it for Website hosting. The URL for this is then http://allthingsdistributed.com.s3-website-us-east-1.amazonaws.com/ In the website hosting section I selected the new option to “Redirect all request to another hostname” which in my case is www.allthingsdistributed.com.
  2. Then in the Route 53 console I assign the new URL (http://allthingsdistributed.com.s3-website-us-east-1.amazonaws.com/) as an IPv4 Address Alias to the allthingsdistributed.com record.

This is of course if you want both DNS names to end up at the same website. But the new Route 53 functionality by itself allows you to send traffic to your Amazon S3 website hosted at the root domain, which was something that was not possible before. You can read more about this functionality with the walkthrough for setting up a static website in S3.

Christmas couldn’t have been better this year thanks to the Amazon S3 and Route 53 teams.