Как автоматизировать запуск экземпляра Amazon EC2, выполнение некоторых команд и завершение работы?

8

Мне нужно скачать 100 ГБ файлов (примерно 150 файлов) в течение 7 дней до истечения срока их действия. Загрузка ограничена хостом, поэтому она занимает НАМНОГО дольше, чем теоретическая скорость передачи, основанная на обычной скорости интернета. У меня есть скрипт curl http://curl.haxx.se/docs/manpage.html - одна строка на файл.

У меня была идея автоматически раскрутить n экземпляров EC2, выполнить команду и отправить файлы по FTP в центральное место, а затем выключить машины. Как бы я это сделал?

Мне все равно, будь то Linux или Windows.

Howiecamp
источник

Ответы:

7

Я бы порекомендовал использовать один из AMI Canonical в сочетании с cloud-init

https://help.ubuntu.com/community/CloudInit

Найдите раздел «Скрипты пользовательских данных», где вы можете использовать --user-data-file для автоматического запуска скрипта при запуске. Таким образом, вы можете просто поместить все команды, которые вы хотите запустить, в сценарий и поставить «shutdown -h now» в конце сценария.

dialt0ne
источник
Похоже, официальный Amazon Linux AMI также поддерживает CloudInit: aws.typepad.com/aws/2010/09/introduction-amazon-linux-ami.html
dialt0ne
1

Я использовал boto, чтобы писать такие вещи раньше. Проще всего раскрутить образы linux, а затем использовать ssh для их работы.

pjz
источник
0

Не уверен в лучшем решении. Но если вы делаете это на регулярной основе и вам нужно что-то для автоматического запуска и остановки ваших компьютеров, то вы можете посмотреть на этот продукт: http://LabSlice.com (с оговоркой, что я являюсь техническим директором).

Саймон в LabSlice-com
источник
Ваш продукт выглядит великолепно, и ваш сайт выглядит потрясающе. Я принял другой ответ, потому что он был более конкретным в отношении сценариев.
Howiecamp
0

Vagrant с провайдером AWS делает это легко и является мультиплатформенным.

После того, Vagrantfileкак объект создан, вы запускаете экземпляр с помощью vagrant up, входите в него vagrant sshи уничтожаете его с помощью vagrant destroy. Супер-легкий.

Флорин андрей
источник