AWS: Configuração de várias regiões usando uma única instância do RDS

11

Estou tentando dimensionar nosso aplicativo da web (PHP, MySQL, memcache) em um esquema de várias regiões. Atualmente, estamos usando uma configuração com duas instâncias do EC2 por trás de um ELB e uma instância do RDS, todas elas na região do EUA-EAST (Virgínia).

Gostaríamos de ter uma presença na região da UE (Irlanda) também. Isso significa pelo menos uma nova instância do EC2 (idêntica às outras, servindo o mesmo aplicativo).

Eu copiei a AMI desejada, configurei a nova instância, configurei a mesma configuração de ELB (necessária para a terminação SSL) e configurei o roteamento baseado em latência no Route53. E funciona como sugerido.

Mas, os clientes da UE têm problemas de velocidade. Isso se deve ao fato de que as instâncias do EC2 da UE se conectam à instância RDS baseada nos EUA. Até onde eu sei, a Amazon ainda não habilitou a replicação multi-região de RDS.

Você tem alguma sugestão sobre como acelerar adequadamente toda a configuração usando a única instância do RDS?

Além disso, alguma idéia em geral sobre como dimensionar as coisas? Idealmente, gostaríamos de continuar usando a tecnologia RDS por vários motivos. No entanto, estou aberto a sugestões (acho que a próxima ideia seria hospedar nossos próprios servidores MySQL).

    
por Ion 28.05.2013 / 12:20

5 respostas

5

Você deve pensar com cuidado porque precisa ter os mesmos dados nos EUA e na UE. Depois de todos esses são usuários diferentes.

A execução em um ambiente de várias regiões é muito mais complexa e, geralmente, devolve o desempenho devido à latência inerente entre EUA e UE.

Mesmo que você saia do RDS e tente replicar seus dados entre as regiões, seja com sincronização ou sincronização, você receberá problemas de latência que causarão um desempenho ruim aos usuários.

A maneira mais fácil é configurar um servidor RDS dedicado na UE e não compartilhar nada entre essas instâncias.

    
por 28.05.2013 / 20:44
4

O RDS é ótimo para implantações de região única devido à baixa latência, mas se torna uma história diferente quando você começa a expandir para as diferentes regiões. Se você quiser manter a instância do RDS, você pode configurar seu próprio servidor MySQL na região da UE e fazer a replicação. Desta forma, a velocidade será muito mais aceitável.

    
por 28.05.2013 / 13:02
2

Recentemente, a AWS fez um movimento na direção que eu havia perguntado anteriormente em minha pergunta ao anunciar réplicas de leitura RDS entre regiões . No entanto, esse é apenas um pequeno passo em direção a uma verdadeira configuração de várias regiões.

    
por 16.12.2013 / 18:20
1

Eu acredito que isso é o que você quer. Replicação do RDS para o EC2 executando o mysql em uma região diferente.

link

    
por 19.10.2013 / 17:46
0

Uma solução possível para melhorar a latência pode ser usar o Amazon ElastiCache (que é basicamente Memcached sob as capas).

Você teria que criar um nó do ElastiCache em cada região (US-EST e EU) e ter sua lógica de aplicativo (EC2) usando o nó de cache sempre que possível. Se você seguir esse caminho, terá que refazer a arquitetura de seu aplicativo 1) saber o que armazenar em cache e quando e 2) capturar o máximo possível do Nó do ElastiCache local.

    
por 23.08.2013 / 07:17