2011-09-25 40 views
8

我想了解Amazon如何实现自动缩放功能。我可以理解它是如何触发的,但我不知道在自动缩放期间发生了什么。它如何扩展。例如,Amazon EC2 Auto Scaling如何工作?

如果我将触发条件设置为cpu> 90。一旦虚拟机的CPU使用率增加到90以上:

  1. 它是否有模板图像将被复制到新机器并启动?
  2. 开始服务新请求需要多长时间?
  3. 老vm会有宕机吗?

我知道它有能力提供虚拟机之间的负载平衡。但是,我找不到任何解释亚马逊自动缩放如何工作的链接/论文。如果你能向我提供一些相关信息,那将是非常好的。谢谢。

回答

10

从本质上讲,在设置您注册一个AMI,和一组EC2启动参数 - 启动配置(实例大小,用户数据,安全组,区域,可用区域等)也成立扩展策略。

  1. 你缩放引发火灾
  2. 策略进行检查,以确定哪些启动配置pplies
  3. EC2上运行实例被称为与注册AMI和启动配置参数。

此时,启动一个实例,它是AMI和启动配置的组合。它将自己的IP地址注册到AWS环境中。

作为初始启动的一部分(由ec2config或ec2run完成 - 从此处的内存中执行) - 新启动的实例可以连接到实例元数据并运行存储在“userdata”中的脚本。该脚本可以引导软件安装,操作系统配置,设置,以及可以通过脚本执行的任何操作。

一旦完成,你就有了一个新创建的实例。

现在 - 如果此过程由自动扩展和弹性负载平衡启动,并且实例为“Windows已准备好”(检查ec2config.log),则负载均衡器会将实例添加到本身。一旦它响应请求,它将被标记为健康,并且ELB将开始路由流量。

黄金标准是有一个通用的AMI,并使用你的启动脚本来安装所有的包/微星/宝石或任何你需要到服务器上。但经常发生的是人们建立一个黄金形象,并注册该AMI的缩放比例。

后一种方法的缺点是每个版本都需要创建一个新的AMI,并且需要更新启动配置。

希望能给你多一点信息。

相关问题