Como automatizar uma inicialização de instância do Amazon EC2, execução de alguns comandos e desligamento?

8

Preciso fazer o download de 100 GB de arquivos (em cerca de 150 arquivos) em um período de sete dias antes que eles expirem. O download é limitado pela taxa pelo host, portanto, é muito mais demorado do que a taxa de transferência teórica com base nas velocidades normais da Internet. Eu tenho um script de comandos link - uma linha por arquivo.

Eu tive a idéia de girar automaticamente n instâncias do EC2, executando o comando e enviando por FTP os arquivos para um local central, depois desligando as máquinas. Como eu faria isso?

Eu não me importo se é o Linux ou o Windows.

    
por Howiecamp 31.01.2011 / 20:14

4 respostas

7

Eu recomendaria usar uma das AMIs da Canonical em conjunto com o cloud-init

link

Procure a seção "Scripts de dados do usuário", na qual você pode usar o arquivo --user-data para iniciar automaticamente um script na inicialização. Assim, você pode simplesmente colocar todos os comandos que deseja executar no script e colocar "shutdown -h now" no final do script.

    
por 01.02.2011 / 22:54
1

Eu usei o boto para escrever essas coisas antes. É mais fácil girar as imagens do linux e depois ssh nelas para que funcionem.

    
por 31.01.2011 / 21:46
0

Não tenho certeza da melhor solução. Mas se você estiver fazendo isso regularmente e precisar de algo para iniciar e parar automaticamente suas máquinas, convém analisar este produto: link (com o aviso de que eu sou o CTO).

    
por 01.02.2011 / 06:11
0

Vagrant com o provedor da AWS faz isso facilmente e é multiplataforma.

Quando o Vagrantfile for criado, você inicia a instância com vagrant up , efetua login nela com vagrant ssh e a destrói com vagrant destroy . Super fácil.

    
por 01.05.2014 / 01:45