AWS EC2(二)----用Cloudformation定时关闭EC2

本文任务:

根据solution网页中给的模板,新建instance scheduler(其实就是cloudformation中新建的stack),会 自动生成2个dynamoDB表和1个lambda函数。再新建一个cloudwatch发起每分钟调用一次lambda。

dynamoDB中其实保存的是模板,也就是触发条件,你可以在这个表中更改触发条件。

lambda函数实现的是查看dynamoDB表的内容是啥,如果满足条件,就执行 关闭EC2的任务。

1. 新建instance scheduler

(1)在https://aws.amazon.com/solutions/instance-scheduler/中,点击launch solution in the AWS console

(2)步骤(1)会自动跳转到AWS cloudformation的新建stack页面,并且帮你把S3 url的位置填写了。

从下图可以看出,自动填写的S3 URL为:

https://s3.amazonaws.com/solutions-reference/aws-instance-scheduler/latest/instance-scheduler.template

(3)步骤(2)中,点击next,可以看到各种配置。其中service to schedule中只有EC2和RDS数据库两种选择

由下图可以看出,可以起到定时器的任务,5分钟一次:

(4)一直点击下一步,即创建了instance scheduler的stack

2. 步骤1自动创建了两个dynamoDB表

来到dynamoDB页面---tables,可以看到步骤1完成后自动生成的两个table。因为步骤1,我又把stackname改成dddd了,所以这里的table那么的前缀是stack的name

选择上图中的config table那个表,items---选中schedule---选择actions---duplicate

3. EC2页面,running的instance上面增加tag

4. cloudwatch页面设置定时任务

cloudwatch页面设置定时任务频率为 每分钟,target为lambda函数

5. 回到步骤2的页面中,修改period(office-hour),然后去ec2页面查看ec2 instance,发现它果然被stop了。

发布了140 篇原创文章 · 获赞 80 · 访问量 36万+

猜你喜欢

转载自blog.csdn.net/daiqinge/article/details/103599623