我有一个非常简单的 EC2 设置,其中包含 Eastic Load Balancer 和两个 Web 服务器。当其中一个实例的 CPU 达到 100% 或某个实例发生故障时,我需要自动启动其他实例。
我首先看的是亚马逊http://aws.amazon.com/autoscaling/页面。我读了几次这个页面,盯着它看,简直不敢相信。亚马逊似乎将“Auto Scaling”宣传为功能,而他们只提供 API 和一些 DIY 工具。您实际上必须为他们构建 Auto Scaling!没有控制台或提供 AutoScaling 的一些工具。您必须编程或付钱给程序员来构建这样的工具。他们宣传 AutoScaling,但它并不存在 - 您必须自己构建它?还是我遗漏了什么?
我研究了其他替代方案:
右尺度对于我的简单设置来说,这似乎有点过头了。它们使用整个基础设施部署,而不是单个服务器。入门成本是 2500 美元,而我的整个月度预算不到 500 美元。
标量。似乎比 Rightscale 更容易接近。但与 Rightscale 一样,我找不到一种方法来引入已经在 EC2 上运行的自己的服务器。使用 Scalr 和 Rightscale,似乎唯一的方法是在他们的控制台中从头开始构建服务器,然后以某种方式传输数据?
我还查看了名为雅丽丝。这是最奇怪的产品。注册需要一些“Eucalyptus”帐户。我读了 Ylastic 网站上的每一页,都没有提到“Eucalyptus”是什么。你如何获得它?它是你在 EC2 实例上安装的程序还是某些第三方服务?
我对没有这个简单的可能性感到完全困惑——当一个实例发生故障或 CPU 消耗 100% 时启动新的 EC2 实例。看起来只有为构建整个解决方案农场的企业用户提供的工具。或者一堆需要程序员的 DIY 工具。
有中间立场吗?
谢谢。
答案1
自动缩放确实存在,只是没有图形界面,而是命令行界面。你不需要程序员,你只需要有人花几个小时阅读文档并进行一些命令行调用。
看一下下面的链接 - 它有一个运行所需的 7 个命令行调用的示例。
http://docs.amazonwebservices.com/AutoScaling/latest/DeveloperGuide/index.html?US_SetUpASLBApp.html
顺便说一句,你的网络服务器已读取仅有的,对吧?他们没有数据库需要更新之类的吗?
我同意,如果它只是一个网络服务器,也许 EC2 有点过度了,而网络托管服务提供商才是正确的答案?
答案2
据我所知,情况并非如此,因为扩展是一个相当依赖于情况的事情。
我自己也面临类似的问题(并且正在研究类似的产品),我们最终可能会自己动手。最大的问题是,在 Web 规模上没有滑块,滑块的一侧是一台运行 Web 和 DB 的服务器,滑块的另一端是多个可用区,其中 Web 服务集群位于隐藏在 memcached 后面的任意广播 IP 地址上,并且数据库被大量分片和复制。如何将滑块从一侧绘制到另一侧完全取决于您的应用程序代码。
如果您的应用程序有增长的可能,那么就需要考虑这些扩展问题,并且构建自动扩展系统来适应这些问题。
答案3
Ylastic 实际上为 EC2 自动扩展功能提供了 GUI。
您可以在此处注册 Ylastic:https://dashboard.ylastic.com/signup?plan=basic。
答案4
我认为 Ylastic 在 AWS Auto Scaling 方面做得很好,而且它的功能还有很多。你也可以尝试自动缩放,它本质上是 AWS Auto Scaling 的 GUI,而且它的功能非常齐全,而且价格非常便宜。