As réplicas de leitura de regiões cruzadas estão agora disponíveis. link
Agora estou usando o AWS RDS multi-AZ com ótimos resultados, o problema é que quero que minha infra-estrutura seja tolerante a falhas entre as regiões. Estou procurando algum tipo de ferramenta para fazer um cluster com RDS e meus servidores.
Ao ler, você não pode clusterizar diretamente do RDS para outro servidor, apenas Read Replicas, mas não entre regiões que não são da AWS.
Eu pensei em fazer algum tipo de mysqldump a cada 15min ou algo assim, mas isso não é eficiente, e a restauração pode ser difícil de manter.
Na sua experiência, qual é a melhor coisa a fazer, execute o meu próprio mysql e configure o clustering com minhas máquinas, ou faça outra coisa. Dessa forma, há algum tipo de replicação a frio que não afeta o desempenho? Quero dizer, a cada 5 minutos a sincronização muda. Eu posso pagar a perda de alguns dados, mas não o tempo de inatividade;)
Qualquer ideia, seria apre
As réplicas de leitura de regiões cruzadas estão agora disponíveis. link
A configuração do seu próprio cluster MySQL (com replicação em várias regiões) será demorada, dispendiosa e exigirá consultoria especializada para ajudar na configuração e manutenção. Dito isto, pode ser mais confiável do que a solução RDS atual (somente se você tiver feito isso corretamente), já que poderia sobreviver a uma falha na região inteira.
Se você realmente precisa de 100% de tempo de atividade, a opção de rever sua própria solução é uma opção. Você tem dinheiro, tempo e recursos para fazer isso? Você pode se dar ao luxo de investir milhares e milhares de dólares ou seria mais barato ter um pouco de tempo ocioso?
O RDS sofreu problemas antes (em 2012). Curiosamente, o site a seguir relata que esse risco pode ser muito minimizado usando a "opção de restauração pontual" ...
Like with the EBS issue, AWS reminded customers that if they enabled Point-in-Time Restore option, then they could launch a new database instances using a backup of the impacted database in another availability zone.
Outra opção seria simplesmente ter acesso aos seus backups . Por exemplo, se você tiver backups diários, poderá enviá-los para o S3 para facilitar o acesso (ou talvez fora da Amazon uma vez por semana, se estiver paranóico). No caso de uma falha do EBS / RDS, você poderá criar uma nova instância do RDS e restaurá-la mais rapidamente a partir do S3, caso o RDS apresente alguns problemas sérios. Esta solução assume que você está bem com algumas horas de inatividade em favor de não ter que fazer muito trabalho de engenharia de uma solução maluca de regiões cruzadas.
Finalmente, dependendo da sua aplicação, pode ser mais barato tentar tirar proveito de um banco de dados não-relacional. Eu sei que você afirmou que precisa de um banco de dados relacional, no entanto, a reengenharia de alguns ou de todos os seus aplicativos para usar um banco de dados não relacional pode ser mais fácil & mais barato, em seguida, rolar o seu próprio MySQL em multi-regiões (não-relacionais também lhe dão outros benefícios em torno da escala, etc). Esta solução não é para todos, e pode estar na cesta muito difícil para você (no entanto projetos futuros podem ser mais fáceis de implementar desta forma!).