Amazon ec2 EC2用于处理需求高峰

Amazon ec2 EC2用于处理需求高峰,amazon-ec2,scalability,load-balancing,Amazon Ec2,Scalability,Load Balancing,我正在为一个移动应用程序编写后端,该应用程序需要大量cpu。我们预计,该应用程序在大多数情况下不会有大量使用,但偶尔会出现高需求高峰。我在想,我们应该保留几个24/7服务器来处理低需求流量的稳定状态,然后根据需要添加和删除EC2实例来处理峰值。该移动应用程序将首先访问一个简单的负载平衡服务器,该服务器在所有可用的处理服务器之间进行简单的循环用户分发。负载平衡器将处理启动新的EC2实例并根据需要关闭它们 一些问题: 我以前从未写过这样的东西,这听起来像是一个好策略吗 处理新EC2实例上下移动的最佳

我正在为一个移动应用程序编写后端,该应用程序需要大量cpu。我们预计,该应用程序在大多数情况下不会有大量使用,但偶尔会出现高需求高峰。我在想,我们应该保留几个24/7服务器来处理低需求流量的稳定状态,然后根据需要添加和删除EC2实例来处理峰值。该移动应用程序将首先访问一个简单的负载平衡服务器,该服务器在所有可用的处理服务器之间进行简单的循环用户分发。负载平衡器将处理启动新的EC2实例并根据需要关闭它们

一些问题:

我以前从未写过这样的东西,这听起来像是一个好策略吗

处理新EC2实例上下移动的最佳方法是什么?我想我可以提前创建X个实例,根据需要进行设置(安装软件等),然后停止每个实例。然后,负载平衡器将根据需要启动和停止实例(例如通过)。我认为这应该比尝试创建新实例并通过脚本或其他方式安装所有内容要快得多、容易得多。好主意


这里我关心的一件事是关闭和重新打开EC2实例的成本。我看了AWS使用情况报告,很难解释它。我可以看到启动一个停止的实例是一个潜在的代价高昂的操作。但似乎因为我只是启动一个停止的实例,而不是从头开始配置一个新实例,所以应该不会太糟糕。这听起来对吗?

这是一个非常合理的策略。我以前成功地使用过它

您可能希望将(ELB)与。从概念上讲,这两者应该解决这个确切的问题

当我在2010年左右这样做时,ELB在某些类型的HTTP请求方面遇到了一些问题,这些问题阻止了我们使用它。我知道这些问题已经解决了

由于ELB不是一个选项,我们根据需要从EBS快照手动启动实例,并手动将它们添加到NGinX负载平衡器中。这当然可以使用AWSAPI实现自动化,但我们的峰值是如此可预测(月底),以至于我们只是让某人启动新实例,而没有让任务自动化


当一个实例停止时,我相信您要支付的唯一成本是支持该实例及其数据的EBS存储。除非您的实例关联了大量数据,否则EBS存储费用应该是最低的。也许自从我上次使用AWS以来,情况已经发生了变化,但如果真的发生了很大变化,我会感到惊讶。

首先,关于成本,实例是从头开始还是从停止状态开始对成本没有影响。您将按照您在一段时间内使用的计算单位的数量计费

第二,您希望做的是所谓的自动缩放。您要做的是设置一个启动配置,指定要使用的AMI(以及您正在使用的任何用户数据配置、您将要使用的ELB和可用性区域、最小和最大实例数等。您使用该启动配置设置了一个缩放组。然后您设置了缩放策略,以确定哪些缩放操作将附加到该组。然后,您将云监视警报附加到每个组。)se策略来触发缩放操作

您没有附加到ELB或类似的任何东西的备用服务器。一切都基于创建一个AMI作为所需服务器的模板

您应该通过以下链接了解自动缩放:


如果停止一个实例,您仍然需要为支持该实例的存储付费(上次我检查)@EricJ.是的,你当然需要为存储付费,我只是在说EC2的使用,启动/停止操作本身没有任何价格影响,除了相关的使用时间费用。只是为了补充一些关于原始帖子的信息。当你使用自动缩放时,你不会停止和启动服务器时,您将启动和终止服务器。不同之处在于,服务器上的任何数据都不会保存,而且EBS存储也不会产生任何成本,因为它不存在。如果您连接了根设备以外的EBS卷,则根据配置,这些卷可能会在创建实例后保留被剥夺了权利。