

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 的元件 AWS Batch
<a name="batch_components"></a>

AWS Batch 簡化跨區域內多個可用區域的執行中批次任務。您可以在新的或現有的 VPC 中建立 AWS Batch 運算環境。在運算環境設置完畢並與任務佇列關聯後，您可以定義任務定義，即指定由哪個 Docker 容器映像來執行您的任務。容器映像是從容器登錄檔儲存和提取，可能來自您的 AWS 基礎設施的內部或外部。

![\[顯示 的元件 AWS Batch 及其如何整合在一起\]](http://docs.aws.amazon.com/zh_tw/batch/latest/userguide/images/batch-components.png)


## 運算環境
<a name="component_compute_environment"></a>

運算環境是一組受管的或未受管的運算資源，用於執行任務。使用 受管運算環境，您可以在多個細節層級指定所需的運算類型 (Fargate 或 EC2)。您可以設定使用特定 EC2 執行個體類型的運算環境，例如 `c5.2xlarge`或 。 `m5.10xlarge`或者，您可以選擇只指定您想要使用最新的執行個體類型。您也可以指定環境的最小、所需和最大 vCPUs 數量，以及您願意為 Spot 執行個體支付的金額，以隨需執行個體價格和一組 VPC 子網路的目標百分比表示。 會視需要 AWS Batch 有效率地啟動、管理和終止運算類型。您也可以管理自己的運算環境。因此，您有責任在為您 AWS Batch 建立的 Amazon ECS 叢集中設定和擴展執行個體。如需詳細資訊，請參閱[的運算環境 AWS Batch](compute_environments.md)。

## 任務佇列
<a name="component_job_queue"></a>

當您提交 AWS Batch 任務時，您會將其提交至特定任務佇列，在任務排程到運算環境之前，該任務位於該佇列中。您可以將一或多個運算環境與任務佇列建立關聯。您也可以指派這些運算環境的優先順序值，甚至是跨任務佇列本身。例如，您可以有一個提交時間敏感任務的高優先順序佇列，以及當運算資源較便宜時隨時可執行之任務的低優先順序佇列。如需詳細資訊，請參閱[任務佇列](job_queues.md)。

## 任務定義
<a name="component_job_definition"></a>

任務定義會指定任務的執行方式。您可以將任務定義視為任務中資源的藍圖。您可以為任務提供 IAM 角色，以提供對其他 AWS 資源的存取權。您也可以同時指定記憶體和 CPU 需求。任務定義也可以為持久性儲存控制容器屬性、環境變數和掛載點。當提交單一任務時，在任務定義中的許多規格，可以指定新的值予以覆寫。如需詳細資訊，請參閱[任務定義](job_definitions.md)

## 任務
<a name="component_job"></a>

您提交到 AWS Batch的工作單位 (如 shell 指令碼、Linux 可執行檔，或 Docker 容器映像)。它具有名稱，並使用您在任務定義中指定的參數，在運算環境中的 AWS Fargate 或 Amazon EC2 資源上做為容器化應用程式執行。任務可以依名稱或 ID 參考其他任務，並且可以取決於其他任務成功完成或您指定的[資源](resource-aware-scheduling.md)可用性。如需詳細資訊，請參閱[任務](jobs.md)。

## 排程政策
<a name="component_scheduling_policy"></a>

您可以使用排程政策來設定如何在使用者或工作負載之間配置任務佇列中的運算資源。使用公平共用排程政策，您可以將不同的共用識別符指派給工作負載或使用者。 AWS Batch 任務排程器預設為先進先出 (FIFO) 策略。如需詳細資訊，請參閱[公平共用排程政策](job_scheduling.md)。

## 消耗性資源
<a name="component_consumable_resource"></a>

消耗性資源是執行任務所需的資源，例如第三方授權字符、資料庫存取頻寬、調節對第三方 API 的呼叫等。您可以指定執行任務所需的消耗性資源，而 Batch 在排程任務時會將這些資源相依性納入考量。您可以只配置具有所有必要資源的任務，以減少運算資源的使用不足。如需詳細資訊，請參閱[資源感知排程](resource-aware-scheduling.md)。

## 服務環境
<a name="component_service_environment"></a>

服務環境定義 如何與 SageMaker AWS Batch 整合以執行任務。服務環境 AWS Batch 可讓 在 SageMaker 上提交和管理任務，同時提供 的佇列、排程和優先順序管理功能 AWS Batch。服務環境會定義特定服務類型的容量限制，例如 SageMaker Training 任務。容量限制控制 環境中服務任務可以使用的最大資源。如需詳細資訊，請參閱[的服務環境 AWS Batch](service-environments.md)。

## 服務任務
<a name="component_service_job"></a>

服務任務是您提交 AWS Batch 至 在服務環境中執行的工作單位。服務任務會利用 AWS Batch的佇列和排程功能，同時將實際執行委派給外部服務。例如，做為服務任務提交的 SageMaker Training 任務會排入佇列並排定優先順序 AWS Batch，但 SageMaker Training 任務執行會在 SageMaker AI 基礎設施內進行。此整合可讓資料科學家和機器學習工程師受益於其 SageMaker AI Training 工作負載 AWS Batch的自動化工作負載管理和優先順序佇列。服務任務可以依名稱或 ID 參考其他任務，並支援任務相依性。如需詳細資訊，請參閱[中的服務任務 AWS Batch](service-jobs.md)。