

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

# 教學課程：使用 Amazon EC2 資源建立受管運算環境


完成下列步驟，使用 Amazon Elastic Compute Cloud (Amazon EC2) 資源建立受管運算環境。

1. 在 https：//[https://console.aws.amazon.com/batch/](https://console.aws.amazon.com/batch/) 開啟 AWS Batch 主控台。

1. 從導覽列中，選取要 AWS 區域 使用的 。

1. 在導覽窗格中，選擇 **Environments (環境)**。

1. 選擇**建立環境**，然後選擇**運算環境**。

1. 設定環境。

   1. 針對**運算環境組態**，選擇 **Amazon Elastic Compute Cloud (Amazon EC2)**。

   1. 針對**協調類型**，選擇**受**管。

   1. 針對**名稱**，指定運算環境的唯一名稱。名稱最多可包含 128 個字元。可以包含大小寫字母、數字、連字號 (-) 和底線 (\$1)。

   1. 針對**服務角色**，選擇服務連結角色，讓 AWS Batch 服務代表您呼叫所需的 AWS API 操作。例如，選擇 **AWSServiceRoleForBatch**。如需詳細資訊，請參閱[使用 的服務連結角色 AWS Batch](using-service-linked-roles.md)。

   1. 在 **Instance role (執行個體角色)** 中，選擇建立新的執行個體描述檔，或使用附有所需 IAM 許可的現有執行個體描述檔。此執行個體描述檔可讓為運算環境建立的 Amazon ECS 容器執行個體代表您呼叫所需的 AWS API 操作。如需詳細資訊，請參閱[Amazon ECS 執行個體角色](instance_IAM_role.md)。如果您選擇建立新的執行個體描述檔，會為您建立所需的角色 (`ecsInstanceRole`)。

   1. （選用） 展開**標籤**。

      1. （選用） 針對 **EC2 標籤**，選擇**新增標籤**，將標籤新增至運算環境中啟動的資源。然後，輸入**金鑰**名稱和選用**值**。選擇 **Add tag (新增標籤)**。

      1. （選用） 針對**標籤**，選擇**新增標籤**。然後，輸入**金鑰**名稱和選用**值**。選擇 **Add tag (新增標籤)**。

         如需詳細資訊，請參閱[標記您的 AWS Batch 資源](using-tags.md)。

   1.  選擇**下一步**。

1. 在**執行個體組態**區段中：

   1. （選用） 對於**使用 Spot 執行個體啟用**，請開啟 Spot。如需詳細資訊，請參閱 [ Spot 執行個體](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-spot-instances.html)。

   1. （僅限 Spot) 針對 **% 的隨需價格上限**，選擇 Spot 執行個體價格與執行個體啟動之前該執行個體類型的隨需價格相比的最大百分比。例如，如果您的最高價格為 20%，則 Spot 價格必須小於該 EC2 執行個體目前隨需價格的 20%。您一律會支付最低價 (市價) 且絕不超過您的最大百分比。如果您將此欄位空，預設值是隨需價格的 100%。

   1. （僅限 Spot) 針對 **Spot 機群角色**，選擇要套用至 Spot 運算環境的現有 Amazon EC2 Spot 機群 IAM 角色。如果您還沒有現有的 Amazon EC2 Spot Fleet IAM 角色，您必須先建立一個角色。如需詳細資訊，請參閱[Amazon EC2 Spot 機群角色](spot_fleet_IAM_role.md)。
