本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
在 Amazon EC2 資源上建立具有多個容器的單一節點任務定義
請完成下列步驟,在 Amazon Elastic Compute Cloud (Amazon EC2) 資源上建立具有多個容器的單一節點任務定義。
若要在 Amazon EC2 資源上建立新的任務定義:
-
在 https://https://console.aws.amazon.com/batch/
開啟 AWS Batch 主控台。 -
從導覽列中,選擇要 AWS 區域 使用的 。
-
在左側導覽窗格中,選擇任務定義。
-
選擇建立。
-
針對協調類型,選擇 Amazon Elastic Compute Cloud (Amazon EC2)。
-
對於任務定義結構,請關閉使用舊版 containerProperties 結構處理。
-
對於 EC2 平台組態,請關閉啟用多節點平行處理。
-
選擇下一步。
在一般組態區段中,輸入下列內容:
-
在名稱中,輸入任務定義的唯一名稱。名稱長度上限為 128 個字元。可以包含大小寫字母、數字、連字號 (-) 和底線 (_)。
-
針對執行逾時 - 選用,輸入逾時值 (以秒為單位)。執行逾時是未完成任務終止之前的時間長度。如果嘗試超過逾時持續時間,則會停止嘗試並移至
FAILED狀態。如需詳細資訊,請參閱任務逾時。最小值為 60 秒。 -
開啟排程優先順序 - 選用。輸入介於 0 到 100 之間的排程優先順序值。較高值的優先順序較高。
-
展開標籤 - 選用,然後選擇新增標籤以將標籤新增至資源。輸入金鑰和選用值,然後選擇 Add tag (新增標籤)。
-
開啟傳播標籤,將標籤從任務和任務定義傳播到 Amazon ECS 任務。
-
在重試策略 - 選用區段中,輸入下列內容:
-
針對任務嘗試,輸入嘗試將任務移至
RUNNABLE狀態的 AWS Batch 次數。輸入介於 1 到 10 之間的數字。 -
針對重試策略條件,選擇結束時新增評估。輸入至少一個參數值,然後選擇動作。對於每組條件,動作必須設定為重試或結束。這些動作代表下列項目:
-
重試 – AWS Batch 重試,直到達到您指定的任務嘗試次數為止。
-
結束 – AWS Batch 停止重試任務。
重要
如果您選擇在結束時新增評估,則必須至少設定一個參數,然後選擇動作或選擇在結束時移除評估。
-
-
在任務屬性區段中,輸入下列內容:
-
針對執行角色 - 條件式,選擇角色以允許 Amazon ECS 代理程式代表您進行 AWS API 呼叫。如需建立執行角色的詳細資訊,請參閱 教學課程:建立 IAM 執行角色。
-
選擇啟用 ECS 執行命令,以啟用直接存取 Amazon ECS 容器殼層,並略過主機作業系統。您必須選擇任務角色。
重要
ECS 執行命令需要可寫入的檔案系統。
-
針對任務角色,選擇 Amazon ECS Identity and Access Management (IAM) 角色,以允許容器代表您進行 AWS API 呼叫。如需詳細資訊,請參閱《Amazon Elastic Container Service 開發人員指南》中的 Amazon ECS 任務 IAM 角色。
-
針對 IPC 模式
task,選擇host、 或none。如果指定host,則在同一容器執行個體上指定主機 IPC 模式的任務中的所有容器都會與主機 Amazon EC2 執行個體共用相同的 IPC 資源。如果指定任務,則指定任務內的所有容器都會共用相同的 IPC 資源。如果未指定,則任務容器中的 IPC 資源為私有,不會與任務中或容器執行個體上的其他容器共用。如果沒有指定值,則 IPC 資源命名空間共用取決於容器執行個體上 Docker 常駐程式的設定。 針對 PID 模式,選擇
host或task。例如,監控附屬可能需要pidMode存取相同任務中執行之其他容器的相關資訊。如果指定host,則在同一容器執行個體上指定主機 PID 模式的任務中的所有容器都會與主機 Amazon EC2 執行個體共用相同的程序命名空間。如果已指定task,則指定任務內的所有容器會共用相同的程序命名空間。如果未指定任何值,每個容器的預設值會是私有命名空間。
-
在消耗性資源區段中,輸入下列內容:
-
輸入唯一的名稱和請求的值。
您可以選擇新增消耗性資源來新增更多消耗性資源。
-
在儲存區段中,輸入下列內容:
-
輸入磁碟區的名稱和來源路徑,然後選擇新增磁碟區。您也可以選擇開啟啟用 EFS。
您可以選擇新增磁碟區來新增更多磁碟區。
-
-
針對參數,選擇新增參數,將參數替換預留位置新增為鍵對和選用值對。
-
選擇下一頁。
-
在容器組態區段中:
在 Name (名稱) 中,輸入容器的名稱。
對於必要容器,如果容器為必要,請啟用 。
-
針對映像,選擇要用於任務的Docker映像。根據預設,Docker Hub 登錄檔中的映像為可用。您也可以用
指定其他儲存庫。名稱的長度上限為 225 個字元。可以包含大小寫字母、數字、連字號 (-)、底線 (_)、冒號 (:)、正斜線 (/) 和井號 (#)。此參數會映射至 Docker Remote APIrepository-url/image:tag的建立容器 區段中的 Image以及 docker run的 IMAGE參數。注意
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 上官方儲存庫中的映像,使用的是單一名稱 (例如,
ubuntu或mongo)。 -
Docker Hub 上的其他儲存庫中的映像要求使用組織名稱 (例如,
amazon/amazon-ecs-agent)。 -
其他線上存放庫中的映像更進一步要求使用網域名稱 (例如,
quay.io/assemblyline/ubuntu)。
-
針對資源需求,請設定下列各項:
針對 vCPUs,選擇容器CPUs 數量。
針對記憶體,選擇容器的記憶體量。
針對 GPU - 選用,選擇容器的 GPUs 數量。
在 User (使用者) 中,輸入要在容器內使用的使用者名稱。
開啟 Enable read only filesystem (啟用唯讀檔案系統) 以移除對磁碟區的寫入權限。
開啟特權,在主機執行個體上為任務容器提供更高的許可,類似於根使用者。
-
針對命令,在欄位中輸入命令,作為其 JSON 字串陣列對等項。
此參數會映射至 Docker Remote API
的建立容器 區段中的 Cmd以及 docker run的 COMMAND參數。如需 DockerCMD參數的詳細資訊,請參閱 https://docs.docker.com/engine/reference/builder/#cmd。 注意
您可以在命令中使用預設值來取代參數和預留位置。如需詳細資訊,請參閱參數。
對於儲存庫登入資料 - 選用,輸入包含登入資料之秘密的 ARN。
針對環境變數 - 選用,選擇新增環境變數以新增要傳遞至容器的環境變數。
在 Linux 參數 - 選用區段中:
開啟 Enable init process (啟用初始化處理) 以在容器內執行初始化程序。
針對共用記憶體大小,輸入 /dev/shm 磁碟區的大小 (MiB)
針對最大交換大小,輸入容器可以使用的交換記憶體總量 (以 MiB 為單位)。
針對交換輸入介於 0 到 100 之間的值,以表示容器的交換行為。如果您未指定值並啟用交換,則值預設為 60。
-
針對裝置,選擇新增裝置以新增裝置:
-
針對 Container path (容器路徑),指定容器執行個體中的路徑,以公開對應到主機執行個體的裝置。如果您將此保留空白,則會在容器中使用主機路徑。
-
針對 Host path (主機路徑),指定主機執行個體中的裝置的路徑。
-
針對許可,選擇要套用至裝置的一或多個許可。可用的許可為讀取、寫入和 MKNOD。
-
-
針對 Tmpfs,選擇新增 tmpfs 以新增
tmpfs掛載。
注意
Firelens 記錄必須在專用容器中完成。若要設定 Firelens 記錄:
在每個容器中,除了專用防火墻容器之外,請將記錄驅動程式設定為
awsfirelens在您的 Firelens 容器中,設定記錄目的地的 Firelens 組態 - 選用和記錄組態 - 選用
在 Firelens 組態 - 選用區段中:
重要
-
針對類型,選擇
fluentd或fluentbit。 -
在選項中,輸入選項的名稱/值對。您可以使用新增選項來新增更多選項。
-
在記錄組態 - 選用區段中:
-
對於日誌驅動程式,選擇要使用的日誌驅動程式。如需可用日誌驅動程式的詳細資訊,請參閱 LogConfiguration:logDriver。
注意
根據預設,會使用
awslogs日誌驅動程式。 -
針對選項,選擇新增選項以新增選項。輸入名稱/值對,然後選擇新增選項。
-
針對秘密,選擇新增秘密。輸入名稱/值對,然後選擇新增秘密以新增秘密。
提示
如需詳細資訊,請參閱 LogConfiguration:secretOptions。
-
針對掛載點 - 選用,選擇新增掛載點以新增資料磁碟區的掛載點。您必須指定來源磁碟區和容器路徑。
-
針對秘密 - 選用,選擇新增秘密以新增秘密。然後,輸入名稱值對,然後選擇新增秘密。
提示
如需詳細資訊,請參閱 LogConfiguration:secretOptions。
針對 Ulimits - 選用,選擇新增 ulimit 以新增容器
ulimits的值。輸入名稱、軟性限制和硬性限制值,然後選擇新增 ulimit。對於相依性 - 選用,選擇新增容器相依性。選擇容器的名稱及其狀態,以判斷此容器何時啟動。
如果您只設定一個容器,則必須選擇新增容器並完成設定新容器。否則,請選擇下一步以檢閱。