Lanzamiento de una instancia de contenedor de GPU para Amazon ECS - Amazon Elastic Container Service

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.

  1. Cree un archivo denominado userdata.toml. Este archivo se utiliza para los datos de usuario de la instancia. 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
  2. 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
  3. 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-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. 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 --region region