問:什麼是 AWS Batch?

AWS Batch 是一組批次管理功能,可讓開發人員、科學家和工程師在 AWS 上輕鬆且有效率地執行數十萬個批次運算任務。AWS Batch 會根據提交的批次任務所需的數量和特定資源需求,動態佈建優化的運算資源數量和類型 (如 CPU 或記憶體優化執行個體)。使用 AWS Batch,不需要安裝和管理批次運算軟體或伺服器叢集,讓您能夠專心地分析結果和解決問題。AWS Batch 使用 Amazon EC2競價型執行個體來規劃、排程及執行批次運算工作負載。

問:什麼是批次運算?
批次運算是在一或多部電腦上執行一系列程式 (「任務」),無須手動干預。輸入參數已透過指令碼、命令列引數、控制檔案或任務控制語言預先定義。指定的批次任務取決於前面任務是否完成或特定輸入是否可用,因此多個任務的排序和排程變得很重要,而且它無法與互動式處理一起使用。

問:批次運算有哪些優點?

  • 當某個時段有較大或較便宜的可用容量時,會將任務處理的時間移轉到該時段。
  • 這樣可避免出現閒置的運算資源,以及頻繁的手動干預和監管。
  • 它可透過較高的運算資源使用率以提升效率。
  • 同時允許排列任務的優先順序,以針對業務目標調整資源的分配。

問:為什麼要使用 AWS Batch?
AWS Batch 可處理任務執行和運算資源管理,讓您專心開發應用程式或分析結果,不用分心設定和管理基礎設施。如果您考慮在 AWS 上執行批次工作負載或將其移到 AWS,則應該考慮使用 AWS Batch。

問:AWS Batch 針對哪些使用案例進行優化?
AWS Batch 針對透過平行執行多個任務而擴展的批次運算和應用程式進行優化。深度學習、基因體分析、金融風險模型、蒙地卡羅模擬法、動畫繪製、媒體轉碼、影像處理及工程模擬,都是批次運算應用程式的絕佳範例。


問:AWS Batch 的主要特色是什麼?
AWS Batch 可管理運算環境和任務佇列,讓您使用 Amazon EC2 和 EC2 競價型執行個體輕鬆執行任何規模的數十萬個任務。您只需定義批次任務並將它提交到佇列即可。AWS Batch 接著會選擇執行任務的位置,視需要啟動額外的 AWS 容量。AWS Batch 會密切地監控任務的進度。AWS Batch 將會移除不再需要的容量。AWS Batch 也能夠提交管道或工作流程中的任務,讓您提交任務時表達之間存在的相依性。

問:AWS Batch 支援哪些類型的批次任務?
AWS Batch 支援能夠以 Docker 容器形式執行的任何任務。任務會指定它們所需的記憶體和 vCPU 數目。 

問:什麼是運算資源?
AWS Batch 運算資源是 EC2 執行個體。

問:什麼是運算環境?
AWS Batch 運算環境是執行任務的運算資源集合。AWS Batch 支援兩種類型的運算環境:由 AWS 提供和管理的受管運算環境,以及由客戶管理的未受管運算環境。未受管運算環境提供一種可利用專門資源的機制,例如專用主機、較大型的儲存組態及 Amazon EFS

問:什麼是任務定義?
任務定義描述要執行的任務、參數、環境變數、運算要求,以及優化任務執行所需的其他資訊。提交任務之前會先定義任務定義,而且可與其他人共享。

問:什麼是 Amazon ECS 代理器,以及 AWS Batch 如何運用它?
AWS Batch 使用 Amazon ECS 來執行容器化任務,因此它需要在 AWS Batch 運算環境內的運算資源上安裝 ECS 代理器。受管運算環境中已預先安裝 ECS 代理器。

問:AWS Batch 如何讓使用 EC2 競價型執行個體變得更容易?
AWS Batch 運算環境可包含 EC2 競價型執行個體。建立受管運算環境時,只需指定您要使用 EC2 競價型執行個體,並提供要出價的隨需定價百分比,AWS Batch 就會處理後續的工作。未受管運算環境也可包含您啟動的競價型執行個體,包括由 EC2 競價型執行個體叢集啟動的執行個體。


問:AWS Batch 的定價為何?
使用 AWS Batch 並不收取其他費用。您只需支付為存放和執行批次任務所建立的 AWS 資源 (如 EC2 執行個體) 的費用。


問:如何開始使用?
請依照我們文件中的入門指南開始使用。

問:需要佈建什麼才能開始使用?
您不需要手動啟動自己的運算資源即可開始使用。AWS Batch Web 主控台將引導您完成建立第一個運算環境和任務佇列的程序,這樣您就可以提交第一個任務。當有更多任務準備好可以執行時,運算環境內的資源就會隨著擴展,而當可執行任務的數量減少時則會隨著縮小。