如何在数百个AWS实例上拆分数据文件?

Art*_*anV 3 amazon-web-services

我有一个json文件,里面有成千上万的个人工作细节.这些作业可以由单个脚本执行,并且完成得相对较快.

我计算出AWS中的500个实例将在1小时内完成工作并保持我的成本.

如何让每个实例运行不同的数据块?

jar*_*mod 5

一种选择是在单个RunInstances请求中从同一AMI启动多个EC2实例,并让每个EC2实例从S3读取相同的JSON文件.

然后,每个实例将从其元数据服务查询其自己的ami-launch-index.该ami-launch-index在与给定RunInstances请求相关的每个EC2实例上将是唯一的,并且将从0到N-1编号(其中N是您启动的实例数).

然后,每个EC2实例可以根据其本地ami-launch-index(让我们称之为K)处理JSON文件中的作业列表的子集,例如索引K,K + N,K + 2N处的作业, ...

另一种选择是编写一个预先解析JSON文件的脚本,确定每个N EC2实例应该处理哪些作业,然后将该列表的子集传递到userdata中的每个EC2实例,例如将其写入到json文件中.实例.在实例上运行的应用程序将读取该本地文件并处理相关作业.