要在 Amazon ECS 上使用 GPU 实例,您需要创建启动模板、用户数据文件并启动该实例。
然后,您可以运行使用为 GPU 配置的任务定义的任务。
使用启动模板
您可以创建启动模板。
-
创建将经 Amazon ECS 优化的 GPU AMI ID 用于 AMI 的启动模板。有关如何创建启动模板的信息,请参阅《Amazon EC2 用户指南》中的使用您定义的参数创建新启动模板。
将上一步中的 AMI ID 用于亚马逊机器映像。有关如何使用 Systems Manager 参数指定 AMI ID 的信息,请参阅《Amazon EC2 用户指南》中的在启动模板中指定 Systems Manager 参数。
将以下各项添加到启动模板中的用户数据中。将
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 启动容器实例。
-
创建名为
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 -
运行以下命令以获取 GPU AMI ID。您将在以下步骤中使用此 ID。
aws ssm get-parameters --names /aws/service/ecs/optimized-ami/amazon-linux-2/gpu/recommended --region
us-east-1
-
运行以下命令来启动 GPU 实例。请记得替换以下参数:
-
用您的实例将在其中启动的私有或公有子网的 ID 替换
子网
。 -
将
gpu_ami
替换为上一步中的 AMI ID。 -
将
t3.large
替换为您要使用的实例类型。 -
将
region
替换为区域代码。
aws ec2 run-instances --key-name ecs-gpu-example \ --subnet-id
subnet
\ --image-idgpu_ami
\ --instance-typet3.large
\ --regionregion
\ --tag-specifications 'ResourceType=instance,Tags=[{Key=GPU,Value=example}]' \ --user-data file://userdata.toml \ --iam-instance-profile Name=ecsInstanceRole -
-
运行以下命令,以验证容器实例是否注册到集群。在运行此命令时,请记得替换以下参数:
-
将
cluster
替换为您的集群名称。 -
将
region
替换为区域代码。
aws ecs list-container-instances --cluster
cluster-name
--regionregion
-