13

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

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

  1. 它是否有一个模板图像将被复制到新机器并启动?
  2. 开始服务新请求需要多长时间?
  3. 旧的虚拟机会有停机时间吗?

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

4

3 回答 3

13

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

  1. 你的缩放触发器触发
  2. 检查策略以确定适用的启动配置
  3. 使用注册的 AMI 和启动配置参数调用 ec2 运行实例。

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

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

完成后,您将获得一个新创建的实例。

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

黄金标准是拥有一个通用 AMI,并使用您的引导脚本将所有包/msi/gem 或您需要的任何东西安装到服务器上。但经常发生的情况是,人们构建了一个黄金映像,并注册该 AMI 以进行扩展。

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

希望能给你更多的信息。

于 2012-12-15T10:08:05.417 回答
1

可能这可以帮助你

http://www.cardinalpath.com/autoscaling-your-website-with-amazon-web-services-part-2/ http://www.cardinalpath.com/autoscaling-your-website-with-amazon-web-服务-第 1 部分/

这篇文章帮助我实现了这一目标

于 2013-10-28T10:15:41.943 回答
-2

阅读这个 chaps 博客,当我对这个主题进行一些研究时,它对我很有帮助。

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

于 2011-09-25T22:44:04.240 回答