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

動態佈建和擴展運算資源

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

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

支援緊密搭配的 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 上執行。Batch 還可讓您定義不同任務之間的相依性。例如,根據不同的資源需要,批次任務可包含三個不同的處理階段。對於相依性,您可以建立三個具有不同資源需求的任務,每個連續的任務都取決於前一個任務。

基於優先順序的任務排程

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

支援 GPU 排程

GPU 排程可讓您將任務所需的加速器數量和類型指定為 AWS Batch 中的任務定義輸入變數。AWS Batch 將根據所需的 GPU 數量擴展適合任務的執行個體,並根據每個任務的需要隔離加速器,僅讓適當的容器存取這些加速器。

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

與 EC2 啟動範本整合

AWS Batch 現在支援 EC2 啟動範本,能夠讓您建立運算資源的自訂範本,並讓 Batch 依據這些需求擴展執行個體。您可以在 EC2 啟動範本指定新增儲存磁碟區、指定網路界面或設定許可等功能。EC2 啟動範本透過在一個資源內擷取啟動參數,來減少設定 Batch 環境所需的步驟。

彈性分配策略

AWS Batch 可讓客戶選擇三種分配運算資源的方法。這些策略可讓客戶在決定 AWS Batch 應如何代表他們擴展執行個體時,考慮輸送量和價格。

最適合:AWS Batch 可選取一種最適合任務需求的執行個體類型,並優先考慮成本最低的執行個體類型。如果所選執行個體類型的其他執行個體不可用,AWS Batch 將等待其他執行個體變得可用。如果可用的執行個體不足,或者如果使用者達到 Amazon EC2 服務限制,則在目前執行的任務完成之前,將無法執行其他任務。此分配策略可確保較低成本,但是會限制擴展。

最適合漸進式:AWS Batch 將選取足夠大可滿足佇列中任務需求的其他執行個體類型,並優先考慮每單位 vCPU 成本更低的執行個體類型。如果之前選取的執行個體類型的其他執行個體不可用,AWS Batch 將選取新的執行個體類型。

Spot 容量最佳化:AWS Batch 將選取足夠大可滿足佇列中任務需求的一個或多個執行個體類型,並優先考慮不會被中斷的執行個體類型。此分配策略僅可用於 Spot 執行個體運算資源。

整合式監控和記錄

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

更精細的存取控制權

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

深入了解 AWS Batch 定價

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