Você pode usar o roteamento baseado em latência AWS Route 53 . Estou bastante confiante de que você pode usar o R53 com fontes não-AWS.
Alternativamente, a CloudFlare tem um gerenciador de tráfego que pode fazer "orientação geográfica". Ele ainda pode estar na versão beta e não sei se está no plano gratuito ou pago.
Atualizar Acabei de notar sua segunda pergunta. Suponho que seu objetivo seja principalmente o tempo de carregamento da página, com uma preocupação secundária de disponibilidade do serviço. Além disso, vou assumir que o site é o Wordpress, porque é mais difícil fazer o que eu estou sugerindo abaixo com o software padrão do que o personalizado escrito.
Se você quiser que os dois sites que veiculam tráfego ao mesmo tempo, em sincronia, você terá que considerar algum tipo de replicação de banco de dados multi-mestre. Isso não é tão simples, mas existem técnicas para fazer isso. A Digital Ocean tem um tutorial sobre aqui . A sincronização RSync ou BitTorrent irá lidar com a replicação de arquivos.
Se o seu único objetivo for tempos de resposta rápidos, talvez você esteja usando um único servidor com um CDN para garantir que seus recursos estáticos sejam atendidos localmente - o CloudFlare é bom para isso. Sua latência para uma solicitação para a página provavelmente não é tão significativa, em torno de 100ms extras, outros recursos serão servidos a partir do nó mais próximo.
Se o seu único objetivo for redundância em caso de falha, você ainda poderá considerar para o banco de dados um cenário de tipo de réplica mestre / de leitura. Ter todo o tráfego roteado para um servidor, com o banco de dados e os arquivos replicando ao vivo para o segundo site. Se o site principal falhar, você fará o failover para o segundo site. Se isso acontecer, você precisa descobrir o que fazer quando o site principal voltar a ficar on-line, como você recupera as coisas em sincronia. Neste caso, o multi-mestre ainda pode ser mais fácil, para manter as coisas sincronizadas.
Infelizmente, o que você está tentando fazer não é totalmente trivial e pode ser moderadamente a excepcionalmente complexo, dependendo dos casos de uso. Nós realmente precisamos entender seus objetivos para oferecer melhores soluções.