Das pessoas que gerenciam seus próprios clusters (ou seja, não usam / pagam pela Amazon Autoscale, Rightscale, Scalr etc.), como estão gerenciando suas instâncias no EC2 e lidando com (por exemplo) failover? Gostaria de saber se a maioria das pessoas acaba escrevendo suas próprias cargas de scripts contra a API do EC2, como suspeito.
Essa é certamente a nossa abordagem: prepare nosso próprio daemon de monitoramento / reinicialização baseado em Python Boto que roda fora do local, ouvindo as atualizações do UDP de nossas instâncias. Na falha, capturamos volumes, registramos imagens, iniciamos novas instâncias, excluímos volumes antigos e assim por diante.
De vez em quando, ao invadir nossos scripts, acho que já deve haver algumas ferramentas de código aberto que lidam com esses problemas e que não têm restrições de (digamos) Scalr, mas eu sempre volto do Google de mãos vazias. (Coisas que o Scalr tem são bastante limitadas no conjunto / versões / configurações de software suportadas e têm maneiras especializadas e complicadas da OMI de manipular essas configurações.)
Além disso, o ecossistema Linux-HA / Pacemaker (Heartbeat, ldirectord etc.) parece que não é realmente adequado para o EC2 . (Mas descobri isso - embora não tenha certeza de que seja realmente uma solução de alta qualidade).
O RightScale tem ótimos artigos sobre como automatizar o failover no EC2. Embora a maioria deles mostre como fazer isso usando o RightScale, os princípios são gerais e provavelmente úteis para quem pensa em como configurar uma arquitetura de failover no EC2.
fonte
Os problemas que você descreve (alta disponibilidade, monitoramento de servidores personalizados, serviços de "canalização") são geralmente tratados por um provedor de PaaS. Rightscale e Scalr já foram mencionados em uma resposta anterior e existem boas opções adicionais (veja aqui algumas opções de PaaS:
/programming/9542784/looking-for-paas-providers-recommendations )
Você deve considerar qual dos fornecedores oferece o melhor ajuste para o que você precisa.
Aviso prévio: trabalho para o cloudify, um provedor de PaaS de código aberto.
fonte
Recentemente, escrevi um post em nosso blog de engenharia sobre como usar o ELB em conjunto com o Auto Scaling para obter failover automático para qualquer tipo de aplicativo. Ele aborda como as verificações de integridade do ELB podem ser usadas para executar ping no status do seu aplicativo e disparar ações de dimensionamento automático.
fonte
Você instala a pulsação nos dois servidores. Você anexa um IP elástico ao servidor 'ativo'. Você configura um script para executar o failover iniciando uma solicitação de API para obter o IP elástico. Assim que o servidor 'stand-by' obtém o IP elástico ( demora cerca de 30 a 60 segundos), pode ser o mestre / ativo.
Não tenho detalhes específicos para fornecer aqui.
fonte
A Amazon já fornece o Elastic Load Balancing ... Por que reinventar a roda?
fonte