В дополнение скажу что GeoDNS это самая простая часть, поскольку этот сервис можно легко и дешево купить у кучи провайдеров.
Как организовать эти самые серверы в разных странах? - это уже вопрос поинтересней и посложнее.
Cloudflare и ему подобные CDN дают оба сервиса вместе.
В случае AWS, Azure и прочих DNS - нужно делать самому.
На мой взгляд, в этой архитектуре есть две потенциальных проблемы - scalability и high-availability. То есть она не поддерживает запуск контейнеров на нескольких серверах и запуск нескольких контейнеров с сервисом.
Если это не требуется, то ИМХО конфигурация вполне нормальная. Если требуется - то нужен Kubernetes или другой оркестратор.
Насколько понимаю, проблема у вас не только в DNS, но ограничусь DNS.
В resolv.conf в линуксе прописаны DNS сервер(ы) и парараметры.
Среди параметров можно указать domain и search, которые позволяют искать "короткие" имена хостов.
Пример:
Я советую перенести сервер к хостеру у которого нет проблем с интернетом.
Есть достаточно много реальных проблем (безопасность, scalability, DDoS protection, скорость, и т.п.), не стоит тратить время на построение костылей для плохого интернета.