Quero minimizar o tempo de inatividade da aplicação e os erros de conexão quando ocorrem failovers em meu cluster do Amazon Aurora compatível com MySQL.
Resolução
Quando ocorre um failover em um cluster do Aurora compatível com MySQL, o cluster pode sofrer interrupções temporárias de conexão e erros devido ao tempo de inatividade. Se você não definiu corretamente as configurações, o tempo de inatividade da aplicação será prolongado. Para minimizar o tempo de inatividade da aplicação durante o failover, realize as seguintes ações.
Use os endpoints de cluster e de leitor
Conecte-se aos endpoints de cluster e aos endpoints de leitor. É uma prática recomendada não se conectar a endpoints individuais de instâncias de banco de dados. Os endpoints de cluster e de leitor acompanham automaticamente as mudanças nos perfis da instância após o failover. Use o endpoint de cluster para apontar automaticamente para a instância de banco de dados de gravador atual para operações de leitura e gravação. Use o endpoint de leitor para apontar automaticamente para as instâncias de banco de dados de leitor disponíveis para operações de leitura.
Defina um valor baixo de TTL do DNS
Se sua aplicação armazenar em cache os endpoints de DNS das instâncias de banco de dados do Amazon Aurora, defina um valor de vida útil (TTL) de menos de 30 segundos. O valor de TTL garante que dados obsoletos de DNS não sejam armazenados em cache por muito tempo após um failover, quando os endereços IP subjacentes podem mudar. Se você definir um valor de TTL muito alto, sua aplicação pode usar o endereço IP antigo após um failover e prolongar os erros de conexão.
Use o driver JDBC da AWS
Use o driver Java Database Connectivity (JDBC) da AWS para alternar a conexão para uma nova instância de banco de dados de gravador ou leitor sem depender da propagação do DNS. O driver pode restaurar rapidamente sua conexão. Para obter mais informações, consulte AWS JDBC Driver (Driver JDBC da AWS) no site do GitHub.
Use o Amazon RDS Proxy
Use o Amazon RDS Proxy para se conectar diretamente às instâncias de banco de dados. O proxy encaminha automaticamente o tráfego para a nova instância de banco de dados de gravador e minimiza o tempo de inatividade da aplicação durante os failovers. O proxy contorna os problemas de cache do DNS e preserva as conexões existentes durante um failover. O Amazon RDS Proxy rastreia os perfis da instância de banco de dados com base nos metadados do cluster sem depender do DNS. O proxy pode ajudar a restaurar rapidamente a conexão e pode ser mais rápido do que esperar pela propagação do DNS.
Informações relacionadas
Introducing the Advanced JDBC Wrapper Driver for Amazon Aurora (Apresentando o Driver JDBC Wrapper avançado para Amazon Aurora)
Improve application availability on Amazon Aurora (Melhore a disponibilidade de aplicações no Amazon Aurora)