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.