【问题标题】:How to use AWS EC2 Scheduler?如何使用 AWS EC2 调度程序?
【发布时间】:2018-01-24 21:41:32
【问题描述】:

我想在每天晚上 8:30 - 晚上 8:35 启动/停止我的 EC2 实例以运行 cron 作业。

我设置了一个带有 0430;0435;utc;all 标记的 EC2 实例来解决这个问题。

现在我的困惑是我的规则需要一个调度程序表达式。我知道我需要启动 lambda 函数来启动/停止 ec2 实例,但我认为这就是标签的用途。

我目前正在使用 cron 表达式 30 4 * * ? * 作为规则计划,但它不起作用。我应该为这个规则计划表达式添加什么来做我想做的事?

任何不熟悉我所指内容的人:https://docs.aws.amazon.com/solutions/latest/ec2-scheduler/overview.html

【问题讨论】:

标签: amazon-web-services amazon-ec2


【解决方案1】:

如果我在下面正确地回答了您的问题,可能会有所帮助。

Scheduler Expression 的目的是触发 cloud-watch 事件来启动 lambda 函数。基本上,它是您希望该函数扫描您的 EC2 实例以对其执行操作的频率。

https://docs.aws.amazon.com/solutions/latest/ec2-scheduler/deployment.html

以下链接可能会帮助您找出最适合的 cron 表达式格式。

https://docs.oracle.com/cd/E12058_01/doc/doc.1014/e12030/cron_expressions.htm

【讨论】:

  • 啊,这更有意义。该标记用于帮助 lambda 函数确定是否需要启动或停止实例。本质上,我需要设置它,以便规则每 6 分钟扫描一次,以便在 crons 完成后,该函数会检查实例/标签并将其关闭
  • 我能想到的另一种无需轮询即可实现自动启动/停止的方法 - 假设您知道 cron 开始时间,您可以从 cloudwatch 调度程序中触发 lambda 以在几分钟内启动实例早些时候。在 cron 脚本中,您可以在最后一步中将文件写入 s3。然后,putObject 触发器可以触发 lambda 以关闭此实例。在 lambda 中,您可以编写逻辑来进行基本验证 - 标记等,还可以从事件(可能有“实例:开始”之类的内容)或 s3 通知中读取 json。
【解决方案2】:

尝试使用像CloudTiming 这样的服务,他们有用户友好的界面,没有任何 cron 记录。这里有一个缺点,它不是免费的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-06-14
    • 1970-01-01
    • 2019-03-23
    • 2021-11-28
    • 2017-09-03
    • 2023-04-06
    • 2013-02-04
    相关资源
    最近更新 更多