기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
Amazon ECS 관리형 인스턴스에서 작업 정의 생성
Amazon ECS 관리형 인스턴스 작업 정의는 MANAGED_INSTANCES 플랫폼 기능과 ecsProperties 함께를 사용합니다. Fargate와 달리 vCPU 및 메모리 크기 조합에는 제한이 없으며 GPU 리소스가 지원됩니다. 지원되는 파라미터에 대한 자세한 내용은 섹션을 참조하세요Amazon ECS 관리형 인스턴스의 작업 정의.
Amazon ECS 관리형 인스턴스에서 작업 정의 생성(콘솔)
Amazon ECS 관리형 인스턴스에서 새 작업 정의를 생성하려면:
-
https://console.aws.amazon.com/batch/
AWS Batch 콘솔을 엽니다. -
상단 탐색 모음에서 사용할 AWS 리전 를 선택합니다.
-
왼쪽 탐색 창에서 작업 정의를 선택합니다.
-
생성(Create)을 선택합니다.
-
오케스트레이션 유형에서 ECS 관리형 인스턴스를 선택합니다.
-
이름(Name)에 고유한 작업 정의 이름을 입력합니다. 각 이름의 최대 길이는 128자입니다. 대문자 및 소문자, 숫자, 하이픈(-) 및 밑줄(_)을 포함할 수 있습니다.
-
(선택 사항) 실행 제한 시간에 제한 시간 값(초)을 입력합니다. 실행 제한 시간은 완료되지 않은 작업이 종료되기까지의 시간입니다. 시도가 제한 시간을 초과하면 중지되고 상태가
FAILED(으)로 변경됩니다. 자세한 내용은 작업 제한 시간 단원을 참조하십시오. 최솟값은 60초입니다. -
실행 역할에서 사용자를 대신하여 AWS API를 호출할 수 있는 권한을 Amazon ECS 컨테이너 에이전트에 부여하는 IAM 역할을 선택합니다. 이 역할은 Amazon ECS 관리형 인스턴스 작업에 필요합니다. 예를 들어 역할은 Amazon ECR에서 컨테이너 이미지를 가져오는 데 사용됩니다.
-
컨테이너 구성 섹션에서:
-
이미지에 작업에 사용할 컨테이너 이미지를 입력합니다. Amazon ECR 레지스트리의 이미지는
명명 규칙을 사용하여 지정할 수 있습니다. 퍼블릭 레지스트리의 이미지는 전체 URI(예:repository-url/image:tagpublic.ecr.aws/amazonlinux/amazonlinux:2023)를 사용합니다. -
명령에 컨테이너에 전달할 명령을 입력합니다.
-
vCPU(vCPUs)에서 컨테이너에 예약할 vCPU 수를 지정합니다.
-
메모리에서 컨테이너에 사용할 수 있는 메모리 제한(MiB)을 지정합니다.
-
(선택 사항) GPUs의 경우 컨테이너에서 사용할 수 있는 GPU 디바이스 수를 지정합니다. 컴퓨팅 환경에는 사용 가능한 GPU 인스턴스가 있어야 합니다.
-
-
(선택 사항) 태그를 확장한 다음, 태그 추가를 선택하여 리소스에 태그를 추가합니다. 작업 및 작업 정의의 태그를 전파하려면 태그 전파 시작을 켭니다.
-
Create job definition(작업 정의 생성)을 선택합니다.
Amazon ECS 관리형 인스턴스에서 작업 정의 생성(AWS CLI)
register-job-definition 명령을 사용하여 Amazon ECS 관리형 인스턴스에 대한 작업 정의를 생성합니다.
기본 예제
다음 예제에서는 간단한 명령을 실행하는 최소 작업 정의를 생성합니다.
$aws batch register-job-definition \ --job-definition-namemy-managed-instances-job-def\ --type container \ --platform-capabilities MANAGED_INSTANCES \ --ecs-properties '{ "taskProperties": [{ "containers": [{ "image": "public.ecr.aws/amazonlinux/amazonlinux:2023", "name": "main", "command": ["echo", "hello managed instances"], "resourceRequirements": [ {"type": "VCPU", "value": "1"}, {"type": "MEMORY", "value": "1024"} ] }], "executionRoleArn": "arn:aws:iam::123456789012:role/ecsTaskExecutionRole" }] }'
GPU 작업 정의
다음 예제에서는 GPU 리소스를 요청하는 작업 정의를 생성합니다.
$aws batch register-job-definition \ --job-definition-namemy-gpu-managed-instances-job-def\ --type container \ --platform-capabilities MANAGED_INSTANCES \ --ecs-properties '{ "taskProperties": [{ "containers": [{ "image": "123456789012.dkr.ecr.us-east-1.amazonaws.com/my-gpu-image:latest", "name": "main", "command": ["nvidia-smi"], "resourceRequirements": [ {"type": "VCPU", "value": "4"}, {"type": "MEMORY", "value": "16384"}, {"type": "GPU", "value": "1"} ] }], "executionRoleArn": "arn:aws:iam::123456789012:role/ecsTaskExecutionRole" }] }'
다중 컨테이너(사이드카) 작업 정의
다음 예시에서는 기본 컨테이너와 사이드카 로깅 컨테이너를 사용하여 작업 정의를 생성합니다.
$aws batch register-job-definition \ --job-definition-namemy-sidecar-managed-instances-job-def\ --type container \ --platform-capabilities MANAGED_INSTANCES \ --ecs-properties '{ "taskProperties": [{ "containers": [{ "image": "public.ecr.aws/amazonlinux/amazonlinux:2023", "name": "main", "command": ["echo", "processing data"], "essential": true, "resourceRequirements": [ {"type": "VCPU", "value": "2"}, {"type": "MEMORY", "value": "4096"} ] }, { "image": "public.ecr.aws/amazonlinux/amazonlinux:2023", "name": "sidecar", "command": ["echo", "logging sidecar"], "essential": false, "resourceRequirements": [ {"type": "VCPU", "value": "1"}, {"type": "MEMORY", "value": "512"} ] }], "executionRoleArn": "arn:aws:iam::123456789012:role/ecsTaskExecutionRole" }] }'