AWS provided DNS names are technically descriptive, but generally not very user friendly. For example, an EC2 instance might look like:

ec2-12-34-123-45.compute-1.amazonaws.com

Not something you want to share with your users or expect them to remember. Load balancers are bad too:

my-project-name-lb-1234567890.us-east-1.elb.amazonaws.com

Even worse, you might want to change out your load balancer or EC2 instance, and it gets an entirely new DNS name. So how can we set this up in a way that you can assign a "pretty" domain name to your resource(s)?

If you're just using EC2 one way to solve this is to assign an Elastic IP Address, or EIP, to your instance. An EIP is a reserved, global IP address from AWS that can be associated with an EC2 instance. You allocate an EIP and associate it with an EC2 instance. If you want to move your service to another EC2 instance you can move the EIP to the new instance. hostmaster@uiowa.edu can create an A record in most uiowa.edu (sub)domains pointing to the EIP. 

But what about load balancers? Or if you want to be able to manage a number of resources and need to be able to do it programmatically?

In this case you can request a sub-domain from Cloud Services. We have been delegated the aws.cloud.uiowa.edu domain and can further delegate a domain to be managed in your AWS account.

Let's use an example to illustrate how this might work:

1) You have an AWS account for your service and request a sub-domain from Cloud Services.

2) Cloud Services delegates dept-app.aws.cloud.uiowa.edu to your AWS account. You can now manage this sub-domain in the AWS DNS Service, Route 53

3) You create an Elastic Load Balancer (ELB) in AWS and assign lb.dept-app.aws.cloud.uiowa.edu to the resource in Route 53.

4) You email hostmaster@uiowa.edu and have them create a CNAME record for my-app.dept.uiowa.edu pointing to lb.dept-app.aws.cloud.uiowa.edu

At this point your users can go to my-app.uiowa.edu to access your resource. But you decide that you'd like to make some changes that necessitate a migration to a new load balancer. With this configuration you can simply assign lb.dept-app.aws.uiowa.edu to your new load balancer. You don't need to coordinate the change with hostmaster nor worry about contacting someone off-hours if you decide you need to roll back.

Article number: 
122261
Last updated: 
July 13, 2021