使用 AWS Batch,您只需使用 AWS 管理主控台、CLI 或軟體開發套件封裝批次任務的程式碼、指定其相依性,然後提交批次任務。AWS Batch 可讓您指定執行參數和任務相依性,促進各種熱門批次運算工作流程引擎和語言的整合 (例如,Pegasus WMS、Luigi 和 AWS Step Functions)。AWS Batch 可根據任務的需求,以有效率且動態的方法佈建及擴展 Amazon EC2Spot 執行個體。AWS Batch 提供預設任務佇列和運算環境定義,協助您快速上手。

支援緊密搭配的 HPC 工作負載

AWS Batch 支援多節點平行工作,可讓您執行跨越多個 EC2 執行個體的單一工作。這項功能讓您能使用 AWS Batch 輕鬆並有效率地執行工作負載,例如較大規模緊密搭配的高效能運算 (HPC) 應用程式或分散式 GPU 模型訓練。AWS Batch 也支援 Elastic Fabric Adapter,這是一項能讓您在 AWS 大規模執行需要大量節點間通訊之應用程式的網路界面。 

精細任務定義

AWS Batch 讓您指定資源需求 (如 vCPU 和記憶體)、AWS Identity and Access Management (IAM) 角色、磁碟區掛載點、容器屬性及環境變數,以定義任務的執行方式。AWS Batch 執行任務的方式是當做在 Amazon ECS 上執行容器化應用程式。

建立簡易任務相依性模型

AWS Batch 讓您定義不同任務之間的相依性。例如,根據不同的資源需要,批次任務可包含三個不同的處理階段。對於相依性,您可以建立三個具有不同資源需求的任務,每個接續的任務都取決於前一個任務。

AWS Batch 可與商用和開放原始碼工作流程引擎及語言 (如 Pegasus WMS 和 Luigi) 整合,讓您使用熟悉的工作流程語言來建立批次運算管道的模型。

動態佈建和擴展運算資源

AWS Batch 提供受管運算環境,可根據提交任務的數量和資源需求,動態地佈建和擴展運算資源。您可以依照下列需求設定 AWS Batch 受管運算環境:EC2 執行個體類別、VPC 子網路設定、所有執行個體最低/最高/所需的 vCPU 數量,以及您願意為 Spot 執行個體支付的金額,佔隨需執行個體價格的 %。

或者,如果 EC2 執行個體要使用的組態與 AWS Batch 受管運算環境所提供的組態不同 (例如,較大的 EBS 磁碟區或其他作業系統),可在 AWS Batch 未受管運算環境內佈建和管理自己的運算資源。您只需佈建包含 Amazon ECS 代理器的 EC2 執行個體並執行支援的 Linux 和 Docker 版本。然後 AWS Batch 會在您佈建的 EC2 執行個體上執行批次任務。

按優先順序排程任務

AWS Batch 讓您設定具有不同優先順序的多個佇列。批次任務會存放在佇列中,直到有可用的運算資源執行任務。AWS Batch 排程器會按照提交到佇列的每個任務的資源需求,評估執行任務的時間、位置及方式。排程器會評估每個佇列的優先順序,只要這些任務沒有待決的相依性,它就會依優先順序在優化的運算資源 (例如,記憶體與 CPU 優化相比) 上執行任務。

整合式監控和記錄

AWS Batch 會在 AWS 管理主控台顯示批次任務的關鍵操作指標。您可查看與運算容量相關的指標,以及執行中、待處理和已完成的任務。您可以在 AWS 管理主控台中找到任務的日誌 (如 STDERR 和 STDOUT),這些日誌也會寫入 Amazon CloudWatch Logs。

更精細的存取控制權

AWS Batch 使用 IAM 來控制和監控任務可以存取的 AWS 資源,例如 Amazon DynamoDB 表。您也可以使用 IAM 為組織中的不同使用者定義政策。例如,授與管理員所有 AWS Batch API 操作的完整存取許可、開發人員能夠擁有與設定運算環境和註冊任務相關的有限許可,而最終使用者則限制為只能擁有提交和刪除任務所需的許可。

深入了解 AWS Batch 定價

瀏覽定價頁面
準備好開始建立?
開始使用 AWS Batch
還有其他問題嗎?
聯絡我們