Question: I've an instance of ubuntu on amazon; it also gives a public DNS for me like ec2-XX-XXX-XX-XX.compute-1.amazonaws.com which is opened to world.

I've my own DNS which I link with amazon hosting/instance and I would like to hide public DNS from amazon to avoid duplicate of content for google SEO.

Is it possible and if so how can I do that?

Thanks.

Answer: 
All you need to do is configure your web server to respond just to the domain name. Technically speaking, you could access the web server on the ip address if you do not use virtual hosts.
* set up your hostname accordingly
* adjust your reverse-DNS entry
* delete the A-entry for the amazon-hostname (be sure to have your server-IP at hand in case you mistyped something!)
* double-check every service for configuration-mistakes, make the services bind themselves explicitly on your own domain