只有在访问站点时,如何自动启动EC2实例?

我有一个CPU密集型的EC2应用程序,但是它只能在一天中由一个客户端访问几个小时。 我宁愿不离开一个高CPU实例不断运行 – 有没有办法降低我的使用情况?

我假设我需要有一个实例(可能是一个小)不断运行有检查stream量…然后设置一些启动/停止高CPU实例,并转发stream量。

这个叫什么? 我在哪里可以find关于configuration的信息? (这是我可以用Ubuntu下的Apache做什么?)

如果您的实例具有一致的“正常运行时间”,那么您可以安排它在特定时间运行,并在该窗口之外将其closures。

您可以使用自制的调度工具(例如,在另一个实例上运行某个工具),也可以使用Skeddly( http://www.skeddly.com )这样的工具为您完成繁重的工作。

披露 :我是Skeddly背后的公司Eleven41 Software的首席执行官。

亚马逊的Elastic Load Balancing和Auto Scaling 也许可以做到这一点,但是更强大的方法是在一个时间窗口中为您的客户安排正常运行时间。

即,除非另有要求(可能是他们提交给您的票据,或者您可以在控制实例的启动/停止行为的另一个实例上构buildWeb前端),否则此实例的周一到周五从上午9点直到下午12点。

如果您有一个运行Linux品种的微型实例,则可以使用Amazon Command Line工具轻松地使用crontab启动和停止实例

要编辑crontab文件,请运行crontab -e编辑它并添加一行

(minute) (hour) (day of month) (month) (day of week) (command) 

例如,如果您想在早上5点启动服务器,并在每天晚上10点停止服务器,则可以使用

 0 5 * * * ec2-start-instances [instance id] 0 22 * * * ec2-stop-instances [instance id] 

你把你想要启动和停止的实例ID的位置。

您将不得不安装ec2命令行工具。 你需要为你要实现的实例分配一个弹性IP,这样在启动时就不需要进行任何configuration,无论应用程序打到了什么地方,都可以到达那里。

希望这可以帮助。