為 Amazon ECS 啟動 GPU 容器執行個體 - Amazon Elastic Container Service

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

為 Amazon ECS 啟動 GPU 容器執行個體

若要在 Amazon EC2 上的 Amazon ECS 中使用 GPU 執行個體,您需要建立啟動範本、使用者資料檔案並啟動執行個體。

然後,您便可執行使用為 GPU 設定之任務定義的任務。

使用啟動範本

您可以建立啟動範本。

  • 建立使用 AMI 的 Amazon ECS 最佳化 GPU AMI ID 的啟動範本。如需有關如何建立啟動範本的資訊,請參閱 Amazon EC2 User Guide 中的 Create a new launch template using parameters you define

    將從前一步驟取得的 AMI ID 用於 Amazon Machine Image。如需有關如何使用 Systems Manager 參數指定 AMI ID 的資訊,請參閱 Amazon EC2 User Guide 中的 Specify a Systems Manager parameter in a launch template

    將下列內容新增至啟動範本中的使用者資料。以您的叢集名稱取代 cluster-name

    #!/bin/bash echo ECS_CLUSTER=cluster-name >> /etc/ecs/ecs.config; echo ECS_ENABLE_GPU_SUPPORT=true >> /etc/ecs/ecs.config

使用 AWS CLI

您可以使用 AWS CLI 來啟動容器執行個體。

  1. 建立稱為 userdata.toml 的檔案。此檔案會用於執行個體使用者資料。以您的叢集名稱取代 cluster-name

    #!/bin/bash echo ECS_CLUSTER=cluster-name >> /etc/ecs/ecs.config; echo ECS_ENABLE_GPU_SUPPORT=true >> /etc/ecs/ecs.config
  2. 執行下列命令,取得 GPU AMI ID。您會在以下步驟中使用此 ID。

    aws ssm get-parameters --names /aws/service/ecs/optimized-ami/amazon-linux-2/gpu/recommended --region us-east-1
  3. 執行下列命令,啟動 GPU 執行個體。請記得替換以下參數:

    • 子網路替換為執行個體將在其中啟動的私有或公有子網路的 ID。

    • bottlerocket_ami 取代為從前一步驟取得的 AMI ID。

    • t3.large 替換為您要使用的執行個體類型。

    • region 替換為區域代碼。

    aws ec2 run-instances --key-name ecs-gpu-example \ --subnet-id subnet \ --image-id gpu_ami \ --instance-type t3.large \ --region region \ --tag-specifications 'ResourceType=instance,Tags=[{Key=GPU,Value=example}]' \ --user-data file://userdata.toml \ --iam-instance-profile Name=ecsInstanceRole
  4. 執行下列命令來驗證容器執行個體是否已註冊至叢集。當您執行此命令時,請記得替代下列參數:

    • cluster 替代為叢集名稱。

    • region 替換為您的區域代碼。

    aws ecs list-container-instances --cluster cluster-name --region region