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为:
(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了。