Como manter suas instalações quando sua Instância Spot morre no AWS EC2?

3

Eu li esta pergunta e respostas: Será que o meu Volumes de instância de ponto do EC2 morrem com a instância?

Como resultado, quando solicitei uma Instância Spot, adicionei um segundo volume aos volumes do EBS (o volume padrão que ele me forneceu) e desmarquei a tag Delete.

Eu, então, o SSH lançou minha instância assim que ela estava pronta e instalada, o que eu precisava instalar (pacotes Tensorflow, iPython, Jupyter, etc ... para Machine Learning).

Em seguida, lancei um bloco de anotações jupyter com jupyter notebook --certfile=~/certs/mycert.pem --keyfile ~/certs/mycert.key , criei um novo bloco de anotações, salvei-o e terminei a Instância Spot para testar se todas essas instalações e meu bloco permaneceriam no segundo volume sem exclusão que criei com minha instância pontual.

Quando fui encerrar, confirmou que o segundo volume do EBS NÃO seria apagado.

Em seguida, iniciei outra instância spot sem especificar um segundo volume do EBS, e todas as minhas instalações e o notebook foram , quando tentei iniciar o jupyter recebi um "comando não encontrado" erro.

Eu preciso de alguma forma "cd" para esse volume específico depois que eu SSH lançar a instância? Tudo o que faço automaticamente não é salvo no segundo volume do EBS? Preciso tirar uma foto ou criar uma imagem do segundo volume do EBS?

Qual é a maneira mais fácil de manter minhas instalações e arquivos, não importa o quanto minha Instance termine e acesse-os posteriormente em qualquer outra instância ? Analisei os preços do EBS e não me importo de pagar US $ 0,1 / GB / mês, mas não sei como fazer isso funcionar.

    
por jeremy radcliff 28.10.2016 / 01:30

2 respostas

6

Em geral, você precisa garantir que qualquer estado de seu interesse esteja armazenado no volume secundário do EBS.

Eu diria, no entanto, que você está fazendo errado se você estiver instalando manualmente tudo isso em uma instância pontual. Ao fazer isso, você está se preparando para o fracasso, e para uma quantidade absurda de tarefas repetitivas e chatas acontecerem em seu caminho para esse estado de falha.

Em vez de fazer o que você está fazendo, inicie uma instância sob demanda e configure-a como quiser com relação a instalações de software, credenciais, serviços, etc. Em seguida, faça uma AMI dela. Com essa imagem, você pode criar instâncias spot que estão 100% prontas para serem inicializadas.

Com relação à retenção de outro estado, você precisará retrabalhar seu fluxo de trabalho para manter o estado no S3 ou montar um volume não excluído do EBS em um determinado local no sistema de arquivos e garantir que todo o seu estado é armazenado nesse sistema de arquivos para que possa ser anexado e montado novamente em uma instância spot futura.

    
por 28.10.2016 / 02:15
0

Com as melhorias das instâncias da AWS no local, você agora pode interromper ou hibernar as instâncias também, em vez de ser encerrado. A sugestão de construir a AMI na resposta aceita ainda é relevante e deve ser feita como uma boa prática.

    
por 20.12.2017 / 20:52