Há alguns dias, estou testando um RDS Aurora Writer-Reader (como o clássico mysql Master-Slave). Especificamente em sua capacidade de recuperação contra um failover no escritor, entre outras tarefas, o RDS deve trocar o papel de escritor e leitor (tudo bem nesta etapa) e trocar o endpoint CNAME para que a aplicação possa continuar normalmente.
No meu caso, essa etapa final não aconteceu e minha aplicação ainda aponta para a mesma máquina (esta máquina está em failover e depois é degradada para leitor).
Para testar isso, uso o botão "Test Failover" no painel RDS.
O recurso de alteração do endpoint CNAME é mencionado nos documentos oficiais: https://aws.amazon.com/rds/faqs/#45
No parágrafo seguinte:
O failover é tratado automaticamente pelo Amazon RDS para que você possa retomar as operações do banco de dados o mais rápido possível, sem intervenção administrativa. Ao fazer failover, o Amazon RDS simplesmente inverte o registro de nome canônico (CNAME) da sua instância de banco de dados para apontar para o modo de espera, que por sua vez é promovido para se tornar o novo primário. Recomendamos que você siga as práticas recomendadas e implemente novas tentativas de conexão com o banco de dados na camada do aplicativo.
Responder1
Baseado em @Michael - sqlbot, resolvo o problema. Ao usar o aurora na configuração de HA, você precisa usar, na configuração do seu aplicativo, o endpoint do cluster, não o endpoint da instância, porque o nome muda dentro do cluster.
Responder2
Eu tenho outra pergunta sobre isso. Então, no route53, que tipo de registro devemos criar? CNAME está ok? e se eu tiver 2 endpoints de cluster, preciso criar um cname para cada cluster? ou apenas um CNAME? Eu tentei e vi que não é possível criar 1 CNAME com 2 endpoints de cluster. Obrigado !