本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
教學課程:Amazon EC2 協調入門
Amazon Elastic Compute Cloud (Amazon EC2) 在 中提供可擴展的運算容量 AWS 雲端。使用 Amazon EC2不需要預先投資硬體,因此您可以更快地開發和部署應用程式。
您可以使用 Amazon 視需要EC2啟動任意數量或數量的虛擬伺服器、設定安全性和聯網和管理儲存。Amazon EC2可讓您擴展或縮減規模,以處理需求的變化或熱門度激增,減少預測流量的需求。
建立運算環境
若要為 Amazon EC2 協調建立運算環境,請執行下列動作:
-
針對選取協調類型 ,選擇 Amazon Elastic Compute Cloud(Amazon EC2)。
-
選擇 Next (下一步)。
-
在名稱 的運算環境組態區段中,指定運算環境的唯一名稱。名稱長度最多為 128 個字元。可以包含大小寫字母、數字、連字號 (-) 和底線 (_)。
-
針對執行個體角色 ,選擇已連接必要IAM許可的現有執行個體設定檔。此執行個體描述檔可讓運算環境中的 Amazon ECS容器執行個體呼叫所需的 AWS API操作。如需詳細資訊,請參閱Amazon ECS 執行個體角色。
-
(選用) 標籤是指派給資源的標籤。若要新增標籤或 Amazon EC2標籤,請展開標籤 ,然後選擇新增標籤 。輸入鍵值對,然後再次選擇新增標籤。
重要
如果您選擇新增標籤 ,則必須輸入鍵值對,然後再次選擇新增標籤或選擇移除標籤 。
-
(選用) 在 使用 Amazon EC2 Spot 執行個體 的執行個體組態區段中,使用 Spot 執行個體 開啟啟用。
-
(僅限 Spot) 對於最大 % 隨需價格 ,輸入您要為 Spot 資源支付的隨需定價最大百分比。
-
(選用) (僅限 Spot) 對於 Spot 機群角色 ,請選擇現有的 Amazon EC2 Spot 機群IAM角色以套用至 Spot 運算環境。如果您尚未擁有現有的 Amazon EC2 Spot Fleet IAM角色,您必須先建立一個角色。如需詳細資訊,請參閱Amazon EC2 Spot 機群角色。
重要
若要在建立時標記 Spot 執行個體,您的 Amazon EC2 Spot 機群IAM角色必須使用較新的 AmazonEC2SpotFleetTaggingRole 受管政策。AmazonEC2SpotFleetRole 受管政策沒有標記 Spot 執行個體所需的許可。如需詳細資訊,請參閱 建立時未標記 Spot 執行個體 和 標記您的 資源。
-
對於最低 vCPUs,選擇運算環境維持EC2 vCPUs 的最小數量,無論任務佇列需求為何。
-
針對所需的 vCPUs,選擇運算環境啟動EC2vCPUs的 數量。隨著任務佇列需求增加, AWS Batch 會增加所需的數量 vCPUs 並新增EC2執行個體。的 數目最多 vCPUs 可以增加到 的最大數目vCPUs。隨著需求減少, 會 AWS Batch 減少所需的數量 vCPUs 並移除執行個體。的 會一直減少到 的最低數量vCPUs。
-
對於最大值 vCPUs,選擇EC2 vCPUs 運算環境可以擴展到的最大數量,無論任務佇列需求為何。
-
針對允許的執行個體類型 ,選擇可以啟動的 Amazon EC2執行個體類型。您可以指定執行個體系列來啟動這些系列內的任何執行個體類型 (例如
c5
、c5n
或p3
)。或者,您可以在 系列中指定特定大小 (例如c5.8xlarge
)。金屬執行個體類型不在執行個體系列中。例如,c5
不包含c5.metal
。您也可以選擇optimal
執行個體類型 (從 C4, M4 和 R4 執行個體系列) 符合您任務佇列的需求。注意
在建立運算環境時,您為其選取的執行個體類型必須共用相同架構。例如,您無法在相同的運算環境中混合 x86 和ARM執行個體。
注意
AWS Batch GPUs 根據任務佇列中所需的數量進行擴展。若要使用GPU排程,運算環境必須包含來自
p2
、p3
、p4
、p5
、、g3
g3s
、g4
或g5
系列的執行個體類型。注意
目前,
optimal
使用來自 的執行個體類型 C4, M4 和 R4 執行個體系列。在 中 AWS 區域 ,沒有來自這些執行個體系列的執行個體類型,則來自 的執行個體類型 C5, M5 和 R5 會使用執行個體系列。 -
展開 Additional configuration (其他組態)。
-
(選用) 針對置放群組 ,輸入置放群組名稱,以在運算環境中將資源分組。
-
(選用) 對於EC2金鑰對 ,當您連線到執行個體時,請選擇公有和私有金鑰對作為安全憑證。如需 Amazon EC2金鑰對的詳細資訊,請參閱 Amazon EC2金鑰對和 Linux 執行個體。
-
如為配置策略,從允許的執行個體類型清單中選取執行個體類型時,選取要使用的配置策略。BEST_FIT_PROGRESSIVE 通常是EC2隨需運算環境的更佳選擇,而 SPOT_CAPACITY_OPTIMIZED 則是 EC2 Spot 運算環境。如需詳細資訊,請參閱的執行個體類型配置策略 AWS Batch。
-
(選用) 針對EC2組態 ,選擇新增EC2組態 。選擇映像類型和映像 ID 覆寫值,以提供 的資訊 AWS Batch ,以為運算環境中的執行個體選取 Amazon Machine Images (AMIs)。如果沒有為每個影像類型 指定影像 ID 覆寫, 會 AWS Batch 選取最近的 Amazon ECS最佳化 AMI。 如果未指定映像類型,則預設值為非 GPU AWS Graviton 執行個體的 Amazon Linux 2。
重要
若要使用自訂 AMI,請選擇影像類型,然後在影像 AMI ID 覆寫方塊中輸入自訂 ID。
- Amazon Linux 2
-
所有以 AWS Graviton 為基礎的執行個體系列 (例如
C6g
、R6g
、M6g
和T4g
) 的預設值,可用於所有非GPU執行個體類型。 - Amazon Linux 2 (GPU)
-
所有GPU執行個體系列 (例如
P4
和G4
) 的預設值,可用於所有非 AWS Graviton 型執行個體類型。 - Amazon Linux
-
可用於非 GPU AWS Graviton 執行個體系列。Amazon Linux 的標準支援AMI已結束。如需詳細資訊,請參閱 Amazon Linux AMI
。
注意
AMI 您為運算環境選擇的 必須符合您要用於該運算環境的執行個體類型的架構。例如,如果您的運算環境使用 A1 執行個體類型,AMI您選擇的運算資源必須支援 Arm 執行個體。Amazon ECS vends 兩者 x86 以及 Arm Amazon ECS最佳化 Amazon Linux 2 的版本AMI。如需詳細資訊,請參閱 Amazon Elastic Container Service 開發人員指南 中的 Amazon ECS最佳化 Amazon Linux 2AMI。
-
(選用) 針對啟動範本 ,選取現有的 Amazon EC2啟動範本以設定您的運算資源。範本的預設版本會自動填入。如需詳細資訊,請參閱搭配 使用 Amazon EC2 啟動範本 AWS Batch。
注意
在啟動範本中,您可以指定您建立AMI的自訂。
-
(選用) 對於 Launch template version (啟動範本版本),請輸入
$Default
、$Latest
或指定要使用的版本號碼。重要
建立運算環境後,即使更新啟動範本的
$Default
或 版本,也不會變更所使用的啟動範本$Latest
版本。若要使用新的啟動範本版本,請先建立新的運算環境,將新的運算環境新增至現有的任務佇列。然後,從任務佇列中移除舊的運算環境,然後刪除舊的運算環境。 -
在網路組態區段中:
-
針對虛擬私有雲端 (VPC) ID ,選擇 Amazon VPC。
-
對於子網路 , AWS 帳戶 會列出您 的子網路。如果您想要建立一組自訂子網路,請選擇清除子網路 ,然後選擇您想要的子網路。
重要
運算資源必須透過ECSVPC端點或多個公有 IP 地址與 Amazon VPC端點通訊。如需詳細資訊,請參閱 Amazon ECS 介面VPC端點 (AWS PrivateLink)。如果您的執行個體未設定VPC端點或公有 IP 地址,您可以使用網路地址轉譯 (NAT)。如需 的詳細資訊NAT,請參閱NAT閘道和 建立 Virtual Private Cloud 。
-
針對安全群組 ,選擇您要與執行個體建立關聯的 Amazon EC2安全群組。如果您想要建立一組自訂的安全群組,請選擇清除安全群組 。然後,選擇您想要的安全群組。
-
-
選擇 Next (下一步)。
建立任務佇列
任務佇列會儲存您提交的任務,直到 AWS Batch 排程器在運算環境中的資源上執行任務為止。如需詳細資訊,請參閱 任務佇列
若要建立 Amazon EC2 協調的工作佇列,請執行下列動作:
-
在名稱 的任務佇列組態區段中,指定運算環境的唯一名稱。名稱長度最多為 128 個字元。可以包含大小寫字母、數字、連字號 (-) 和底線 (_)。
-
針對優先順序 ,輸入任務佇列的 0 到 100 之間的整數。
重要
較高的整數值會由 AWS Batch 排程器指派較高的優先順序。
-
選擇 Next (下一步)。
建立任務定義
AWS Batch 任務定義會指定任務的執行方式。即使每個任務都必須參考任務定義,在任務定義中指定的許多參數都可以在執行階段覆寫。
若要建立任務定義:
-
在一般組態區段中:
-
在名稱 的一般組態區段中,指定運算環境的唯一名稱。名稱長度最多為 128 個字元。名稱可以包含大小寫字母、數字、連字號 (-) 和底線 (_)。
-
(選用) 針對執行逾時 ,輸入未完成任務在之後終止的時間量 (以秒為單位)。
重要
最小逾時為 60 秒。
-
(選用) 標籤是指派給資源的標籤。若要新增標籤,請展開標籤 ,然後選擇新增標籤 。輸入鍵值對,然後再次選擇新增標籤。
重要
如果您選擇新增標籤 ,則必須輸入鍵值對,然後再次選擇新增標籤或選擇移除標籤 。
-
(選用) 開啟傳播標籤,將標籤傳播至 Amazon Elastic Container Service 任務。
-
-
在容器組態區段中:
-
針對映像 ,輸入用來啟動容器的映像名稱。根據預設,Docker Hub 登錄檔中的所有映像都是可用的。您也可以指定儲存庫-url/image:tag 格式的其他儲存庫。參數的長度最多為 255 個字元。參數可包含大小寫字母、數字、連字號 (-)、底線 (_)、冒號 (:)、句點 (.)、正斜線 (/) 和數字符號 (#)。參數會在 Docker Remote API
的建立容器 區段 Image
中映射至 ,以及 的IMAGE
參數docker run。 注意
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
)。
-
-
在 Command (命令) 中,指定要傳送至容器的命令。此參數在 Docker Remote 的建立容器
區段 Cmd
中映射至 ,並將COMMAND
參數映射至 docker run。 API 如需 Docker CMD
參數的詳細資訊,請參閱https://docs.docker.com/engine/參考/建置器/#cmd。 注意
您可以在命令中使用替換參數預設值及預留位置。如需詳細資訊,請參閱參數。
-
(選用) 針對執行角色 ,指定授予 Amazon ECS容器代理程式代表您 AWS API撥打電話許可IAM的角色。此功能使用 Amazon ECSIAM角色執行任務。如需詳細資訊,請參閱 Amazon Elastic Container Service 開發人員指南 中的 Amazon ECS任務執行IAM角色。
-
(選用) 針對工作角色組態 ,選擇具有 許可IAM的角色 AWS APIs。此功能使用 Amazon ECSIAM角色執行任務。如需詳細資訊,請參閱 Amazon Elastic Container Service 開發人員指南 中的IAM任務角色。
注意
此處僅顯示具有 Amazon Elastic Container Service 任務角色信任關係的角色。如需為 AWS Batch 任務建立IAM角色的詳細資訊,請參閱 Amazon Elastic Container Service 開發人員指南 中的為您的任務建立IAM角色和政策。
-
(選用) 您可以將參數新增至任務定義,作為鍵值映射,以覆寫任務定義預設值。若要新增 參數:
-
針對參數 ,選擇新增參數 。輸入鍵值對,然後再次選擇新增參數。
重要
如果您選擇新增參數 ,則必須至少設定一個參數,或選擇移除參數 。
-
-
在 的環境組態區段中vCPUs,指定 vCPUs 要保留給容器的 數目。此參數在 Docker Remote 的建立容器
區段 CpuShares
中映射至 ,並將--cpu-shares
選項映射至 docker run。 API 每個 vCPU 等於 1,024 個CPU共用。 -
對於記憶體 ,指定要呈現至任務容器的記憶體硬限制 (以 MiB 為單位)。如果您的容器嘗試超過此處指定的記憶體,則容器會停止。此參數會在 Docker Remote 的建立容器
區段 Memory
中映射至 ,並將--memory
選項映射至 docker run。 API -
對於 數量GPUs,選擇要GPUs預留給容器的 數量。
-
(選用) 針對環境變數組態 ,選擇新增環境變數以新增要傳遞至容器的環境變數。此參數會在 Docker Remote 的建立容器
區段 Env
中映射至 ,並將--env
選項映射至 docker run。 API -
(選用) 針對秘密 ,選擇新增秘密,將秘密新增為名稱值對。這些秘密會在容器中公開。如需詳細資訊,請參閱 LogConfiguration:secretOptions。
-
(選用) 在 Linux 組態區段中:
-
在 User (使用者) 中,輸入要在容器內使用的使用者名稱。此參數在 Docker Remote 的建立容器
區段 User
中映射至 ,並將--user
選項映射至 docker run。 API -
若要在主機執行個體上授予任務容器提升許可 (類似
root
使用者),請將特殊權限滑桿拖曳至右側。此參數會在 Docker Remote 的建立容器區段 Privileged
中映射至 ,並將--privileged
選項映射至 docker run。 API -
開啟啟用初始化程序以在容器內執行
init
程序。此程序會轉送訊號並接收程序。
-
-
(選用) 在 Filesystem 組態區段中:
-
開啟啟用唯讀檔案系統以移除磁碟區的寫入存取權。
-
針對共用記憶體大小 ,輸入
/dev/shm
磁碟區的大小 (以 MiB 為單位)。 -
針對最大交換大小 ,輸入容器可以使用的交換記憶體總量 (以 MiB 為單位)。
-
針對交換輸入介於 0 到 100 之間的值,以指示容器的交換行為。如果您未指定值並啟用交換,則值預設為 60。如需詳細資訊,請參閱 LinuxParameters:swappiness 。
-
(選用) 展開其他組態 。
-
針對 Tmpfs ,選擇新增 tmpfs 以新增
tmpfs
掛載。 -
針對裝置 ,選擇新增裝置以新增裝置:
-
針對 Container path (容器路徑),指定容器執行個體中的路徑,以公開對應到主機執行個體的裝置。如果您將此保留空白,則會在容器中使用主機路徑。
-
針對 Host path (主機路徑),指定主機執行個體中的裝置的路徑。
-
針對許可 ,選擇要套用至裝置的一或多個許可。可用的許可為 READ、 WRITE和 MKNOD。
-
-
(選用) 針對 Ulimits 組態 ,選擇新增 ulimit 以新增容器
ulimits
的值。輸入名稱 、軟限制 和硬限制值,然後選擇新增 ulimit 。
-
-
-
選擇 Next (下一步)。
建立任務。
若要建立任務,請執行下列動作:
-
在名稱 的任務組態區段中,指定任務的唯一名稱。名稱長度最多為 128 個字元。可以包含大小寫字母、數字、連字號 (-) 和底線 (_)。
-
選擇 Next (下一步)。
檢閱和建立
在檢閱和建立頁面上,檢閱組態步驟。如需變更,請選擇 Edit (編輯)。完成後,請選擇建立資源 。