本文任務:
根據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了。