2016-02-22 160 views
1

我在亚马逊AWS中运行实例,并且它每天运行不停。我使用的是运行Apache,Mirthconnect工具和LAMP服务器的ubuntu ec2实例。我只想在一天的特定时间内运行此实例。我更喜欢不使用任何其他AWS服务,例如云监视。有没有办法让我们实现这个目标?自动执行AWS实例启动和停止

的主要目的是为了利用MySQL数据库

+0

你可以做到这一点是二ways.These链接将帮助您: https://aws.amazon.com/premiumsupport/knowledge-center/stop-start-ec2-instances/ 和 HTTPS:/ /alestic.com/2011/11/ec2-schedule-instance/ 最简单的方法是处理一个shell脚本的计划,使用aws-cli来启动您的实例,但要做到这一点,您需要aws凭证。 – devd

回答

0

我猜你会需要另一台机器是在全天候Mirthconnect获取数据。你可以在其中使用boto或任何其他语言(如bash)在python中编写cron作业。

我看不到如何在stopped状态下启动实例,而无需使用任何其他机器。

或者您可以在家中使用AWS CLI或简单的Python为您开启ON-OFF工作。那个怎么样? ;)

+0

我的意思是说,如果实例已经在运行,我们只需要在特定的时间停下来,然后再次运行实例。运行一个shell脚本cron-job来停止并启动另一个实例是一个不错的选择。但考虑到长期解决方案使用另一个实例将更有可能增加成本。有没有其他可取的办法可以实现这一目标? –

+0

是的,这会增加成本,但如果你有空余的rPi,那么你可以做到这一点。可能还有其他可能的方式,但我不知道它们! –

+0

为什么有人会把我投下来:(这不是完全错误的方法! –

1

有3种解决方案。

AWS Data Pipeline - 您可以安排像cron一样的实例启动/停止。它会花费你一个小时的t1.micro实例每个启动/停止

AWS Lambda - 定义一个lambda函数,在预先定义的时间触发。你的lambda函数可以启动/停止实例。您的成本将非常低或$ 0

编写一个shell脚本并将其作为cron作业运行或按需运行。该脚本将有AWS CLI命令来启动和停止实例。

在转移到Lambda之前,我使用了Data Pipeline很长一段时间。数据管道是非常微不足道的。只需粘贴AWS CLI命令即可停止并启动实例。 Lambda更多参与。

相关问题