

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 작업 대기열 생성
<a name="create-job-queue"></a>

AWS Batch에서 작업을 제출하려면 먼저 작업 대기열을 생성해야 합니다. 작업 대기열을 생성할 때, 대기열에 컴퓨팅 환경을 한 개 이상 연결하고 우선권 순서를 지정합니다.

또한 작업 대기열에 AWS 배치 스케줄러가 작업을 배치할 순서를 결정하는 우선 순위도 설정합니다. 이는 컴퓨팅 환경이 여러 작업 대기열에 연결된 경우, 우선 순위가 높은 작업 대기열에 우선권이 부여된다는 의미입니다.

**Topics**
+ [Amazon EC2 작업 대기열 생성](create-job-queue-ec2.md)
+ [Fargate 작업 대기열 생성](create-job-queue-fargate.md)
+ [Amazon EKS 작업 대기열 생성](create-job-queue-eks.md)
+ [AWS Batch에서 SageMaker 훈련 작업 대기열 생성](create-sagemaker-job-queue.md)
+ [작업 대기열 템플릿](job-queue-template.md)

# Amazon EC2 작업 대기열 생성
<a name="create-job-queue-ec2"></a>

Amazon Elastic Compute Cloud(Amazon EC2)에 대한 작업 대기열을 생성하려면 다음 단계를 완료합니다.

**Amazon EC2 작업 대기열을 생성하기 위해**

