You shouldn't run DNS out of the EC2 cloud; DNS needs to be stable and EC2 is not.
The recommended thing to do is to use Route 53. This is flexible, cheap, high-availability DNS. If you'd rather host your own DNS you're perfectly capable of doing so, but this should be done on a VPS or other server.
Things to keep in mind include that if you want reverse-IP mappings, you'll have to ask Amazon to provide them (these are rather important when sending mail, and not so important otherwise). Often it's simply easier to use the DNS records you get.
And lastly, any DNS entries will have to be associated with an Elastic IP rather than the local IP on the instance. You should look up the difference between Elastic IPs and instance IPs; the short version is that Elastic IPs can be quickly switched to new instances when instances go down.