Back when I wrote Building a Better CDN, the whole thing was held together by NGINX and AWS Route 53 geolocated DNS. It worked (and honestly, it still works), but a few years later the network has grown to 15 edge nodes across North America, Europe and Australia, and the DNS side of it had quietly turned into the most expensive part of the whole operation.
So, I went looking at my AWS bill, and then I went looking for something better.
Route 53 Traffic Flow is a really nice product. You build a visual tree of rules, attach health checks, and AWS figures out where to send people. The catch is how it's priced. Every policy record (the thing that actually attaches a policy to a hostname) is $50 a month. Not per policy — per record. I had three of them.