如何使用 Amazon EC2 自动扩展 Windows 服务器

如何使用 Amazon EC2 自动扩展 Windows 服务器

我正在构建一个分布式应用程序,它由负载均衡器、Web 服务器、数据库服务器、消息队列和后端工作程序组成。工作程序从队列中获取消息、执行任务,然后更新数据库服务器。理想情况下,我希望能够根据某些指标扩展工作程序。我熟悉 ec2、s3、cloudfront,但对 VPC 和自动扩展还不熟悉。

我的问题是:如何根据我定义的指标设置自动扩展 Windows 服务器。我之前在 ec2 上设置过 Windows 服务器,RDP 连接、安装 cygwin 然后再 ssh 连接非常麻烦,在我看来扩展性不是很好。如果可能的话,我希望它们是临时的,这样我就可以通过扩大和缩小来节省使用成本。任何想法/建议都非常感谢。

谢谢

答案1

您关于如何创建 CloudWatch Alarms 的链接确实是您最终会使用的机制,如果您选择 Amazon Auto Scaling 路线的话。但是,正如您自己所说,设置 Windows 服务器可能非常痛苦——不仅连接到它们并让它们达到您想要的状态相当慢,而且一开始启动和运行它们通常也会有相当大的延迟(请参阅加快启动 Amazon EC2 Windows 实例,例如——这太可怕了)。

为了减轻一点麻烦,您可以创建自定义 Windows AMI。这样您就可以在机器上安装软件,这样当实例启动时软件就已经在那里了。Chef 是基础设施管理框架,可与 Windows 配合使用,因此您也可以采用这种方式。任何可以让您的生活更轻松的东西!如果将两者结合起来,您可以主要使用 Chef 来配置您已经安装的软件,从而节省更多时间。

无论这些方法多么巧妙,在亚马逊上启动和运行 Windows 仍然很慢。如果您的自动扩展无法处理这些延迟,并且实例无法按时启动和运行,那么您需要一个可以帮助提前规划的解决方案。亚马逊自己的 CloudWatch 服务本质上是被动的,缺乏估计未来负载的能力。这种功能上的差距导致 Netflix 开发了自己的内部预测自动扩展器 Scryer(不向公众开放),而 Elastisys 提供的弹性系统:规模,一款可供用户立即申请加入私人测试版的产品。

全面披露:我在 Elastisys AB 工作,这是一家根据瑞典于默奥大学云研究小组的研究创建自动扩展解决方案的公司。

相关内容