簡體   English   中英

我可以同時運行1000個AWS微實例嗎?

[英]Can I run 1000 AWS micro instances simultaneously?

我有一個簡單的純C程序,它接受一個整數作為輸入,運行一段時間(假設一小時),然后返回一個文本文件。 我想用1到1000的輸入整數運行這個程序1000次。

目前我正在並行運行這個程序(4個處理器),需要250個小時。 該程序適合AWS微實例(我已經測試過)。 是否可以在AWS中使用1000個微實例在一小時內完成整個工作? (費用約為20美元 - 0.02美元/例)?

如果有可能,是否有人對如何做到這一點有一些指導? 如果不是,那么是否還有一個低預算的替代品呢?

非常感謝!

為了實現這一目標,您需要:

  • 創建S3存儲桶以存儲引導腳本,應用程序,輸入數據和輸出數據

  • 自定義輕量級AMI:您可能希望創建一個自定義輕量級AMI,它知道下載引導腳本

  • 引導腳本:將從S3存儲桶下載您的軟件,解析包含整數[1..1000]的自定義實例標記並下載任何其他數據。

  • 您的應用程序:處理過程。

  • 處理結束腳本將結果上傳到另一個結果S3存儲桶並終止實例 ,您可能還希望發送SNS通知通知處理狀態的結束。

  • 如果您需要結果合並,您可能需要創建另一個實例並將其用作協調器,等待所有“處理結束”通知以完成處理。 在這種情況下,您可能會考慮將來使用亞馬遜的Hadoop地圖減少引擎,因為它將免費提供幾乎所有這些繁重的工作。

您沒有指定您想要執行此操作的語言,因為您用於部署程序的應用程序不必與我推薦的C#語言相同。 Web上有很多關於如何使用SDK以編程方式生成新的Amazon實例的示例。 例如:

如何在.NET中以編程方式啟動Amazon EC2實例

您可以使用已存在的程序創建自己的AMI,但如果您想對其進行調整,可能最終會感到痛苦,因為它需要您重新創建整個AMI。 我建議創建一個額外的實例,或者只是將程序托管在可從公共URL訪問的位置。 然后我會創建一些將提前安裝在AMI上的服務,以允許我指定下載應用程序的URL以及我想要的特定實例的命令行參數。

希望這可以幫助。

默認情況下,您只能按區域生成20個實例。 你需要問亞馬遜才能使用更多實例。

如果您想要低成本但不關心延遲,則應使用現場實例。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM