Amazon EC2 Auto Scaling如何运作?

时间:2011-09-25 17:08:06

标签: amazon-ec2 autoscaling

我试图了解亚马逊如何实现自动缩放功能。我可以理解它是如何触发但我不知道在自动缩放过程中到底发生了什么。它是如何扩展的。例如,

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

  1. 是否有模板图像将被复制到新计算机并启动?
  2. 开始为新请求提供服务需要多长时间?
  3. 旧的vm会有停机时间吗?
  4. 据我所知,它具有在VM之间提供负载平衡的能力。但是,我找不到任何解释亚马逊自动缩放如何工作的链接/文件。如果您可以向我提供有关相同的信息,那将会很棒。谢谢。

3 个答案:

答案 0 :(得分:13)

基本上,在设置中注册AMI和一组EC2启动参数 - 启动配置(实例大小,用户数据,安全组,区域,可用区等)您还可以设置扩展策略。

  1. 您的缩放触发器会触发
  2. 检查策略以确定哪个启动配置
  3. 使用已注册的AMI和启动配置参数调用ec2 run instance。
  4. 此时,启动一个实例,它是AMI和启动配置的组合。它将自己的IP地址注册到AWS环境中。

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

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

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

    黄金标准是拥有通用AMI,并使用您的引导脚本将所有软件包/ msi / gems或您需要的任何内容安装到服务器上。但经常发生的是人们建立一个黄金图像,并注册AMI进行缩放。

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

    希望能为您提供更多信息。

答案 1 :(得分:1)

答案 2 :(得分:-1)

阅读这篇章节博客,在我对这个主题进行一些研究时帮助了我。

http://www.codebelay.com/blog/2009/08/02/how-to-load-balance-and-auto-scale-with-amazons-ec2/