2017-08-07 132 views
0

我想爲我的組織創建一個Web應用程序,用戶可以提前安排他們希望他們的EC2實例在什麼時間開始和停止(如在日曆中創建事件),並且這些實例將自動啓動或停止在那個時候。我已經遇到四種不同的方案:創建運行EC2實例的調度程序的最佳方法是什麼?

  1. AWS Datapipeline
  2. 的cron EC2實例中運行
  3. 自動縮放集團
  4. AWS LAMBDA安排的活動計劃的比例

在我看來,我需要一個數據庫來存儲用戶的自動啓動和自動停止實例的計劃時間,並且我將不得不pu定期從數據庫中獲取數據(以確保這是最新的更新時間表)。對於我的用例,這將是以上四個選項中最好的一個?

編輯:Auto Scaling似乎只是用於啓動和終止實例,所以我可以排除。

回答

2

簡單!

  1. 要求用戶標籤添加到自己的實例(S)顯示的時候就應該開始和停止(找出一些格式,這樣他們就可以很容易地指定週一至週五或每一天)
  2. 創建AWS lambda函數,掃描情況下,他們的標籤和啓動/停止他們根據標籤內容
  3. 創建亞馬遜CloudWatch的事件規則觸發lambda函數每15分鐘(或任何你想要的分辨率)

如果您搜索AWS Stopinator,您可以找到一些示例代碼。

+1

使用lambda函數Boto3和CloudWatch的規則是很容易: EC2 = boto3.client( 'EC2') ec2.stop_instances( InstanceIds = [ 'XXXXXXXXXX',XXXXXXXX] ) 這裏有一個完整的例如:https://www.dbigcloud.com/cloud-computing/220-automatiza-el-apagado-de-instancias-ec2-a-traves-de-lambdas-en-aws.html – drsromero

0

如果您正在尋找一個外部SaaS應用程序,可以幫助您的用戶輕鬆調度(或覆蓋該計劃)您的EC2,RDS和ASG實例,請查看ParkMyCloud。它還連接到SSO,提供一個API,並顯示跨地區/帳戶/雲的所有資源。如果您想對其進行測試,可以免費試用。

披露:我爲ParkMyCloud工作。

+1

這被標記爲垃圾郵件。你以任何方式與這家公司有聯繫嗎?如果你是,你必須[透露你的聯盟](https://stackoverflow.com/help/promotion)。 –

相關問題