教學課程:在 Amazon EC2 資源上建立單節點任務定義 - AWS Batch

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

教學課程:在 Amazon EC2 資源上建立單節點任務定義

請完成下列步驟,以在 Amazon Elastic Compute Cloud (AmazonEC2) 資源上建立單節點任務定義。

若要在 Amazon EC2 資源上建立新的任務定義:
  1. 在 開啟 AWS Batch 主控台https://console.aws.amazon.com/batch/

  2. 從導覽列中,選擇要 AWS 區域 使用的 。

  3. 在左側導覽窗格中,選擇任務定義

  4. 選擇 Create (建立)。

  5. 針對協調類型,選擇 Amazon Elastic Compute Cloud (Amazon EC2)

  6. 對於EC2平台組態 ,請關閉啟用多節點平行處理。

  7. 針對名稱 ,輸入任務定義的唯一名稱。名稱長度最多為 128 個字元。可以包含大小寫字母、數字、連字號 (-) 和底線 (_)。

  8. (選用) 針對執行逾時 ,輸入逾時值 (以秒為單位)。執行逾時是未完成任務終止之前的時間長度。如果嘗試超過逾時持續時間,則會停止嘗試並移至 FAILED 狀態。如需詳細資訊,請參閱任務逾時。最小值為 60 秒。

  9. (選用) 開啟排程優先順序 。輸入介於 0 到 100 之間的排程優先順序值。較高值的優先順序較高。

  10. (選用) 針對任務嘗試 ,輸入嘗試將任務移至RUNNABLE狀態的 AWS Batch 次數。輸入介於 1 到 10 之間的數字。

  11. (選用) 針對重試策略條件 ,選擇在結束 時新增評估。輸入至少一個參數值,然後選擇動作 。對於每組條件,動作必須設定為重試結束 。這些動作表示下列事項:

    • 重試 – AWS Batch 重試,直到達到您指定的任務嘗試次數為止。

    • 結束 – AWS Batch 停止重試任務。

    重要

    如果您選擇在結束 時新增評估,則必須至少設定一個參數,然後選擇動作或選擇在結束 時移除評估

  12. (選用) 展開標籤,然後選擇新增標籤將標籤新增至資源。輸入索引鍵和選用值,然後選擇新增標籤

  13. (選用) 開啟傳播標籤,將標籤從任務和任務定義傳播到 Amazon ECS任務。

  14. 選擇下一頁

  15. 容器組態區段中:

    1. 針對映像 ,選擇 Docker 用於您任務的映像。根據預設, 中的映像 Docker Hub 有可用的登錄檔。您也可以用 repository-url/image:tag 指定其他儲存庫。名稱長度最多為 225 個字元。它可以包含大小寫字母、數字、連字號 (-)、底線 (_)、冒號 (:)、正斜線 (/) 和數字符號 (#)。此參數ImageDocker Remote 的建立容器區段和 的 IMAGE 參數中映射至 docker run API

      注意

      Docker 映像架構必須符合其排程之運算資源的處理器架構。例如 Arm 型 Docker 映像只能在 上執行 Arm 型運算資源。

      • Amazon ECR Public 儲存庫中的映像會使用完整registry/repository[:tag]或命名慣例 registry/repository[@digest] (例如 public.ecr.aws/registry_alias/my-web-app:latest)。

      • Amazon ECR儲存庫中的映像會使用完整的命名慣例 registry/repository[:tag] (例如 aws_account_id.dkr.ecr.region.amazonaws.com/my-web-app:latest)。

      • 上的官方儲存庫中的映像 Docker Hub 使用單一名稱 (例如 ubuntumongo)。

      • 上的其他儲存庫中的影像 Docker Hub 符合組織名稱 (例如 amazon/amazon-ecs-agent)。

      • 其他線上儲存庫中的映像更進一步要求使用網域名稱 (例如,quay.io/assemblyline/ubuntu)。

    2. 針對命令語法 ,選擇 BashJSON

    3. Command (命令) 中,指定要傳送至容器的命令。對於更簡單的命令,請輸入命令,就像您針對命令提示字元所做的一樣。然後,驗證 JSON 結果正確,並傳遞至 Docker daemon。 對於更複雜的命令 JSON (例如,使用特殊字元),請使用語法。

      提示

      選擇要檢視的資訊 Bash 以及 JSON 程式碼範例。

      此參數會在 Docker Remote 的建立容器區段Cmd中映射至 ,並將 COMMAND 參數映射至 docker run API如需 的詳細資訊 Docker CMD 參數,請參閱https://docs.docker.com/engine/參考/建置器/#cmd

      注意

      您可以在 命令中使用參數取代和預留位置的預設值。如需詳細資訊,請參閱參數

    4. (選用) 針對執行角色 ,指定授予 Amazon ECS容器代理程式代表您撥打電話 AWS API許可IAM的角色。此功能使用 Amazon ECSIAM角色執行任務。如需詳細資訊,請參閱 Amazon Elastic Container Service 開發人員指南 中的 Amazon ECS任務執行IAM角色

    5. 針對任務角色組態 ,選擇具有 許可IAM的角色 AWS APIs。此功能使用 Amazon ECSIAM角色執行任務。如需詳細資訊,請參閱 Amazon Elastic Container Service 開發人員指南 中的IAM任務角色

      注意

      此處僅顯示具有 Amazon Elastic Container Service 任務角色信任關係的角色。如需為 AWS Batch 任務建立IAM角色的詳細資訊,請參閱 Amazon Elastic Container Service 開發人員指南 中的為您的任務建立IAM角色和政策

  16. 對於參數 ,選擇新增參數,將參數取代預留位置新增為索引鍵和選用對。

  17. 環境組態區段中:

    1. 針對 vCPUs,輸入 vCPUs 要預留給容器的 數目。此參數會在 Docker Remote 的建立容器區段CpuShares中映射至 ,並將 --cpu-shares選項映射至 docker run API每個 vCPU 等於 1,024 個CPU共用。您必須指定至少一個 v CPU。

    2. 針對記憶體 ,輸入容器可用的記憶體限制。如果您的容器嘗試超過您在此處指定的記憶體量,容器會停止。此參數會在 Docker Remote 的建立容器區段Memory中映射至 ,並將 --memory選項映射至 docker run API您必須為單一工作指定至少 4 MiB 的記憶體。

      注意

      若要最大化資源使用率,請為特定執行個體類型的任務排定記憶體的優先順序。如需詳細資訊,請參閱運算資源記憶體管理

    3. 對於 數量GPUs,選擇要GPUs預留給容器的 數量。

    4. (選用) 針對環境變數 ,選擇新增環境變數,將環境變數新增為名稱值對。這些變數會傳遞至容器。

    5. (選用) 針對秘密 ,選擇新增秘密,將秘密新增為名稱值對。這些秘密會在容器中公開。如需詳細資訊,請參閱 LogConfiguration:secretOptions

  18. 選擇下一頁

  19. Linux 組態區段中:

    1. User (使用者) 中,輸入要在容器內使用的使用者名稱。此參數會在 Docker Remote 的建立容器區段User中映射至 ,並將 --user選項映射至 docker run API

    2. (選用) 若要在主機執行個體上提升作業容器的許可 (類似root使用者),請將特殊權限滑桿拖曳至右側。此參數會在 Docker Remote 的建立容器區段Privileged中映射至 ,並將 --privileged選項映射至 docker run API

    3. (選用) 開啟啟用初始化程序以在容器內執行init程序。此程序會轉送訊號並接收程序。

  20. (選用) 在 Filesystem 組態區段中:

    1. 開啟啟用唯讀檔案系統以移除磁碟區的寫入存取權。

    2. 針對共用記憶體大小 ,輸入/dev/shm磁碟區的大小 (以 MiB 為單位)。

    3. 針對最大交換大小 ,輸入容器可以使用的交換記憶體總量 (以 MiB 為單位)。

    4. 針對交換輸入介於 0 到 100 之間的值,以指示容器的交換行為。如果您未指定值並啟用交換,則值預設為 60。如需詳細資訊,請參閱 LinuxParameters:swappiness

    5. (選用) 展開其他組態

    6. (選用) 針對 Tmpfs ,選擇新增 tmpfs 以新增tmpfs掛載。

    7. (選用) 針對裝置 ,選擇新增裝置以新增裝置:

      1. 針對 Container path (容器路徑),指定容器執行個體中的路徑,以公開對應到主機執行個體的裝置。如果您將此保留空白,則會在容器中使用主機路徑。

      2. 針對 Host path (主機路徑),指定主機執行個體中的裝置的路徑。

      3. 針對許可 ,選擇要套用至裝置的一或多個許可。可用的許可為 READWRITEMKNOD

    8. (選用) 針對磁碟區組態 ,選擇新增磁碟區以建立要傳遞至容器的磁碟區清單。輸入磁碟區的名稱來源路徑,然後選擇新增磁碟區 。您也可以選擇開啟啟用 EFS

    9. (選用) 針對掛載點 ,選擇新增掛載點組態,以新增資料磁碟區的掛載點。您必須指定來源磁碟區和容器路徑。這些掛載點會傳遞至 Docker daemon 在容器執行個體上。您也可以選擇讓磁碟區唯讀。

    10. (選用) 針對 Ulimits 組態 ,選擇新增 ulimit 以新增容器ulimits的值。輸入名稱 軟限制 硬限制值,然後選擇新增 ulimit

  21. (選用) 在記錄組態區段中:

    1. 對於日誌驅動程式 ,選擇要使用的日誌驅動程式。如需可用日誌驅動程式的詳細資訊,請參閱 LogConfiguration:logDriver

      注意

      根據預設,會使用awslogs日誌驅動程式。

    2. 對於選項 ,選擇新增選項以新增選項。輸入名稱值對,然後選擇新增選項

    3. 針對秘密 ,選擇新增秘密 。輸入名稱值對,然後選擇新增秘密來新增秘密。

      提示

      如需詳細資訊,請參閱 LogConfiguration:secretOptions

  22. 選擇下一頁

  23. 對於任務定義檢閱 ,檢閱組態步驟。如需變更,請選擇 Edit (編輯)。完成後,選擇建立任務定義