我怎样才能每天两次 on/off 我的 AWS EC2 调度程序 Lambda/DynamoDB ?

How can I turn on/off my AWS EC2 Scheduler with Lambda/DynamoDB twice a day?

我想为我的 EC2 设置一个时间表,每天在两个特定时间打开两次 - 在 12:00AM 和 12:00PM - 并在 30 分钟后关闭(在 12:30PM 和 00:30AM).

我创建了一个 EC2 Scheduler/Table(标记名:Schedule),然后在配置文件中设置了两个计划(refresh-1 和 refresh-2),其中包括两个 periods/hours。

当我将“键”和“值”字段添加到 EC2 中的“管理任务”页面时,我收到一条错误消息,指出我只能指定一个唯一的标签键。

这是否意味着我需要两个单独的 EC2 Schedulers/Tables 才能在两个不同的时间打开 on/off 我的 EC2?例如:

最简单的设置解决方案是什么,尝试仅利用一个 EC2 Scheduler/Table?

注意:我想使用 Lambda/DynamoDB,而不是其他解决方案。

谢谢!

您可能对我创建的 Simple EC2 Stopinator in Lambda - DEV Community 感兴趣,而不是使用 AWS Instance Scheduler。它仅使用一个 Lambda 函数和一个 IAM 角色。

它可以指定实例应该终止的持续时间(有利于沙盒测试),它可以安排实例停止。

设置开始时间也应该很容易修改。

您看到的错误是因为您不能有两个具有相同密钥的 EC2 标签。因此,每个 EC2 实例上可能只有一个 Schedule 标签。

After reviewing the EC2 Instance Scheduler documentation,您应该创建两个时段而不是创建两个计划。 12:00am-12:30am 一节课,12:00pm 到 12:30pm 节课。然后创建一个引用两个期间的时间表。

使用 CLI 会是这样的:

$ scheduler-cli create-period --name noon30 --begintime 12:00 --endtime 12:30 --stack Scheduler

$ scheduler-cli create-period --name midnight30 --begintime 00:00 --endtime 00:30 --stack Scheduler

$ scheduler-cli create-schedule --name my-refresh --periods
noon30,midnight30 --timezone Europe/London --stack Scheduler