Я играю с EC2, и вот мой сценарий:
Один раз: Создан экземпляр EC2 с необходимой парой ключей.
Ежедневно:
fire up an EC2 instance.
send a file of IDs to EC2 micro-instance from local machine.
fire a python script to process the IDs and generate an output file.
fetch the output file to the local machine from the EC2 instance.
stop the EC2 instance.
факторы:
I am using the same EC2 instance every time I want to process this file.
I want to keep costs down, so I want to cron the whole process to start and stop at a certain time interval.
Примерный код:
from boto.ec2.connection import EC2Connection
AWS_ACCESS_KEY_ID = 'yourkey'
AWS_SECRET_ACCESS_KEY = 'yoursecret'
conn = EC2Connection(AWS_ACCESS_KEY_ID,
AWS_SECRET_ACCESS_KEY)
reservation = conn.run_instances('ami-5647a33f', instance_type='m1.micro', key_name='mykey')
instance = reservation.instances[0]
while not instance.update() == 'running':
time.sleep(5)
## Fetch the file from local machine
## --> Do the processing here --<
## send the file back to the local machine
# time up for the day, stop it
instance.stop()
Прямо сейчас я вручную запускаю и останавливаю экземпляр EC2 и выполняю rsync-файл назад и вперед.Я хочу устранить этот шаг.Это лучший способ сделать это или у вас есть предложения?Если вы можете добавить несколько строк в код с примером входного файла с локального компьютера (abc.txt) и распечатать содержимое файла в ec2, вывести его в файл out.txt и получить его обратно.Передача файлов без запроса пароля становится проблемой.(в конечном итоге добавит в файл hosts, но пока не просматривал его)
Спасибо, SOers!