首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >基于自动缩放组的EC2在自动图像处理中的应用

基于自动缩放组的EC2在自动图像处理中的应用
EN

Stack Overflow用户
提问于 2014-01-07 20:32:19
回答 1查看 938关注 0票数 2

我对AWS很陌生,并试图将基于python的图像处理应用程序移植到云上。我们的应用程序场景类似于这里描述的批处理场景,media.amazonwebservices.com/architecturecenter/AWS_ac_ra_batch_03.pdf

具体而言,所涉步骤是:

  1. 接收大量图像(>1000)和一个包含图像元数据的CSV文件
  2. 解析CSV文件并创建一个数据库(使用dynamoDB)。
  3. 将图像推送到云中(使用S3),并将表单(bucketname, keyname)的消息推送到输入队列(使用SQS)。
  4. 输入队列中的"Pop“消息
  5. 从S3获取适当的图像数据,从dynamoDB获取元数据。
  6. 做加工
  7. 在dynamoDB中更新该图像的对应条目
  8. 将结果保存到S3
  9. 将消息保存在输出队列(SQS)中,该队列为管道的下一部分提供信息。

步骤4-9将涉及EC2实例的使用。

从boto文档和在线教程中,我了解了如何将S3、SQS和dynamoDB集成到管道中。但是,我不清楚如何进行EC2包含。我试着在线查看一些示例实现,但找不出EC2机器应该做什么才能使我们的批处理图像处理应用程序工作。

  1. 使用具有无限循环的BOOTSTRAP_SCRIPT,该循环不断轮询输入队列,广告处理消息(如果可用)。这就是我认为在Django中所做的-PDF在AWS博客http://aws.amazon.com/articles/Python/3998上的例子。
  2. 使用boto.services处理读取消息、在S3中检索和存储文件、编写消息等的所有细节。

以上哪种方法更适合批量处理应用程序,还是有更好的方法?另外,对于上述每一项,我如何结合使用自动缩放组来根据输入队列中的负载来管理EC2机器。在这方面的任何帮助都将是非常感谢的。谢谢。

EN

回答 1

Stack Overflow用户

发布于 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的文档中可以使用去尾过程。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20981303

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档