

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

# 할당량 관리 리소스 생성
<a name="create-quota-management-resources"></a>

할당량 관리는 연결된 예약 정책, 서비스 환경 및 작업 대기열을 생성할 때 특정 설정이 필요합니다.

## 사전 조건
<a name="quota-management-resources-prerequisites"></a>

할당량 관리 리소스를 생성하기 전에 다음을 수행해야 합니다.
+ **IAM 권한** - 작업 대기열, 예약 정책 및 서비스 환경을 생성하고 관리할 AWS Batch 수 있는 권한입니다. 자세한 내용은 [AWS Batch IAM 정책, 역할 및 권한](IAM_policies.md) 단원을 참조하십시오.

------
#### [ Configure quota management resources (AWS Batch console) ]

 AWS Batch 콘솔은 할당량 관리에 필요한 모든 리소스를 생성하기 위한 통합 워크플로를 제공합니다. 할당량 관리 작업 대기열 생성 워크플로는 할당량 관리 지원 예약 정책 및 서비스 환경도 생성합니다.

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

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

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

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

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

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

1. **예약의** 경우:

   1. **예약 알고리즘**에서 **할당량 관리를** 선택합니다.

   1. **예약 정책 ARN의** 경우:
      + 할당량 관리를 지정하는 예약 정책이 이미 있는 경우 드롭다운에서 선택합니다.
      + 그렇지 않으면 **예약 정책 생성을** 선택합니다.

        1. 사이드바가 열리고 할당량 관리 예약 정책을 구성합니다.

        1. 예약 정책의 **이름을** 입력합니다.

        1. **생성(Create)**을 선택합니다. 이제 **예약 정책 ARN** 필드가 채워집니다.

1. **서비스 환경** 구성의 경우 **연결된 서비스 환경에서** 다음을 수행합니다.
**참고**  
할당량 관리가 활성화된 서비스 환경은 단일 할당량 관리가 활성화된 작업 대기열에만 연결할 수 있습니다.

   1. 할당량 관리와 호환되고 아직 할당량 관리가 활성화된 작업 대기열에 연결되지 않은 서비스 환경이 이미 생성된 경우 드롭다운에서 선택합니다.

   1. 그렇지 않으면 **서비스 환경 생성을** 선택합니다. 사이드바가 열리고 서비스 환경을 구성합니다.

      1. 서비스 환경의 **이름을** 입력합니다.

      1. 하나 이상의 용량 제한(및 최대 5개)을 제공합니다. 각 용량 제한에 대해 드롭다운에서 **인스턴스 유형**과 **최대 인스턴스 수**를 선택합니다.

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

   1. **구성 오류**에서 둘 중 하나를 선택하고 **최대 실행 가능 시간(초)을** `SERVICE_ENVIRONMENT_MAX_RESOURCE` 입력합니다.

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

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

------
#### [ Configure quota management resources (AWS CLI) ]

 AWS CLI를 통해 할당량 관리를 구성하려면 예약 정책, 서비스 환경 및 작업 대기열을 생성합니다. 예약 정책과 서비스 환경 모두 할당량 관리와 호환되어야 하며 작업 대기열을 생성하기 전에 생성되어야 합니다.

**예약 정책 생성**

`create-scheduling-policy` 명령을 사용하여 할당량 관리 호환 예약 정책을 생성합니다. 생성 중에 할당량 공유 정책을 제공합니다.

```
aws batch create-scheduling-policy \
  --name my-qm-sagemaker-scheduling-policy \
  --quota-share-policy idleResourceAssignmentStrategy="FIFO"
```

예약 정책이 성공적으로 생성되었는지 확인합니다.

```
aws batch describe-scheduling-policies \
  --arns arn-for-my-qm-sagemaker-scheduling-policy
```

**서비스 환경 생성**

`create-service-environment` 명령을 사용하여 할당량 관리가 활성화된 서비스 환경을 생성합니다. 용량 제한이 `ml.g6.xlarge` 또는와 같이 SageMaker 훈련 작업에서 허용하는 인스턴스 유형을 사용하는지 확인합니다`ml.p4d.24xlarge`.

```
aws batch create-service-environment \
  --service-environment-name my-qm-sagemaker-service-env \
  --service-environment-type SAGEMAKER_TRAINING \
  --capacity-limits capacityUnit=instance_type,maxCapacity=instance_count
```

서비스 환경이 성공적으로 생성되었는지 확인합니다.

```
aws batch describe-service-environments \
  --service-environments my-qm-sagemaker-service-env
```

**작업 대기열 생성**

`create-job-queue` 명령을 사용하여 할당량 관리가 활성화된 작업 대기열을 생성합니다. 단, 다음 기준을 만족해야 합니다.
+ 현재 다른 작업 대기열에 연결되지 않은 단일 `SAGEMAKER_TRAINING` 서비스 환경을 제공해야 합니다.
+ 서비스 환경은 `ml.m6i.xlarge`가 아닌와 같은 인스턴스 유형 측면에서 용량 제한을 표시해야 합니다`NUM_INSTANCES`.
+ 가 포함된 예약 정책을 연결해야 합니다`quotaSharePolicy`.
+ `jobQueueType`이 `SAGEMAKER_TRAINING`이어야 합니다.

```
aws batch create-job-queue \
  --job-queue-name my-qm-sagemaker-jq \
  --job-queue-type SAGEMAKER_TRAINING \
  --priority 1 \
  --service-environment-order order=1,serviceEnvironment=my-qm-sagemaker-service-env \
  --scheduling-policy-arn arn-for-my-qm-sagemaker-scheduling-policy
```

작업 대기열이 성공적으로 생성되었는지 확인합니다.

```
aws batch describe-job-queues \
  --job-queues my-qm-sagemaker-jq
```

다음을 확인하세요.
+ `state`는 `ENABLED`입니다.
+ `status`는 `VALID`입니다.
+ `statusReason`은 `JobQueue Healthy`입니다.

------