The 4 values you got from Route53 are name servers - they provide the location of where your records are stored (i.e. with Route53). In Route53, you need to have your actual A records. Previously, you (presumably) had one or more A records with GoDaddy which pointed to the elastic IP address of your EC2 instance, now, you need to recreate the same records in Route53 so that a lookup pointed to Route53 (which will be your new nameserver once the change propagates) will return the same record set that you previously had with GoDaddy.
When you access Route53, you get a list of your hosted zones:
Select one of them and 'Go to Record Sets':
From there, create a new A record, that points at your elastic IP address.
Update to address your comment:
You have a website, it has some code that renders it. The question is, when I type in example.com into my browser, how do I get to view your code? My browser will do a DNS lookup starting with the root nameservers (.) (which it should already know) - these will provide a list of .com nameservers, where it can lookup the nameservers for example.com. Those nameservers will provide the IP address that can be used to access your code. Your browser then goes to that IP address, and passes a host header to specify which domain it is trying to access (for instance, there could be multiple domains on the same server).
In order to move from GoDaddy to AWS, you can a) just move your code to AWS (if you have a static website, move it to S3 instead of EC2), and point your GoDaddy DNS records at your new host (e.g. your EC2 instance's IP address). In EC2, your instance's IP address will change when the instance reboots, etc. As such it is a dynamic IP address, not well suited for hosting a website. Instead, you need to allocate a static IP address, once that can be assigned to an instance - AWS call this an 'Elastic IP'. This is what you will use for your A record. (The same holds true whether you use GoDaddy's DNS or Route53 - you need an A record that points to the IP address of your server - but there is no requirement to use Route53 just because you are using AWS to host your site - there are some exceptions - e.g. using an elastic load balancer).
You need to configure an NS record for dyn.example.com
on Route53 which points to the EC2 instance running your custom name server which would be authoritative for the domain dyn.example.com
. Now DNS queries for hostnames under dyn.example.com
would hit your EC2 instance. All other resource records would be on this EC2 name server so that it can respond to queries.
Something like this should work.
dyn.example.com. 172800 IN NS ec2.example.com.
You do not need a wild card entry for the NS record. You may need to add glue records if the hostname you have given to the EC2 instance is under dyn.example.com
You probably can just use the Route53 API to create/modify/delete DNS records based on your application logic and use Route53 itself to host the zone, in which case you do not need to run a separate name server.
Best Answer
I am not really sure what you mean by this, but if you are asking if you can point
alias.example.org
via CNAME tomybucketid.s3.aws.com
(or whatever they are called, don't use this) from an external DNS provider, the answer is yes.The only thing you could only do from within Amazons service would be to set reverse records, as these have to be set or delegated by the owner of the net block.