我是AWS的新手,我正在尝试将基于python的图像处理应用程序移植到云端。我们的应用场景类似于此处描述的批处理场景 [media.amazonwebservices.com/architecturecenter/AWS_ac_ra_batch_03.pdf]
具体涉及的步骤是:
(bucketname, keyname)
的消息
到输入队列(使用SQS)。步骤4-9将涉及使用EC2实例。
从在线boto文档和教程中,我了解了如何将S3,SQS和dynamoDB合并到管道中。但是,我不清楚如何进行EC2包含。我尝试在线查看一些示例实现,但无法弄清楚EC2机器应该如何使我们的批处理图像处理应用程序工作
BOOTSTRAP_SCRIPT
不断轮询
输入队列广告处理消息(如果可用)。这就是我
认为正在AWS博客上的 Django-PDF 示例中完成
http://aws.amazon.com/articles/Python/3998 boto.services
来处理所有阅读细节
消息,在S3中检索和存储文件,编写消息等。
这是在怪物渣滓混搭的例子中使用的
http://aws.amazon.com/articles/Python/691 上述哪种方法适用于批处理应用程序,还是有更好的方法?此外,对于上述每一项,我如何结合使用自动缩放组来根据输入队列中的负载管理EC2机器。 在这方面的任何帮助将非常感谢。谢谢。
答案 0 :(得分:1)
您应该编写一个应用程序(例如使用Python和Boto)来执行SQS轮询并与S#和DynamoDB交互。
此应用程序必须在引导时安装在EC2实例上。有几个选项可用(CloudFormation,Chef,CloudInit和用户数据或自定义AMI),但我建议您从这里描述的用户数据开始http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/user-data.html
您还必须确保您的实例具有与S3,SQS和DynamodDB通信的适当权限。您必须为此创建IAM权限。然后将权限附加到角色,并将角色附加到您的实例。详细程序可在http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html
的文档中找到