亚马逊EC2自动扩展是如何工作的?

13

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

如果我将触发条件设置为cpu> 90.一旦虚拟机的cpu使用率超过90:

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

我知道它有提供VM之间的负载均衡能力。但我找不到任何说明亚马逊自动缩放如何工作的链接/论文。如果您能向我提供相关信息,那将是非常好的。谢谢。

3个回答

13

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

  1. 触发缩放
  2. 检查策略以确定适用的启动配置
  3. 调用ec2 run instance,并使用注册的AMI和启动配置参数。

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

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

完成后,您就拥有了一个新创建的实例。

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

黄金标准是拥有通用AMI,并使用引导脚本将所有包/ msi / gem或您需要的任何其他内容安装到服务器上。但是经常发生的是,人们构建一个黄金镜像,并为缩放注册该AMI。

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

希望这为您提供了更多信息。



-2

1
他确实提到了如何进行负载均衡,但从未提及其背后的工作原理。 - sethu
同时,自动缩放没有完全正常工作,正如文章中所提到的一样,未能正确终止实例。 - Nate
他没有提到任何事情,博客已经有6年历史了。 - vivex

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