我对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,该循环不断轮询输入队列,广告处理消息(如果可用)。这就是我认为在Django中所做的-PDF在AWS博客http://aws.amazon.com/articles/Python/3998上的例子。boto.services处理读取消息、在S3中检索和存储文件、编写消息等的所有细节。以上哪种方法更适合批量处理应用程序,还是有更好的方法?另外,对于上述每一项,我如何结合使用自动缩放组来根据输入队列中的负载来管理EC2机器。在这方面的任何帮助都将是非常感谢的。谢谢。
发布于 2014-03-19 17:09:34
您应该编写一个应用程序(例如使用Python )来执行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的文档中可以使用去尾过程。
https://stackoverflow.com/questions/20981303
复制相似问题