https://support.cloudflare.com/hc/en-us/articles/200168916-C...
"the system currently does not have the functionality to automatically select the next available server if one of the servers in the group goes down"
https://support.cloudflare.com/hc/en-us/articles/200168916-C...
"the system currently does not have the functionality to automatically select the next available server if one of the servers in the group goes down"
The only big downside is that on AWS you can't have an elastic IP associated with an elastic load balancer, so you either have to run your own HA haproxy/nginx/whatever cluster in EC2 in order to have a single IP to point CloudFlare to.
If you can live with a subdomain you can point that cname to an ELB.
Alternatively, CloudFlare's API is pretty reasonable, so you could home-brew health checks that de-register dead nodes from CloudFlare. Even a simple nagios check handler could do that.
https://support.cloudflare.com/hc/en-us/articles/200169056-C...
There's no way to ensure the rest of the internet will handle it correctly though with all the proxies and DNS caches in the middle and low TTLs can also add latency to end-users who might have to constantly do a DNS lookup on new connections.
If you're using CloudFlare's full service (instead of just DNS), then it'll be seamless because their IPs don't change.
[1] https://blog.cloudflare.com/introducing-cname-flattening-rfc...