This. In general, you want to be measuring the latency directly to the resources you&#x27;re routing to - the Internet&#x27;s a screwy place, and latency to an AWS datacenter in Virginia might not match latency to your datacenter nearish Virginia. AWS provides a latency dataset for their infrastructure, but I&#x27;d probably stick to geo if I&#x27;m routing to resources not actually on their infra.<p>Other providers (eg. NS1) offer more ways to feed data into their system, so you may be able to create your own latency dataset and ship it off to them to use as a routing policy. Most large companies have built similar looking systems for tracking client latency to their DCs (look up Facebook&#x27;s sonar&#x2F;cartographer for an example). Synthetic, backbone monitoring like pingdom&#x2F;gomez&#x2F;etc. is usually not as useful for latency routing as RUM metrics.<p>Edit: And to be clear, failover and geo have no ties whatsoever to running on EC2. They&#x27;re also common features across managed DNS providers, so it&#x27;d be very easy to run the same config across multiple providers for redundancy or migrate off of R53 without lockin (check out Netflix&#x27;s denominator library).