Temos nosso servidor de e-mail hospedado na AWS. Na semana passada, a Amazon teve um fracasso em sua região da Costa Leste, que derrubou nosso servidor junto com muitos outros.
Agora, queremos implementar uma estratégia de failover para que, se o servidor de email ficar indisponível novamente, possamos simplesmente alternar para outro servidor de email em uma zona diferente e os usuários possam continuar enviando e recebendo emails, assim como ainda tendo acesso aos seus existentes itens de correio.
Obviamente, fazer cópias de segurança periódicas de mensagens não é uma solução suficientemente boa porque existe um fluxo constante de e-mails recebidos e enviados sendo gravados no disco.
Estamos usando um Windows 2008 Server e executando o Mailenable Enterprise. Configuração para MailEnable (por exemplo, contas de usuário, senhas, etc.) são armazenados em um banco de dados do SQL Server no servidor de email.
Estamos considerando a seguinte solução:
- Armazena o armazenamento do S3 como uma unidade do Windows para armazenar mensagens usando uma ferramenta como tntdrive . Ao contrário do EBS-storage (que é restrito a uma única zona de disponibilidade), o armazenamento do S3 está disponível em todas as zonas de disponibilidade, o que tornaria nosso armazenamento disponível mesmo se uma única região falhar.
- Pegamos instantâneos diários do servidor de email e copiámos isso para o S3.
- No caso de falha do servidor de e-mail, criamos uma nova instância do servidor de e-mail a partir de nossa captura instantânea (isso significa que alterações de configuração como alterações de senha ou criação de nova conta de usuário que ocorreram desde a captura instantânea não serão incluídas, mas podemos aceitar esse risco)
- Montamos o armazenamento do S3 contendo as mensagens como uma unidade no novo servidor.
- Mudamos o ip elástico do servidor de e-mail para o novo servidor e temos um servidor de e-mail disponível novamente!
Esta solução funcionará? Estou um pouco preocupado com a latência e o custo do S3 em comparação com o EBS (consulte link ). Existe uma abordagem diferente que deveríamos estar olhando? Você recomendaria diferentes ferramentas da Amazon para resolver o problema?