Nic Lin's Blog

喜歡在地上打滾的 Rails Developer

定時開啟或關閉機器實例的方案

Amazon 雖然有提供一年的免費試用,不過期滿之後就是收費的開始,收費除了流量以外最基本的計算就是以時間計算,畢竟一寸光陰一寸金啊,一個月平均 744 小時開下來的量,就以最低的 0.0016 USD/hr 計算也算是一筆開銷,不過當你的機器並不是需要 24 小時持續開機的,其實可以設定自動在某時段開啟你的機器提供服務,也可以自動關閉機器來節省資源的消耗。

方法一:將定時開關機程序部屬在其他機器或實例

可以用一台機器做為操控所有的 instance ,在這台機器裡面安裝 AWS CLI,來操控其他的子機器,對他們做 cron job 排程,指定某實例的開關時間,不過缺點就是這台機器需要二十四小時不間斷的開著,這樣的情況通常發生在擁有多數機器的情況。

方法二:AWS lambda + CloudWatch

使用 AWS lambda tigger / event source 設置為 CouldWatch - schedule ,再把啟動或關閉的函數放到 handler 裡面,這樣他就會定時觸發開或關 instance 了,另外 CouldWatch 也有提供後台可以查看執行的紀錄檔或是延遲,這個作法較好的原因是可以不用多開一台機器來燒錢,而且前一百萬次的 lambda 運算是免費的。

方法三:使用 AWS OpsWorks

定制chef的cookbook,或者使用aws提供的gui界面來實現。

方法四:使用第三方服務

好處是方便易使用,缺點是你必須暴露你的 secret key 給第三方。

comments powered by Disqus