Quando a instância do EC2 fica inativa, como abrir uma nova máquina com o volume existente do EBS?

1

Temos um aplicativo no qual os clientes enviam dados e documentos para várias instâncias do EC2. Nós armazenamos os uploads nos volumes do EBS.

Ocasionalmente, nosso aplicativo falhará. Às vezes é algo no nosso servidor de aplicativos e, às vezes, é um hardware ruim do EC2.

Como posso recuperar uma instância específica automaticamente? Em outras palavras, quando uma instância fica indisponível por mais de X minutos, eu gostaria de encerrar a instância automaticamente, iniciar uma nova (possivelmente em novo hardware) e anexar o antigo volume do EBS a ela para que os dados do cliente sejam preservados .

Existe alguma maneira de configurar o CloudWatch ou o escalonamento automático para fazer isso?

    
por Shef 20.09.2013 / 19:51

1 resposta

1

How can I recover a particular instance automatically? In other words, when an instance becomes unavailable for more than X minutes, I'd like to terminate the instance automatically, start a new one (possibly on new hardware), and attach the old EBS volume to it so the customer's data is preserved.

isso pode ser feito usando a API amazon. Basicamente, ter um cron para tirar instantâneos do volume ebs a cada 12 horas ou mais .... então tem nagios verificar o host, e em 10 falhas ou mais, tem nagios executar um script para chamar as ferramentas de API. o script nagios executado poderia então:

1) localize instanceid do host (seja por ssh'ing no host e http'ing aws meta-data, ou grep'ing ec2-describe-instance)
2) termine o id da instância (ec2-terminate-instance)
3) criar volume a partir do instantâneo (ec2-create-volume)
4) lançar nova instância com base em ami (ec2-run-instance)
5) anexar novo volume à instância (ec2-attach-volume)

ferramentas aws cli api: link

No entanto, existem outros problemas, como dns, ips elásticos, grupos de segurança, proteção de finalização e configuração do serviço de camada de aplicativo que talvez precisem ser resolvidos. execute ec2-run-instance -h para mais ajuda, ou visite fóruns aws api ...

    
por 22.09.2013 / 01:06