Google Compute实例可以按计划启动和停止吗?

时间:2014-04-05 01:21:52

标签: google-compute-engine

我每天从台式电脑上运行一次简单的任务3次。它在下午4点,晚上8点和凌晨1点连接到某个网站,下载少量数据(少于50mb),并将其存储在硬盘上。每天运行这一点非常重要,因此我希望将其转移到Google Compute。我知道我可以创建一个实例并将其保留在24/7/365,但这很昂贵。有没有办法让实例只在下午4点,晚上8点和凌晨1点开启,每次10分钟,这样数据可以下载,然后让它们关闭,所以我只收取30分钟/天的Google Compute时间?顺便说一句,我会使用Windows Server 2008图像(我相信它现在在Google Compute中有限预览),而不是linux图像,如果相关的话。

4 个答案:

答案 0 :(得分:8)

计算引擎实例没有内置的调度程序。

您可以使用App Engine的cron调度程序进行Compute Engine API调用。这是一个使用cron到list instances and delete ones which have been running for more than 8 hours的示例应用。

您可以通过创建App Engine网址来执行类似操作,该网址启动具有运行任务的启动脚本的实例,将数据复制到云存储,然后在完成后立即关闭实例。然后,创建cron作业以按计划命中该URL。

答案 1 :(得分:1)

还有一个名为#501的第三方服务,它通过日历界面完成此操作。它的速度更快,速度更快比编写脚本更灵活,它有一个不错的免费等级。

答案 2 :(得分:0)

现在是2020年,是的,您可以!请遵循以下简单的官方指南:

https://cloud.google.com/scheduler/docs/start-and-stop-compute-engine-instances-on-a-schedule

..并更改以下变量:{“ zone”:“ us-west1-b”,“ label”:“ env = dev”}

我还没有找到导出/导入时间表的方法,但是会很不错,因为有很多手动单击的方法。您可以使用“函数中的复制”功能来复制几次单击来保存两次单击。

通过启用未经身份验证的curl消息,HTTP触发器还有一个选项:https://cloud.google.com/functions/docs/calling/http

编辑:讲得太早了,即使功能测试输出显示“成功启动实例”,它也没有启动我的实例

答案 3 :(得分:0)

我仍然想知道为什么gcp仍然没有像其他平台一样首先具有此功能。 无论如何,这些简单的步骤使用Job Scheduler Pub / Sub 选项为我完成了工作。


停止

  • 创建一个新的JobScheduler
  • 填写所需的详细信息
  • 选择适合您要求的frequency
  • 选择目标发布/订阅
  • 选择主题名称(如果未创建,请创建新的topic)。
  • 在有效负载部分中使用此停止脚本 gcloud compute instances stop instance-name

要验证更改,您可以手动运行作业并检查。


首先,与上述相同的过程唯一需要更改的是有效负载脚本,即gcloud compute instances start instance-name