Lanzamiento de una instancia de contenedor de GPU para Amazon ECS
Para utilizar una instancia de GPU en Amazon ECS, debe crear una plantilla de lanzamiento, un archivo de datos de usuario y lanzar la instancia.
A continuación, puede ejecutar una tarea que utilice una definición de tarea configurada para la GPU.
Uso de una plantilla de inicialización
Puede crear una plantilla de lanzamiento.
-
Cree una plantilla de lanzamiento que utilice el identificador de AMI de GPU optimizado para Amazon ECS para la AMI. Para obtener información sobre cómo crear una plantilla de lanzamiento, consulte Create a new launch template using parameters you define en la Guía del usuario de Amazon EC2.
Utilice el ID de AMI del paso anterior para la imagen de máquina de Amazon. Para información sobre cómo especificar el identificador de AMI con el parámetro de Systems Manager, consulte Specify a Systems Manager parameter in a launch template en la Guía del usuario de Amazon EC2.
Agregue lo siguiente a Datos de usuario en la plantilla de lanzamiento. Sustituya
cluster-name
por el nombre de su clúster.#!/bin/bash echo ECS_CLUSTER=
cluster-name
>> /etc/ecs/ecs.config; echo ECS_ENABLE_GPU_SUPPORT=true >> /etc/ecs/ecs.config
Utilizar AWS CLI
Puede utilizar la AWS CLI para iniciar una instancia de contenedor.
-
Cree un archivo denominado
userdata.toml
. Este archivo se utiliza para los datos de usuario de la instancia. Sustituyacluster-name
por el nombre de su clúster.#!/bin/bash echo ECS_CLUSTER=
cluster-name
>> /etc/ecs/ecs.config; echo ECS_ENABLE_GPU_SUPPORT=true >> /etc/ecs/ecs.config -
Ejecute el siguiente comando para obtener el identificador de la IAM de la GPU. Utilice esto en el siguiente paso.
aws ssm get-parameters --names /aws/service/ecs/optimized-ami/amazon-linux-2/gpu/recommended --region
us-east-1
-
Ejecute el siguiente comando para lanzar una instancia de la GPU. Recuerde reemplazar los siguientes parámetros:
-
Sustituya la
subred
por el ID de la subred pública o privada en la que se lanzará la instancia. -
Sustituya
gpu_ami
por el identificador de la AMI del paso anterior. -
Sustituya
t3.large
por el tipo de instancia que desee usar. -
Sustituya
región
por su código de región.
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 -
-
Ejecute el siguiente comando para comprobar que la instancia de contenedor está registrada en el clúster. Al ejecutar este comando, recuerde reemplazar los siguientes parámetros:
-
Sustituya
clúster
por el nombre del clúster. -
Sustituya
región
por el código de región.
aws ecs list-container-instances --cluster
cluster-name
--regionregion
-