Amazon Route 53 is a highly available and highly scalable DNS service. Route 53 is able to meet the needs of complex enterprises, while remaining simple enough to be a good fit for personal websites.

Today we are adding some useful new features to Route 53: Improved Health Checks (including HTTPS support), and a new record modification API.

Improved Health Checks

The logical (domain name) to physical (IP address) mapping that you get when you use a DNS service such as Route 53 greatly simplifies the process of building applications and services that are highly available. Route 53 improves on this fundamental DNS property by adding health checks and DNS failover capabilities. You can easily configure Route 53 to check the health of your website on a regular basis, and to switch to a backup site if the primary one is unresponsive.

You can now configure your Route 53 health checks to use the presence of a designated string in a server response to indicate that the server is performing as desired. The string (up to 255 characters long) must appear in the first 5,120 bytes of the response body.

You can use this feature in a couple of different ways. You can check the website itself to make sure that the HTML it serves up contains an expected string. Or, you can create a status checking routine and use it to check the health of the server from an internal or operational perspective. Suppose I take the latter route and decide that accessing check_server.php will return a simple XML string containing the status of the server. Here’s how I would configure a Route 53 health check for this use case:

The implementation of the health check inside of check_server.php can be as simple or as complex as desired. A simple implementation might do nothing more than verify that the server has access to an associated database. A more complex implementation could check the server’s load average, verify that expected disk volumes are presented and have some free space, and so forth.

While I’m on the subject of health checks, I should also mention that you can now create health checks for secure web sites that are available only over SSL. In other words, you can confirm that the web server is responding to requests made over HTTPS. Of course, you can combine this new feature with string match health checks in order to verify that your secure web site is returning the correct content.

Record Modification API

Many of our customers use the Route 53 API to make programmatic changes to their DNS record sets. We have added the UPSERT (update / insert) operation to the ChangeResourceRecordSets function simplify the process of creating new record sets and modifying existing ones. Code that makes use of UPSERT will be cleaner, simpler, and more efficient.

— Jeff;