Amazon Route 53 Reduces Hosted Zone Pricing
aws.amazon.com
aws.amazon.com
It is a browser/javascript based test that uses a wildcard DNS record and alternating between cached and non cached lookups to determine an approximate query time for each provider.
Switching to Route 53 from MediaTemple as my DNS was like a night and day difference. The site felt much faster.
A while ago I thought "wouldn't it be great if when launching a cloud server some magic would happen and the server would get assigned a human/friendly name of my choice? I'm tired of remembering IP addresses, and logging into my DNS management console to setup records."
Following that thought we added Domain management and a free dynamic DNS service to the TurnKey Linux Hub.
If anyone is interested:
http://www.turnkeylinux.org/blog/hub-domains (announcement)
http://www.turnkeylinux.org/docs/hubdns (documentation)
https://github.com/turnkeylinux/hubdns (source code)
For those on HN who use Route 53: Would you recommend switching from another provider?
I use pcorliss' ruby_route_53 gem[1].
We got round this by writing our own Python command-line tool using Boto, which sadly I have yet to release...
All I have to type is "cli53 import example.com --file example.bind --replace --wait" and it'll replace all of the records for example.com with what's in the BIND file, and the --wait makes it poll Amazon until the "pending changes" go through.
It is free, pretty well done and they haven't stolen my AWS credentials yet.
I assure you we're not logging any credentials and strive to keep our users happy. It's been a really fun project.
It is a dead-simple protocol, and the level of caching at various levels between your server and the user would seem to make super-fast DNS serving irrelevant to the browser experience.
As it is, queries on a 2004 level server box running lots of other services are under 2ms on a local network, so really network latency is the issue...
having 2 simple 1U boxes colocated in NYC and LA, would cost under $200 per month and give you full control and the ability to host thousands if not tens of thousands of domains.
- Purchase the hardware
- Receive the hardware
- Install an OS on the hardware
- Harden the OS from intruders
- Decide how to manage the servers and setup that infrastructure (puppet/chef/cfengine/ssh/etc)
- Install BIND
- Load in all your zones
- Ship the server(s) to each of the colo facilities
- Pay for smart hands to install/configure the hosts
- Setup a procedure to reliably sync zones from your RCS to the hosts and safely load zone changes without crashing BIND
- Monitor the service and hosts
- Setup alerting and escalations for when there are problems
- Subscribe to BIND mailing lists and keep up with the community
- ~once every couple years perform an ASAP update to BIND after a massive security hole is discovered (without getting compromised during this time)
- Update BIND regularly
- Deal with occasional outages at facilities
- Configure anycast routing for your IP's
Route 53 reduces this to:
- Make an API call
- Go back to developing your actual product.
So really, I don't have to do any of that.
What you really would do, given your list above, would be
- Buy hardware from vendor, ship direct to colo.
- When racked, they hook up a KVM/IP device that has virtual media support to the system.
- You install your OS from your desktop machine.
- Turn off all services except DNS and public key SSH with hosts.deny and hosts.allow setup appropriately
- Use automated scripts to move zones from current setup to djbdns format .
- Tweak Makefile for djbdns (included in the distribution) to use ssh to move both the datafile and a text-version backup of the file, to each system. You can keep your original files on a machine local to you and push the changes via SSH that way.
- you should have a machine or two outside your facility to run e.g. smokeping or other measurement/monitoring tools anyways; so run smokeping etc. on the same machine and if you are paranoid, run the webserver on 127.0.0.1 and use SSH tunneling to view the pages.
Usually for $100/month per server, you can get outage monitoring and 30 minutes of remote hands per month, included.