快速的AWS自动扩展

7
如何快速配置AWS自动扩展?我已经设置了一个带有ELB的AWS自动扩展组。一切正常,但是新实例在线前需要几分钟时间。我在关于Puppet和自动扩展的文章中发现了以下内容:
“如果您用于一组节点的AMI已经是最新版本,则缩放所需的时间可以从几分钟缩短到几秒钟。”

http://puppetlabs.com/blog/rapid-scaling-with-auto-generated-amis-using-puppet/

这是真的吗?将规模时间缩短到几秒钟?使用puppet会增加任何性能提升吗?

我还读到,较小的实例启动比较大的实例快:

小型实例 1.7 GB内存,1个EC2计算单元(带有1个EC2计算单元的1个虚拟核心),160 GB实例存储,32位平台,基于CentOS 5.3 AMI的基本安装

从实例启动到可用的时间: 在us-east-1c之间需要5至6分钟

大型实例 7.5 GB内存,4个EC2计算单元(每个具有2个EC2计算单元的2个虚拟核心),850 GB实例存储,64位平台,基于CentOS 5.3 AMI的基本安装

从实例启动到可用的时间为:
在us-east-1c之间需要11至18分钟

两者都是使用亚马逊工具通过命令行启动的。

http://www.philchen.com/2009/04/21/how-long-does-it-take-to-launch-an-amazon-ec2-instance

我注意到这篇文章有些过时,我的c1.xlarge实例肯定不需要18分钟才能启动。尽管如此,配置一个带有50个微型实例的自动缩放组(上限策略为100%容量增加)是否比拥有20个大型实例的组更有效?或者可能创建两个自动缩放组,一个用于快速启动的微型实例,另一个用于几分钟后添加CPU grunt的大型实例?其他条件相同的情况下,t1.micro比c1.xlarge更快上线多少?
3个回答

2

您可以通过调整"--cooldown"值(以秒为单位)来增加或减少自动扩展器的反应时间。关于要使用的实例类型,这主要取决于应用程序类型,并且需要在密切监测性能和生产调优之后做出决策。


1
这里的建议是尽可能让你的AMI(操作系统的快照)保持最新状态。这样,当自动缩放带起一台新机器时,Puppet就不必像在空白的AMI上那样安装大量软件,只需要拉取一些更新的应用程序文件即可。
根据您的Puppet脚本执行的工作量(apt-get install、编译软件等),这可以节省5-20分钟。
你需要担心的另外两个因素是:
  • 负载均衡器需要多长时间来确定你需要更多资源(例如,规定“当CPU使用率超过90%超过5分钟时应添加新的机器”会比“当CPU使用率超过60%超过1分钟时应添加新的机器”反应更慢,更容易导致超时)
  • 创建一个新的EC2实例需要多长时间(较小的实例类型通常需要较短的时间进行创建)

0

ASG的响应速度取决于三个因素:

1. 步骤 - 增加的百分比或固定数字有多大 - 如果步骤很大,您可以快速增加。 ASG将一次性启动整个步骤。

2. 冷却期 - 这适用于“下一次增加可以发生的时间”。如果上一个增加步骤仍在定义的冷却期内(秒),ASG将等待并暂不采取下一步行动。拥有较短的冷却期将使下一步更快。

3. AMI类型 - AMI需要多长时间才能启动,这取决于AMI的类型 - 许多因素会影响。所有事情都相等时,完全烘焙的AMI启动速度更快。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接