您將要設置自動縮放策略,本文檔爲您提供了一個非常好的過程概述。
http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/as-using-sqs-queue.html
有一點要記住然而,活動最終可能會在60秒後關閉EC2實例你花費比保持它運行所有的時間更多。
作爲一個例子:
假設工作負載是這樣的,一個新的項目進入隊列每2分鐘,並且它們每一個需要45秒來處理。
在這種情況下,將發生的事情是,您將旋轉一個實例,它將工作45秒,等待60秒,然後關閉,因爲SQS隊列爲空。 15秒鐘後,新實例將啓動以處理從第一個2分鐘到達的隊列項目。
因此,您的政策最終將在一個小時內跳出總共30個新實例,並且因爲每次您啓動一個實例,您會在整整一個小時內收到帳單,您將爲每個實例支付30小時的實例時間1小時的工作 - 可能不是你想要的。
所以,你想做什麼是可能的,但可能不是一個好主意,這取決於你的工作量。請記住 - 當你需要它們時快速旋轉實例,並且因爲你已經支付了整整一個小時而慢慢關閉它們。
你真的需要弄清楚工作到達隊列的可能模式,然後圍繞這個模式設計解決方案。總是有一個實例運行,即使是一個小實例,最終可能會更便宜,並且如果SQS隊列備份超過某個點(並且您仍然要確保不啓動並經常停止第二個實例)。
在我的情況下,它每次加載50'000條消息,但每週只能加載幾次或每天最多加載一次。所以我認爲在我的具體情況下,這不會是一個問題。 –