1. [https://console.aws.amazon.com/batch/](https://console.aws.amazon.com/batch/)에서 AWS Batch 콘솔을 엽니다.

1. 탐색 모음에서 사용할 AWS 리전(을)를 선택합니다.

1. 탐색 창에서 **작업 대기열**을 선택합니다.

1. **생성**을 선택합니다.

1. **오케스트레이션 유형**으로 **Amazon Elastic Compute Cloud(Amazon EC2)**를 선택합니다.

1. **이름**에 작업 대기열의 고유 이름을 입력합니다. 이름은 최대 128자까지 포함할 수 있으며, 대문자와 소문자, 숫자, 밑줄(\$1)을 포함할 수 있습니다.

1. **우선 순위**에 작업 대기열의 우선 순위 값을 정수로 입력합니다. 우선 순위가 높은 작업 대기열은 동일한 컴퓨팅 환경과 연결된 우선 순위가 낮은 작업 대기열보다 우선합니다. 우선 순위는 내림차순으로 결정됩니다. 예를 들어, 우선 순위 값이 1인 작업 대기열은 우선 순위 값이 10인 작업 대기열보다 먼저 일정이 예약됩니다.

1. (선택 사항)**예약 정책 Amazon 리소스 이름(ARN)**에서 기존 예약 정책을 선택합니다.

1. **연결된 컴퓨팅 환경** 섹션의 목록에서 작업 대기열과 연결할 컴퓨팅 환경을 한 개 이상 선택합니다. 대기열에서 작업 대기열 배치를 하려는 순서대로 컴퓨팅 환경을 선택합니다. 작업 스케줄러는 컴퓨팅 환경 순서를 사용하여 주어진 작업을 실행할 컴퓨팅 환경을 결정합니다. 작업 대기열과 연결하려면 컴퓨터 환경이 `VALID` 상태여야 합니다. 한 개의 작업 대기열에 최대 3개의 컴퓨팅 환경을 연결할 수 있습니다. 기존 컴퓨팅 환경이 없는 경우 **컴퓨팅 환경 생성**을 선택합니다.
**참고**  
작업 대기열에 연결된 모든 컴퓨팅 환경은 동일한 프로비저닝 모델을 공유해야 합니다. AWS Batch(은)는 단일 작업 대기열에서 프로비저닝 모델을 혼합하여 사용하는 것을 지원하지 않습니다.

1. **컴퓨팅 환경 순서**에서 위/아래 화살표를 선택하여 원하는 순서를 구성합니다.

1. **생성**을 선택하여 완료하고 작업 대기열을 생성합니다.

# Fargate 작업 대기열 생성
<a name="create-job-queue-fargate"></a>

AWS Fargate에 대한 작업 대기열을 생성하려면 다음 단계를 완료합니다.

**Fargate 작업 대기열을 생성하려면**

1. [https://console.aws.amazon.com/batch/](https://console.aws.amazon.com/batch/)에서 AWS Batch 콘솔을 엽니다.

1. 탐색 모음에서 사용할 AWS 리전(을)를 선택합니다.

1. 탐색 창에서 **작업 대기열**을 선택합니다.

1. **생성**을 선택합니다.

1. **오케스트레이션 유형**에서 **Fargate**를 선택합니다.

1. **이름**에 작업 대기열의 고유 이름을 입력합니다. 이름은 최대 128자까지 포함할 수 있으며, 대문자와 소문자, 숫자, 밑줄(\$1)을 포함할 수 있습니다.

1. **우선 순위**에 작업 대기열의 우선 순위 값을 정수로 입력합니다. 우선 순위가 높은 작업 대기열은 동일한 컴퓨팅 환경과 연결된 우선 순위가 낮은 작업 대기열보다 우선합니다. 우선 순위는 내림차순으로 결정됩니다. 예를 들어, 우선 순위 값이 1인 작업 대기열은 우선 순위 값이 10인 작업 대기열보다 먼저 일정이 예약됩니다.

1. (선택 사항)**예약 정책 Amazon 리소스 이름(ARN)**에서 기존 예약 정책을 선택합니다.

1. **연결된 컴퓨팅 환경** 섹션의 목록에서 작업 대기열과 연결할 컴퓨팅 환경을 한 개 이상 선택합니다. 대기열에서 작업 대기열 배치를 하려는 순서대로 컴퓨팅 환경을 선택합니다. 작업 스케줄러는 컴퓨팅 환경 순서를 사용하여 주어진 작업을 실행할 컴퓨팅 환경을 결정합니다. 작업 대기열과 연결하려면 컴퓨터 환경이 `VALID` 상태여야 합니다. 한 개의 작업 대기열에 최대 3개의 컴퓨팅 환경을 연결할 수 있습니다.
**참고**  
작업 대기열에 연결된 모든 컴퓨팅 환경은 동일한 프로비저닝 모델을 공유해야 합니다. AWS Batch(은)는 단일 작업 대기열에서 프로비저닝 모델을 혼합하여 사용하는 것을 지원하지 않습니다.

1. **컴퓨팅 환경 순서**에서 위/아래 화살표를 선택하여 원하는 순서를 구성합니다.

1. **생성**을 선택하여 완료하고 작업 대기열을 생성합니다.

# Amazon EKS 작업 대기열 생성
<a name="create-job-queue-eks"></a>

Amazon Elastic Kubernetes Service(Amazon EKS)에 대한 작업 대기열을 생성하려면 다음 단계를 완료합니다.

**Amazon EKS 작업 대기열 생성하기 위해**

1. [https://console.aws.amazon.com/batch/](https://console.aws.amazon.com/batch/)에서 AWS Batch 콘솔을 엽니다.

1. 탐색 모음에서 사용할 AWS 리전(을)를 선택합니다.

1. 탐색 창에서 **작업 대기열**을 선택합니다.

1. **생성**을 선택합니다.

1. **오케스트레이션 유형**으로 **Amazon Elastic Kubernetes Service(Amazon EKS)**를 선택합니다.

1. **이름**에 작업 대기열의 고유 이름을 입력합니다. 이름은 최대 128자까지 포함할 수 있으며, 대문자와 소문자, 숫자, 밑줄(\$1)을 포함할 수 있습니다.

1. **우선 순위**에 작업 대기열의 우선 순위 값을 정수로 입력합니다. 우선 순위가 높은 작업 대기열은 동일한 컴퓨팅 환경과 연결된 우선 순위가 낮은 작업 대기열보다 우선합니다. 우선 순위는 내림차순으로 결정됩니다. 예를 들어, 우선 순위 값이 1인 작업 대기열은 우선 순위 값이 10인 작업 대기열보다 먼저 일정이 예약됩니다.

1. (선택 사항)**예약 정책 Amazon 리소스 이름(ARN)**에서 기존 예약 정책을 선택합니다.

1. **연결된 컴퓨팅 환경** 섹션의 목록에서 작업 대기열과 연결할 컴퓨팅 환경을 한 개 이상 선택합니다. 대기열에서 작업 대기열 배치를 하려는 순서대로 컴퓨팅 환경을 선택합니다. 작업 스케줄러는 컴퓨팅 환경 순서를 사용하여 주어진 작업을 실행할 컴퓨팅 환경을 결정합니다. 작업 대기열과 연결하려면 컴퓨터 환경이 `VALID` 상태여야 합니다. 한 개의 작업 대기열에 최대 3개의 컴퓨팅 환경을 연결할 수 있습니다.
**참고**  
작업 대기열에 연결된 모든 컴퓨팅 환경은 동일한 프로비저닝 모델을 공유해야 합니다. AWS Batch(은)는 단일 작업 대기열에서 프로비저닝 모델을 혼합하여 사용하는 것을 지원하지 않습니다.
**참고**  
작업 대기열과 연관된 모든 컴퓨팅 환경은 동일한 아키텍처를 공유해야 합니다. AWS Batch(은)는 단일 작업 대기열에서의 혼합 컴퓨팅 환경 아키텍처 유형을 지원하지 않습니다.

1. **컴퓨팅 환경 순서**에서 위/아래 화살표를 선택하여 원하는 순서를 구성합니다.

1. **생성**을 선택하여 완료하고 작업 대기열을 생성합니다.

# AWS Batch에서 SageMaker 훈련 작업 대기열 생성
<a name="create-sagemaker-job-queue"></a>

SageMaker 훈련 작업 대기열은 SageMaker AI 서비스와 직접 통합되어 기본 컴퓨팅 인프라를 관리할 필요 없이 서버리스 작업 예약을 제공합니다.

## 사전 조건
<a name="sagemaker-job-queue-prerequisites"></a>

SageMaker 훈련 작업 대기열을 생성하기 전에 다음을 갖추어야 합니다.
+ **서비스 환경** - 용량 제한을 정의하는 서비스 환경. 자세한 내용은 [에서 서비스 환경 생성 AWS Batch](create-service-environments.md) 섹션을 참조하세요.
+ **IAM 권한** - AWS Batch 작업 대기열 및 서비스 환경을 생성하고 관리할 수 있는 권한. 자세한 내용은 [AWS Batch IAM 정책, 역할 및 권한](IAM_policies.md) 섹션을 참조하세요.

------
#### [ Create a SageMaker Training job queue (AWS Batch console) ]

1. [https://console.aws.amazon.com/batch/](https://console.aws.amazon.com/batch/)에서 AWS Batch 콘솔을 엽니다.

1. 탐색 창에서 **작업 대기열**을 선택한 다음 **생성**을 선택합니다.

1. **오케스트레이션 유형**에서 **SageMaker 훈련**을 선택합니다.

1. **작업 대기열 구성**에서 다음을 수행합니다.

   1. **이름**에 작업 대기열의 이름을 입력합니다.

   1. **우선 순위**에 0에서 1000 사이의 값을 입력합니다. 우선 순위가 높은 작업 대기열에는 서비스 환경에 대해 더 높은 선호도가 지정됩니다.

   1. (선택 사항)**예약 정책 Amazon 리소스 이름(ARN)**에서 기존 예약 정책을 선택합니다.

   1. **연결된 서비스 환경**의 목록에서 작업 대기열과 연결할 서비스 환경을 선택합니다.

1. (선택 사항) **작업 상태 제한**의 경우:

   1. **잘못된 구성**에서 `SERVICE_ENVIRONMENT_MAX_RESOURCE`를 선택하고 **최대 실행 가능 시간(초)**을 입력합니다.

   1. **용량**에서 `INSUFFICIENT_INSTANCE_CAPACITY`를 선택하고 **최대 실행 가능 시간(초)**을 입력합니다.

1. **작업 대기열 생성**을 선택합니다.

------
#### [ Create a SageMaker Training job queue (AWS CLI) ]

`create-job-queue` 명령을 사용하여 SageMaker 훈련 작업 대기열을 생성합니다.

다음 예제는 서비스 환경을 사용하는 기본 SageMaker 훈련 작업 대기열을 생성합니다.

```
aws batch create-job-queue \
  --job-queue-name my-sm-training-fifo-jq \
  --job-queue-type SAGEMAKER_TRAINING \
  --priority 1 \
  --service-environment-order order=1,serviceEnvironment=ExampleServiceEnvironment
```

*ExampleServiceEnvironment*를 서비스 환경의 이름으로 바꿉니다.

이 명령은 다음과 비슷한 출력을 반환합니다.

```
{
  "jobQueueName": "my-sm-training-fifo-jq",
  "jobQueueArn": "arn:aws:batch:region:account:job-queue/my-sm-training-fifo-jq"
}
```

작업 대기열을 생성한 후 성공적으로 생성되었고 유효한 상태에 있는지 확인합니다.

`describe-job-queues` 명령을 사용하여 작업 대기열에 대한 세부 정보를 봅니다.

```
aws batch describe-job-queues --job-queues my-sm-training-fifo-jq
```

이 명령은 다음과 비슷한 출력을 반환합니다.

```
{
  "jobQueues": [
    {
      "jobQueueName": "my-sm-training-fifo-jq",
      "jobQueueArn": "arn:aws:batch:region:account:job-queue/my-sm-training-fifo-jq",
      "state": "ENABLED",
      "status": "VALID",
      "statusReason": "JobQueue Healthy",
      "priority": 1,
      "computeEnvironmentOrder": [],
      "serviceEnvironmentOrder": [
        {
          "order": 1,
          "serviceEnvironment": "arn:aws:batch:region:account:service-environment/ExampleServiceEnvironment"
        }
      ],
      "jobQueueType": "SAGEMAKER_TRAINING",
      "tags": {},
      "jobStateTimeLimitActions": []
    }
  ]
}
```

다음을 확인하세요.
+ `state`는 `ENABLED`입니다.
+ `status`는 `VALID`입니다.
+ `statusReason`은 `JobQueue Healthy`입니다.
+ `jobQueueType`은 `SAGEMAKER_TRAINING`입니다.
+ `serviceEnvironmentOrder`는 서비스 환경을 참조합니다.

------

# 작업 대기열 템플릿
<a name="job-queue-template"></a>

다음은 빈 작업 대기열 템플릿입니다. 이 템플릿을 사용하여 작업 대기열을 생성할 수 있습니다. 그런 다음 이 작업 대기열을 파일에 저장하고 AWS CLI `--cli-input-json` 옵션과 함께 사용할 수 있습니다. 이러한 파라미터에 대한 자세한 내용은 *AWS Batch API 참조*에서 [CreateJobQueue](https://docs.aws.amazon.com/batch/latest/APIReference/API_CreateJobQueue.html)를 참조하세요.

**참고**  
다음 AWS CLI 명령을 사용하여 위의 작업 대기열 템플릿을 생성할 수 있습니다.  

```
$ aws batch create-job-queue --generate-cli-skeleton
```

```
{
   "computeEnvironmentOrder": [ 
      { 
         "computeEnvironment": "",
         "order": 0
      }
   ],
   "jobQueueName": "",
   "jobStateTimeLimitActions": [ 
      { 
         "state": "RUNNABLE",
         "action": "CANCEL",
		 "maxTimeSeconds": 0,
         "reason": ""

      }
   ],
   "priority": 0,
   "schedulingPolicyArn": "",
   "state": "ENABLED",
   "tags": { 
      "KeyName": ""
   }
}
```