If your goal is to server assets (images, JS, css, etc) from within an S3 bucket, but using a custom DNS hostname, you can do the following:
- Create an S3 bucket matching your intended hostname:
assets.mycompany.com
- Setup a DNS
CNAME
record forassets.mycompany.com
in Route 53 =>assets.mycompany.com.s3.amazonaws.com
This will allow you to load a file like http;//assets.mycompany.com/foo.jpg
Full documentation for S3 usage this way can be found here: http://docs.aws.amazon.com/AmazonS3/latest/dev/VirtualHosting.html
If you need to serve S3/CloudFront content from your Apex aka "naked" domain (mycompany.com), you can configure an ALIAS
record in Route 53 pointing at your S3 bucket or CloudFront host.
http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/CreatingAliasRRSets.html