EC2启动时间的行为

时间:2018-09-14 00:39:08

标签: amazon-ec2

我有一个用例,其中我们有一个非常大的计算工作,可以相当有效地将其分解为许多小的工作单元。可以说m4.large实例实际上可以进行1000个小时的计算工作。可以说我希望在接下来的10分钟内恢复结果,这意味着我需要6,000个实例来及时完成工作。

到目前为止,我已经设置了AWS批处理,仅使用了您帐户随附的20个m4.large实例。我知道我可以增加AWS请求的实例数量,但是如果您突然尝试提供数千个按需实例,或者AWS限制了您可以使用的实例数量,我仍然对该行为到底是什么还是一无所知。 / p>

所以我的问题是我是否可以按需启动数千个m4.large实例?如果是这样,我会在什么时候寻找所有实例进入Running状态。

2 个答案:

答案 0 :(得分:2)

我已经使用〜100个实例完成了很多次,但从未在数千个实例中做到过。

步骤1:使用AWS打开支持凭单。您将需要使您的帐户获得批准,进行信用检查等。我的客户是非常大的公司,因此对他们而言,信用和批准过程很容易。如果你是小家伙,我不知道。

第2步:仔细考虑您的VPC设计以及如何处理这么多实例。如果让5个实例通过NAT网关是一回事,但是一百个系统将使Internet连接瘫痪。

步骤3:考虑所需的网络带宽。您是否需要展示位置组或高速Intranet或Internet连接?

步骤4:请准备好不能启动具有特定实例类型的所有实例(容量不可用错误)。选择一些可以依赖的实例。

步骤5:我使用Python创建自己的软件,以启动实例,执行更新,安装软件等。然后,您可以使用Boto3 EC2 API轮询实例,以确定何时运行所有实例。 1,000个实例的时间长度与1个实例的时间没有太大差异。

现在进入现实世界。如果您的工作需要1,000个小时,则启动1,000个实例不会将其减少到1个小时,除非您具有真正可扩展的软件设计,并且所需的机器间通信最少。一旦超过10个系统,网络带宽和通信开销便成为问题。即使AWS的资源巨大,由一个客户一次启动1,000个EC2实例也不是常见的启动案例。

我也不会启动1,000个实例来缩短处理10分钟的时间。您的实例可能需要10分钟才能上线,进行更新,同步等。这意味着您将花费50%的预算用于等待时间。对于当今非常庞大的工作,我们更喜欢使用Hadoop / Spark,在这种情况下,可以扩展到数百台计算机是可行的。

答案 1 :(得分:1)

您可以联系AWS客户服务以增加EC2限制(使用EC2管理控制台的 Limits (限制)部分中显示的链接)。他们将验证您的用例。

您还可以考虑使用现货定价来降低费用。竞价型实例需要花费更长的时间。

示例用例:Gigaom | Cycle Computing once again showcases Amazon’s high-performance computing potential

还有诸如Spotinst之类的服务,可以帮助您以最低的成本配置服务器。