**重要**  
若要在建立時標記 Spot 執行個體，您的 Amazon EC2 Spot Fleet IAM 角色必須使用較新的 **AmazonEC2SpotFleetTaggingRole** 受管政策。**AmazonEC2SpotFleetRole** 受管政策沒有標記 Spot 執行個體所需的許可。如需詳細資訊，請參閱[建立時未標記 Spot 執行個體](spot-instance-no-tag.md)及[標記您的 資源](tag-resources.md)。

   1. 對於**最小 vCPUs**，選擇運算環境維護的最小 vCPUs 數量，無論任務佇列需求為何。

   1. 針對**所需的 vCPUs**，選擇運算環境啟動的 vCPUs 數量。隨著任務佇列需求增加， AWS Batch 可以增加運算環境的所需 vCPU 數，並新增 EC2 執行個體 (最多達最大 vCPU 數)。隨著需求減少， AWS Batch 可以減少運算環境的所需 vCPU 數，並移除執行個體 (最少可達最小 vCPU 數)。

   1. 針對**最大 vCPUs**，選擇運算環境可以向外擴展的 vCPUs 數量上限，無論任務佇列需求為何。

   1. （選用） 針對**縮減延遲 （分鐘）**，選擇執行個體在任務完成後在運算環境中 AWS Batch 保持執行的最短時間 （分鐘）。

   1. 針對**允許的執行個體類型**，選擇可以啟動的 Amazon EC2 執行個體類型。您可以指定執行個體系列來啟動這些系列中的任何執行個體類型 （例如 `c5`、 `c5n`或 `p3`)。或者，您可以指定系列中的特定大小 （例如 `c5.8xlarge`)。金屬執行個體類型不在執行個體系列中。例如， `c5`不包含 `c5.metal`。

      AWS Batch 如果您選擇下列其中一項， 可以為您選取執行個體類型：
      + `optimal` 選取符合您任務佇列需求的執行個體類型 `m4` `r4`（來自 `c4`、`m5`、、 `c5`和 `r5`執行個體系列）。
      + `default_x86_64` 選擇符合任務佇列資源需求的 x86 型執行個體類型 （來自 m6i、r6i、 c6i和 c7i執行個體系列）。
      + `default_arm64` 選擇符合任務佇列資源需求的 x86 型執行個體類型 （來自 m6g、r6g、 c6g和 c7g執行個體系列）。
