I have read many articles and also topics in SO, but could not find out any further help.
I have on instance of AWS-EC2, and want to hold several public sites within it.
You can add multiple secondary IP addresses to your EC2 instances inside a VPC - See here: http://aws.typepad.com/aws/2012/07/multiple-ip-addresses-for-ec2-instances-in-a-virtual-private-cloud.html
Then you can attached a public elastic IP addresses to these private IPs. See instructions here: http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-ip-addressing.html#WorkWithEIPs
Then you can use Route 53 (or other DNS service) to point your URL to the IPs of your sites. Here is a link to the getting start with Route 53: http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/GetStarted.html
Update: Once you have your multiple IP you need to point your Domain URL to the different IP. With Route 53 as a distributed and highly available DNS service, you can add these records. See on the documentation about the specific instructions: http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/CreatingNewDNS.html