Introduction
The DNS system was introduced in the 1980s to provide a human-friendly system of connecting to and managing servers and interacting with network servers. The World Wide Web is a prime example of one place where DNS is crucial, and it would be hard to imagine the Web without hostnames in URLs. In cloud systems, servers are dynamically provisioned and change frequently. However, since the management of the DNS system falls between cloud provider and cloud consumer, it's a thorny and often overlooked area. That's the motivation for writing this article, which explains the concepts and steps for common requirements on the Web.
Why use DNS instead of using IP addresses? DNS names are easier to remember and more meaningful than IP addresses. Consider using them in bookmarks, configuration files, email to other people, and so on. You'll easily be able to remember the purpose of the virtual machine with a meaningful hostname, but have difficulty using an IP address. When giving addresses to other people, you'll be free to switch the hostname to another machine, but you'll have difficulty switching IP addresses.
One assumption often made about cloud systems is that it's simple to capture images of virtual machine instances and reinstantiate those images later. Unfortunately, hostname is a critical parameter in many configuration files, and it usually becomes "frozen" in the images. For example, hostnames are embedded in X.509 (SSL) certificates and application-server configuration files. In some cases, this fact prevents system services from operating. If you have no control over the hostname assigned to your server, it might require considerable configuration effort to set things right. With the techniques described in this article, however, you'll be able to assign the hostname of your choice to a virtual machine, completely avoiding the problem.