Iniciar uma instância de contêiner de GPU para o Amazon ECS - Amazon Elastic Container Service

Iniciar uma instância de contêiner de GPU para o Amazon ECS

Para usar uma instância de GPU no Amazon ECS, você precisa criar um modelo de execução, um arquivo de dados do usuário e executar a instância.

Em seguida, você pode executar uma tarefa que usa uma definição de tarefa configurada para GPU.

Usar um modelo de execução

Você pode criar um modelo de execução.

  • Crie um modelo de execução que use o ID da AMI de GPU otimizada para o Amazon ECS para a AMI. Para obter informações sobre como criar um modelo de inicialização, consulte Criar um novo modelo de inicialização usando parâmetros definidos por você no Manual do usuário do Amazon EC2.

    Use o ID da AMI da etapa anterior na Imagem da máquina da Amazon. Para obter informações sobre como especificar o ID da AMI com o parâmetro do Systems Manager, consulte Especificar um parâmetro do Systems Manager em um modelo de inicialização no Manual do usuário do Amazon EC2.

    Adicione os itens a seguir aos Dados do usuário no modelo de execução. Substitua cluster-name pelo nome do seu cluster.

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

Usar a AWS CLI

É possível executar uma instância de contêiner usando a AWS CLI.

  1. Crie um arquivo chamado userdata.toml. Esse arquivo será usado para dados do usuário da instância. Substitua cluster-name pelo nome do seu cluster.

    #!/bin/bash echo ECS_CLUSTER=cluster-name >> /etc/ecs/ecs.config; echo ECS_ENABLE_GPU_SUPPORT=true >> /etc/ecs/ecs.config
  2. Execute o comando a seguir para obter o ID da AMI de GPU. Você usará isso na etapa a seguir.

    aws ssm get-parameters --names /aws/service/ecs/optimized-ami/amazon-linux-2/gpu/recommended --region us-east-1
  3. Execute o comando a seguir para executar a instância de GPU. Lembre-se de substituir os parâmetros a seguir:

    • Substitua sub-rede pelo ID da sub-rede pública ou privada na qual sua instância será iniciada.

    • Substitua gpu_ami pelo ID da AMI da etapa anterior.

    • Substitua t3.large pelo tipo de instância que você deseja usar.

    • Substitua região pelo código da região.

    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. Execute o comando a seguir para verificar se a instância de contêiner está registrada no cluster. Ao executar esse comando, lembre-se de substituir os parâmetros a seguir:

    • Substitua cluster pelo nome do seu cluster.

    • Substitua região pelo código da sua região.

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