我在亚马逊AWS中运行实例,并且它每天运行不停。我使用的是运行Apache,Mirthconnect工具和LAMP服务器的ubuntu ec2实例。我只想在一天的特定时间内运行此实例。我更喜欢不使用任何其他AWS服务,例如云监视。有没有办法让我们实现这个目标?自动执行AWS实例启动和停止
的主要目的是为了利用MySQL数据库
我在亚马逊AWS中运行实例,并且它每天运行不停。我使用的是运行Apache,Mirthconnect工具和LAMP服务器的ubuntu ec2实例。我只想在一天的特定时间内运行此实例。我更喜欢不使用任何其他AWS服务,例如云监视。有没有办法让我们实现这个目标?自动执行AWS实例启动和停止
的主要目的是为了利用MySQL数据库
我猜你会需要另一台机器是在全天候Mirthconnect获取数据。你可以在其中使用boto或任何其他语言(如bash)在python中编写cron作业。
我看不到如何在stopped
状态下启动实例,而无需使用任何其他机器。
或者您可以在家中使用AWS CLI或简单的Python为您开启ON-OFF工作。那个怎么样? ;)
我的意思是说,如果实例已经在运行,我们只需要在特定的时间停下来,然后再次运行实例。运行一个shell脚本cron-job来停止并启动另一个实例是一个不错的选择。但考虑到长期解决方案使用另一个实例将更有可能增加成本。有没有其他可取的办法可以实现这一目标? –
是的,这会增加成本,但如果你有空余的rPi,那么你可以做到这一点。可能还有其他可能的方式,但我不知道它们! –
为什么有人会把我投下来:(这不是完全错误的方法! –
有3种解决方案。
AWS Data Pipeline - 您可以安排像cron一样的实例启动/停止。它会花费你一个小时的t1.micro实例每个启动/停止
AWS Lambda - 定义一个lambda函数,在预先定义的时间触发。你的lambda函数可以启动/停止实例。您的成本将非常低或$ 0
编写一个shell脚本并将其作为cron作业运行或按需运行。该脚本将有AWS CLI
命令来启动和停止实例。
在转移到Lambda之前,我使用了Data Pipeline很长一段时间。数据管道是非常微不足道的。只需粘贴AWS CLI命令即可停止并启动实例。 Lambda更多参与。
你可以做到这一点是二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