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

立即開始使用 AWS Batch

試用
100x100_benefit_ccontainers

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

100x100_benefit_version-control2

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

100x100_benefit_ingergration

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

100x100_benefit_scalable-instance

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

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

100x100_benefit_calendar

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

100x100_benefit_lowcost-affordable

AWS Batch 讓您輕鬆的使用 Amazon EC2 競價型執行個體,進一步降低執行批次任務的成本。AWS Batch 會根據任務所需的數量和資源需求,以及所設定的運算資源組態參數,為您動態競標競價型執行個體。

100x100_benefit_monitoring-logging

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

100x100_benefit_privacy1

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