Usando um Elastic Load Balancer com uma única instância do EC2 na AWS

5

Estou usando o nível gratuito da AWS, que me oferece uma microinstância EC2 gratuita e um Elastic Load Balancer gratuito, se eu entender as coisas corretamente.

Eu entendo que geralmente os ELBs são usados quando você está usando várias instâncias do EC2. Eu realmente não quero executar várias instâncias se eu puder ajudar, e 90% do tempo a minha única instância do EC2 parece lidar com o tráfego que é lançado, mas ocasionalmente ele não responde e precisa ser reinicializado. Não parece fazer isso automaticamente.

Eu li que os ELBs reiniciam microinstâncias que ele chama de "não-íntegro" (não responde a várias tentativas de ping). Então, uma ideia que tive foi criar um único ELB, atribuir meu único EC2 a ele e criar uma situação de "reinicialização automática se ficar paralisada".

Eu configurei, e isso não me impediu ou latiu, mas eu estava me perguntando se estou entendendo isso direito. Eu sou relativamente novo na administração de servidores e apenas estou entrando em conceitos como micro-instâncias e ELBs e tudo mais, embora (como todos os tolos) eu acho que eu entendo o básico disso.

É uma boa ideia? Existe uma maneira mais fácil de conseguir isso? Eu tentei o Google e procurei por outras pessoas fazendo a mesma coisa e não encontrei ninguém, mas não posso dizer se é porque não funciona ou porque ninguém é tolo o suficiente para tentar usar uma única micro instância do EC2 para todo o tráfego deles. Estou profundamente desconfiado de que é uma má idéia, já que não vejo ninguém falando sobre isso, e embora eu seja razoavelmente esperto sobre algumas coisas, não estou muito confiante em ser esperto nesses assuntos!

Obrigado pela sua ajuda!

    
por nucleon 23.07.2013 / 22:59

1 resposta

9

O Elastic Load Balancer (ELB) da Amazon distribui solicitações para instâncias saudáveis que foram atribuídas a ele. Não reinicia ou modifica essas instâncias (ou seu número). Ele determina instâncias "saudáveis" por meio de uma verificação de integridade - normalmente pesquisando em um determinado local.

O que você está pedindo é "manter uma instância saudável" - essa é uma tarefa de dimensionamento automático. O escalonamento automático permitirá que você defina um grupo de instâncias (geralmente incluindo uma AMI a ser lançada, o tipo de instância, uma ou mais zonas de disponibilidade para ativar as instâncias e o número de instâncias a serem mantidas (mínimo / máximo)), bem como políticas para aumentar ou diminuir a escala. Uma política de escalonamento automático retorna um ARN (Amazon Resource Name - uma referência a um recurso).

Depois de ter a configuração do grupo de dimensionamento automático, tudo o que você precisa fazer é acionar as políticas de ajuste de escala quando uma instância se tornar insalubre. Se você observar atentamente a verificação de integridade que configurou com o ELB, você notará que pode configurar um alarme - e esse alarme é, na verdade, um alarme do Cloudwatch.

Você pode configurar seus próprios alarmes do Cloudwatch ou configurá-los através da verificação de integridade do ELB - basta especificar o --alarm-actions para acionar o ARN de dimensionamento automático quando seus critérios de nó não íntegros forem atendidos.

O ELB não é tecnicamente necessário nesta configuração - o dimensionamento automático fará o trabalho sozinho. O que o ELB faz por você é fornecer um endereço DNS para o qual você pode acessar sua (s) instância (s) e também algum tipo de mensagem de erro quando um back-end não estiver disponível. (Com o escalonamento automático sozinho, você precisará reassociar seu IP elástico à nova instância quando for iniciado (que pode ser roteirizado)).

Finalmente, apenas para esclarecer: O CloudFlare não é um serviço da AWS - é um CDN (e é bem conhecido por mitigar ataques DDoS). O serviço equivalente da Amazon é o CloudFront - você não precisa de nenhum deles para reiniciar instâncias. O que você precisa é do CloudWatch - serviço de monitoramento da Amazon). O nível gratuito cobre tanto o Cloudwatch quanto alguns alarmes.

    
por 24.07.2013 / 03:38