Nosso objetivo é que um Healthcheck avalie continuamente a integridade de um endpoint. Quando se torna íntegro, queremos que o DNS faça failover para um endereço IP diferente. Nós configuramos isso, mas agora percebemos que na verdade não funciona (ou seja, quando o Healthcheck fica vermelho, não ocorre failover). Segue nossa configuração atual:
Uma gravação
- Nome do registro: www.meudominio.com
- Tipo de registro: A
- TTL: 30 segundos
- Política de roteamento: failover
- Tipo de registro de failover: primário
- Exame de saúde: www
- ID do registro: www-1
- Valor:
Uma gravação
- Nome do registro: www.meudominio.com
- Tipo de registro: A
- TTL: 30 segundos
- Política de roteamento: failover
- Tipo de registro de failover: secundário
- Exame de saúde: www
- ID do registro: www-1
- Valor:
Além disso, temos um exame de saúde.
OK - recentemente tivemos um problema, em que a verificação de integridade ficou vermelha. Fomos notificados via SNS como esperado. No entanto, ao fazer um NSLookup de www.mydomain.com ainda estava retornando o valor para o Primary. Corrigimos o problema em menos de 5 minutos.
Dado o TTL e assim por diante configurados acima, não deveríamos ter visto a atualização do NSLookup para mostrar o secundário? É possível que demore mais para o failover? Se sim, por quê?
Existe algum tipo de erro na configuração acima? Se assim for, qualquer orientação seria muito apreciada.
A partir da configuração mostrada na pergunta, parece que há apenas uma verificação de integridade vinculada aos registros primário e secundário?
Nesse caso, tanto o registro primário quanto o secundário serão sempre considerados para cima/para baixo ao mesmo tempo, o que prejudica toda a ideia de selecionar o melhor que está em alta.
Crie uma verificação de integridade para cada endpoint e vincule-os aos registros correspondentes.