Auto Scaling调研&翻译

上次做了ELB的分享,趁着星期天,把Auto Scaling也拿出来溜溜,看看是什么样的东西。

1、调研目的

   有同事问:你虚拟机性能再高,能够干过同配置的物理机么。说实在的,单台性能确实比不过,用了虚拟机加上恰当的策略就不一定了。Auto Scaling就是重要的策略之一。这篇文章调研什么是Auto ScalingAuto Scaling有哪些特性等,如果我们实现了Auto Scaling的功能,我们也可以证明实现了Auto Scaling

2、什么是Auto Scaling

  Auto Scaling 能够参照你设置好的条件,自动地伸缩、提高或降低EC2的能力。使用Auto Scaling你能够确保你的EC2虚拟机实例,能够在请求高峰时无缝地增加、维持性能。在请求低谷时自动地减少以节约成本。Auto Scaling特别适合那些每时、每天、每周使用量都在变化的应用。Auto ScalingCloudWatch中使用,除了收取CloudWatch的费用,不再收取Auto Scaling的费用。

3、Auto Scaling的特性

(1)当需求增加时,自动无缝地增加Ec2虚拟机实例。

(2)当需求降低时,自动销毁不必要的虚拟机实例,以节约成本。

(3)根据监控CloudWatch的指标,或者预先设置好的日程(条件)自动伸缩。

(4)当你使用CloudWatch去报警 开始Auto Scaling动作、或者结束Auto Scaling动作。通过Simple Notification ServiceSNS)简单通知服务也能够收到提醒通知。(是CloudWatch通知SNS?

(5)运行按需的或者少量的虚拟机实例,包括那些在你虚拟私有云(VPC)中或高性能计算集群(HPC)中的虚拟机实例。

(6)如果你注册了EC2服务,你就已经注册了使用Auto Scaling、能够开始使用这些特性通过Auto ScalingAPI,或者命令行工具。

(7)Auto ScalingCloudWatch并且不收取额外的费用。

4、使用Auto Scaling

开始使用Auto Scaling非常简单,如果你注册使用EC2服务,你就已经注册了使用Auto Scaling.你只需要:

(1)只需要从Developer Tools下载Auto Scaling命令行工具和Cloud Watch命令行工具。

(2)使用as-create-launch-config 命令为你的Auto Scaling组创建一个启动配置;一个启动配置是提供启动新的EC2虚拟机实例需要的参数。

(3)使用as-create-auto-scaling-group 命令创建一个Auto Scaling组,Auto Scaling组就是一组你想应用某些弹性条件的EC2虚拟机实例。

(4)使用as-put-scaling-policy 命令去描述你想使用的弹性行为,比如创建一个策略来添加虚拟机实例, 创建另一个来销毁虚拟机实例。

(5)使用mon-put-metric-alarm CloudWatch的命令去为每种情况创建一个报警,如:你想添加或者删除一个虚拟机实例,和当条件满足时,你想报警去执行指定的自动伸缩策略。你可以基于CloudWatch的任何指标定义报警。比如你可以设定这些指标:CPU平均使用率、网络活跃性、磁盘使用率等。

(6)Auto Scaling能够跟踪执行:当你的条件满足时,以你的名义自动采取相应的动作。

【这个时候,CloudWatch会收取的适当的费用。】

5、Auto Scaling主要用途

5.1 自动伸缩你的EC2

Auto Scaling能够使你密切的了解你应用的需求曲线,减少预先提供大量虚拟机实例的需求。比如:你可以设置一个条件在你的整个Auto Scaling组的平均CPU使用率超过70%时,去添加三个新的虚拟机实例到Auto Scaling组里面。相似的,当CPU使用率低于10%的时候,删除虚拟机实例。通常情况下,你更希望在增加、删除虚拟机实例之前,你需要更多的时间让你的Feet(机群)文档。你可以为你的Auto Scaling组 配置一个cool-down时间段,这个时间段是告诉Auto Scaling等待一段时间然后才采取行动在他再次对条件进行评估之前。Auto Scaling使你能够最佳利用你的EC2机群。

5.2 维持你的EC2机群(Feet)在固定的数目

如果你确定你想运行固定数目的虚拟机实例,Auto Scaling能够帮助你实现你始终有这个数目的健康的虚拟机可以用和运行。你可以创建一个Auto Scaling组、设置你的Auto Scaling Group 总是包含固定数目虚拟机实例的条件,Auto Scaling评估你的Auto Scaling Group中虚拟机实例的健康程度,自动地代替不健康的虚拟机实例,确保Auto Scaling Group里的机器保持固定数目。这样就能保证你的应用得到你期望的计算能力。

5.3 auto-scalingELB一起工作

比如说你想确保挂载ELB后面的健康的虚拟机实例不少于2,你可以用auto-scalin去设置这些条件,当auto-scaling检测到这些条件满足时,他会自动添加需要数量的虚拟机实例到到你的auto-scaling组里;或者你想确保你添加的虚拟机实例在15分钟内延迟延迟不要超过4秒,你可以设置这样的条件,auto-scaling会对虚拟机实例采取恰当的措施,即使是挂载ELB后面的运行的虚拟机实例。Auto-scaling可以很好的工作,不管你是否正在使用ELB

6Auto Scaling收费情况

Auto ScalingCloudWatch中使用,不收取任何费用。日常的EC2 CloudWatch单独收费,不满一小时,按一小时收费。

参考:http://aws.amazon.com/autoscaling/

你可能感兴趣的:(auto,scaling,EC2)