Amazon EC2 Auto Scaling 如何工作?
Posted
技术标签:
【中文标题】Amazon EC2 Auto Scaling 如何工作?【英文标题】:How does Amazon EC2 Auto Scaling work? 【发布时间】:2011-11-24 17:10:03 【问题描述】:我正在尝试了解 Amazon 如何实现自动缩放功能。我可以理解它是如何触发的,但我不知道在自动缩放期间到底发生了什么。它是如何扩展的。例如,
如果我将触发条件设置为cpu>90。一旦 vm 的 cpu 使用率增加到 90 以上:
-
是否有模板图像可以复制到新机器并启动?
开始服务新请求需要多长时间?
旧的虚拟机会停机吗?
我了解它能够在虚拟机之间提供负载平衡。但是,我找不到任何解释亚马逊自动缩放如何工作的链接/论文。如果您能提供一些有关相同的信息,那就太好了。谢谢你。
【问题讨论】:
【参考方案1】:也许这对你有帮助
http://www.cardinalpath.com/autoscaling-your-website-with-amazon-web-services-part-2/ http://www.cardinalpath.com/autoscaling-your-website-with-amazon-web-services-part-1/
这篇文章帮助我实现了这一目标
【讨论】:
【参考方案2】:基本上,在设置中您注册一个 AMI 和一组 EC2 启动参数 - 启动配置(实例大小、用户数据、安全组、区域、可用区等)您还设置扩展策略。
-
您的缩放触发器触发
检查策略以确定适用的启动配置
使用注册的 AMI 和启动配置参数调用 ec2 运行实例。
此时,将启动一个实例,该实例是 AMI 和启动配置的组合。它使用 IP 地址将自己注册到 AWS 环境中。
作为初始启动的一部分(由 ec2config 或 ec2run 完成 - 在此处从内存中进行)- 新启动的实例可以连接到实例元数据并运行存储在“userdata”中的脚本。该脚本可以引导软件安装、操作系统配置、设置,以及您可以使用脚本执行的任何操作。
一旦完成,您就有了一个新创建的实例。
现在 - 如果此过程由自动缩放和弹性负载平衡启动,则在实例“Windows 准备就绪”时(检查 ec2config.log),负载平衡器会将实例添加到自身.一旦响应请求,它将被标记为健康,ELB 将开始路由流量。
黄金标准是拥有一个通用 AMI,并使用您的引导脚本将所有包/msi/gem 或您需要的任何东西安装到服务器上。但经常发生的情况是人们构建了一个黄金映像,并注册该 AMI 以进行扩展。
后一种方法的缺点是每个版本都需要创建一个新的 AMI,并更新启动配置。
希望能给你更多的信息。
【讨论】:
【参考方案3】:阅读这个 chaps 博客,它在我对这个主题进行一些研究时帮助了我。
http://www.codebelay.com/blog/2009/08/02/how-to-load-balance-and-auto-scale-with-amazons-ec2/
【讨论】:
他确实提到了如何做负载平衡,但他从未提到它是如何在后台工作的 另外,如文章中所述,自动缩放没有完全工作,没有正确终止实例。 他什么都没提,博客已经6岁了以上是关于Amazon EC2 Auto Scaling 如何工作?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Amazon EC2 上配置基于内存的 Auto Scaling?
如何在 Amazon Auto-scaling 组中的多个 ec2 实例上部署和更新应用程序?
如何转换 Amazon EC2 实例以用于 Auto Scaling?