**注意**  
從 11/01/2025 開始， `optimal` 的行為將變更為符合 `default_x86_64`。在變更期間，您的執行個體系列可能會更新為較新一代。您不需要執行任何動作，即可進行升級。如需變更的詳細資訊，請參閱 [ 接收自動執行個體系列更新的最佳執行個體類型組態   從 11/01/2025 開始， `optimal` 的行為將變更為符合 `default_x86_64`。在變更期間，您的執行個體系列可能會更新為較新一代。您不需要執行任何動作，即可進行升級。  AWS Batch 支援 的 **instanceTypes** 中的單一選項`optimal`，以符合任務佇列的需求。我們已推出兩個新的執行個體類型選項： `default_x86_64`和 `default_arm64`。`default_x86_64` 如果您未選擇執行個體類型，我們將使用 。這些新選項會根據您的任務佇列需求，自動選取不同系列和世代之間具成本效益的執行個體類型，讓您快速執行工作負載。 當 中有足夠容量的新執行個體類型可用時 AWS 區域，對應的預設集區會自動更新為新的執行個體類型。現有的`optimal`選項將繼續受到支援，而且不會遭到取代，因為基礎預設集區會支援它，以提供後續更新的執行個體。如果您使用的是 '`optimal`，則不需要採取任何動作。 不過，請注意，系統只會使用新的執行個體類型自動更新 `ENABLED`和 `VALID` 運算環境 (CEs)。如果您有任何 `DISABLED`或 `INVALID` CE，它們會在重新啟用並設定為 `VALID` 狀態時收到更新。 CEs  ](optimal-default-instance-troubleshooting.md#optimal-default-instance-troubleshooting.title)。
**注意**  
執行個體系列可用性因 而異 AWS 區域。例如，有些 AWS 區域可能沒有任何第四代執行個體系列，但有第五代和第六代執行個體系列。
使用 `default_x86_64`或 `default_arm64` 執行個體套件時， AWS Batch 會根據成本效益和效能的平衡來選取執行個體系列。雖然較新一代的執行個體通常提供更好的價格效能，但如果它為您的工作負載提供最佳的可用性、成本和效能組合， AWS Batch 則可以選擇較新一代的執行個體系列。例如，在同時提供 c6i 和 c7i 執行個體 AWS 區域 的 中，如果 c6i 執行個體為您的特定任務需求提供更好的成本效益， AWS Batch 則可能會選取 c6i 執行個體。如需 AWS Batch 執行個體類型和 AWS 區域 可用性的詳細資訊，請參閱[執行個體類型運算資料表](instance-type-compute-table.md#instance-type-compute-table.title)。
AWS Batch 會定期將預設套件中的執行個體更新為較新的、更具成本效益的選項。更新會自動進行，而不需要您採取任何動作。您的工作負載會在更新期間繼續執行，而不會中斷。
**注意**  
在建立運算環境時，您為其選取的執行個體類型必須共用相同架構。例如，您無法在相同的運算環境中混合使用 x86 和 ARM 執行個體。
**注意**  
AWS Batch 會根據任務佇列中所需的數量來擴展 GPUs。若要使用 GPU 排程，運算環境必須包含來自 `p3`、`p4`、`p5`、`p6`、、`g3`、 `g3s` `g4` `g5`或 `g6`系列的執行個體類型。

   1. 如為**配置策略**，從允許的執行個體類型清單中選取執行個體類型時，選取要使用的配置策略。**BEST\$1FIT\$1PROGRESSIVE** 通常是 EC2 隨需運算環境、**SPOT\$1CAPACITY\$1OPTIMIZED** 和 EC2 Spot 運算環境**的 SPOT\$1PRICE\$1CAPACITY\$1OPTIMIZED** 的最佳選擇。如需詳細資訊，請參閱[的執行個體類型配置策略 AWS Batch](allocation-strategies.md)。

   1. 展開 **Additional configuration (其他組態)**。

      1. （選用） 對於**置放群組**，輸入置放群組名稱以將運算環境中的資源分組。

      1. （選用） 對於 **EC2 金鑰對**，當您連線到執行個體時，請選擇公有和私有金鑰對做為安全登入資料。如需 Amazon EC2 金鑰對的詳細資訊，請參閱 [Amazon EC2 金鑰對和 Linux 執行個體](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html)。

      1. （選用） 對於 **EC2 組態**，選擇**映像類型**和**映像 ID 覆寫**值，以提供資訊給 AWS Batch ，以為運算環境中的執行個體選取 Amazon Machine Image (AMIs)。如果未為每個**映像類型指定映像 ID 覆寫**， 會 AWS Batch 選取最近的 [Amazon ECS 最佳化 AMI](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html)。 ****如果未指定**映像類型**，則預設為非 GPU、非 Graviton 執行個體的 **Amazon Linux 2**。 AWS 
**重要**  
若要使用自訂 AMI，請選擇映像類型，然後在**映像 ID 覆寫方塊中輸入自訂 AMI ID**。  
[Amazon Linux 2](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html#al2ami)  
 所有以 AWS Graviton 為基礎的執行個體系列 （例如 `C6g`、`R6g`、 `M6g`和 `T4g`) 的預設值，可用於所有非 GPU 執行個體類型。  
[Amazon Linux 2 (GPU)](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html#gpuami)  
所有 GPU 執行個體系列 （例如 `P4`和 `G4`) 的預設值，可用於所有非 AWS Graviton 型執行個體類型。  
[Amazon Linux 2023](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html)  
AWS Batch 支援 Amazon Linux 2023。  
Amazon Linux 2023 不支援`A1`執行個體。  
[Amazon Linux 2023 (GPU)](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html#gpuami)  
所有 GPU 執行個體系列 （例如 `P4`和 `G4`) 的預設值，可用於所有非 AWS Graviton 型執行個體類型。
**注意**  
您為運算環境選擇的 AMI 必須符合您打算用於該運算環境之執行個體類型的架構。例如，如果您的運算環境使用 A1 執行個體類型，則您所選擇的運算資源 AMI 必須支援 ARM 執行個體。Amazon ECS 同時提供 Amazon ECS 最佳化 Amazon Linux 2 AMI 的 x86 和 ARM 版本。如需詳細資訊，請參閱《[Amazon Elastic Container Service 開發人員指南》中的 Amazon ECS 最佳化 Amazon Linux 2 AMI](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html#ecs-optimized-ami-linux-variants.html)。 **

   1. （選用） 展開**啟動範本**

      1. 針對**預設啟動範本**，選取現有的 Amazon EC2 啟動範本來設定您的運算資源。範本的預設版本會自動填入。如需詳細資訊，請參閱[搭配 使用 Amazon EC2 啟動範本 AWS Batch](launch-templates.md)。
**注意**  
在啟動範本中，您可以指定您建立的自訂 AMI。

      1. （選用） 對於**預設版本**，輸入 `$Default`、 `$Latest`或要使用的特定版本編號。
**注意**  
注意：如果您使用替代變數 (\$1Default 或 \$1Latest)，它們會在儲存此組態時套用目前的預設或最新版本編號。如果預設或最新版本在未來變更，您必須更新資訊 - 不會自動更新。
**重要**  
如果啟動範本的版本參數為 `$Default`或 `$Latest`，則會在基礎設施更新期間評估指定啟動範本的預設或最新版本。如果預設選取不同的 AMI ID 或選取最新版本的啟動範本，則會在更新中使用該 AMI ID。如需詳細資訊，請參閱[基礎設施更新期間的 AMI 選擇](infrastructure-updates.md#updating-compute-environments-ami)。

      1. （選用） 對於**覆寫啟動範本**，選擇**新增覆寫啟動範本**

         1. （選用） 針對**啟動範本**，選取要用於特定執行個體類型和系列的現有 Amazon EC2 啟動範本。

         1. （選用） 對於**預設版本**，輸入要使用的特定版本編號、 `$Default`或 `$Latest`。
**注意**  
如果您使用 `$Default`或 `$Latest`變數， AWS Batch 會在建立運算環境時套用目前資訊。如果預設或最新版本在未來變更，您必須透過 [UpdateComputeEnvironment](https://docs.aws.amazon.com/batch/latest/APIReference/API_UpdateComputeEnvironment.html) 或 AWS 管理主控台 - 更新資訊 AWS Batch。

         1. （選用） 針對**目標執行個體類型**，選取您要套用覆寫啟動範本的執行個體類型或系列。
**注意**  
如果您指定覆寫啟動範本，則需要**目標執行個體類型**。如需詳細資訊，請參閱 [LaunchTemplateSpecificationOverride.targetInstanceTypes](https://docs.aws.amazon.com/batch/latest/APIReference/API_LaunchTemplateSpecificationOverride.html#Batch-Type-LaunchTemplateSpecificationOverride-targetInstanceTypes)。
**注意**  
如果您想要選取的執行個體類型或系列未出現在此清單中，請檢閱您在 中所做的選擇`Allowed instance types`。

   1. 選擇**下一步**。

1. 在**網路組態**區段中：
**重要**  
運算資源需要存取，才可以與 Amazon ECS 服務端點通訊。可透過介面 VPC 端點或透過具備公有 IP 地址的運算資源來實現。  
如需介面 VPC 端點的詳細資訊，請參閱 *Amazon Elastic Container Service 開發人員指南*中的 [Amazon ECS 介面 VPC 端點 (AWS PrivateLink)](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/vpc-endpoints.html)。  
如果您沒有設定介面 VPC 端點，且運算資源沒有公有 IP 地址，則它們必須使用網路地址轉譯 (NAT) 來提供此存取。如需詳細資訊，請參閱 *Amazon VPC 使用者指南*中的 [NAT 閘道](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html)。如需詳細資訊，請參閱[建立 VPC](create-a-vpc.md)。

   1. 對於**虛擬私有雲端 (VPC) ID**，請選擇要啟動執行個體的 VPC。

   1. 對於**子網路**，選擇要使用的子網路。根據預設，所選 VPC 內的所有子網路都可用。
**注意**  
AWS Batch Amazon EC2 上的 支援 Local Zones。如需詳細資訊，請參閱《*Amazon EC2 使用者指南*》中的 Local [ Zones，以及《Amazon](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html?icmpid=docs_ec2_console#concepts-local-zones) ** [ Elastic Container Service 開發人員指南》中的 Local Zones、Wavelength Zones 和 Amazon ECS 叢集 AWS Outposts](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/cluster-regions-zones.html#clusters-local-zones)。

   1. （選用） 對於**安全群組**，選擇要連接到執行個體的安全群組。預設會選擇 VPC 的預設安全群組。
**注意**  
注意：如果您使用替代變數 (\$1Default 或 \$1Latest)，它們會在儲存此組態時套用目前的預設或最新版本編號。如果預設或最新版本在未來變更，您必須更新資訊 - 不會自動更新。

1. 選擇**下一頁**。

1. 針對**檢閱**，檢閱組態步驟。如需變更，請選擇 **Edit** (編輯)。完成後，請選擇**建立運算環境**。