Amazon ECS에 대한 GPU 컨테이너 인스턴스 시작 - Amazon Elastic Container Service

Amazon ECS에 대한 GPU 컨테이너 인스턴스 시작

Amazon ECS에서 GPU 인스턴스를 사용하려면 시작 템플릿과 사용자 데이터 파일을 생성하고 인스턴스를 시작해야 합니다.

그런 다음, GPU용으로 구성된 작업 정의를 사용하는 작업을 실행할 수 있습니다.

시작 템플릿 사용

시작 템플릿을 생성할 수 있습니다.

  • AMI에 대해 Amazon ECS 최적화 GPU AMI ID를 사용하는 시작 템플릿을 생성합니다. 시작 템플릿을 생성하는 방법에 대한 자세한 내용은 Amazon EC2 사용 설명서의 정의한 파라미터를 사용하여 새 시작 템플릿 생성을 참조하세요.

    Amazon 머신 이미지에 대해 이전 단계의 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를 사용하여 컨테이너 인스턴스를 시작할 수 있습니다.

  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를 가져옵니다. 다음 단계에서 이 정보를 사용합니다.

    aws ssm get-parameters --names /aws/service/ecs/optimized-ami/amazon-linux-2/gpu/recommended --region us-east-1
  3. 다음 명령을 실행하여 GPU 인스턴스를 시작합니다. 다음 파라미터를 대체해야 합니다.

    • subnet을 인스턴스가 시작될 프라이빗 또는 퍼블릭 서브넷의 ID로 바꿉니다.

    • gpu_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