I'm trying to get CloudFlare to sit in front of Route 53. I have my main web server on an ELB (which doesn't have an IP address). CloudFlare needs an IP for an
A record, so how can I accomplish this?
Disclosure: I work at CloudFlare.
If you happen to have a server with Python and dig installed, you can set this on a cron job: https://github.com/bundan/CloudFlare-ELB-Updater and basically flatten the CNAME at the root to the associated A records -- therefore addressing the CNAME at the root issues.
You can attempt a manual CNAME setup. Here's a link to the relevant article in the CloudFlare knowledge base.
According to CloudFlare support, the setup with a CNAME at the root domain in Route 53 is less than ideal, but they offer some remediation.
I know this is less than satisfying for you.