

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# クォータ管理リソースを作成する
<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. Name に****、ジョブキューの名前を入力します。

   1. **Priority** には、0～1000 の値を入力します。サービス環境では、優先度の高いジョブキューが優先されます。

1. **スケジューリングの場合**:

   1. **スケジュールアルゴリズム**で、**クォータ管理**を選択します。

   1. **スケジュールポリシー ARN** の場合:
      + クォータ管理を指定するスケジューリングポリシーが既に存在する場合は、ドロップダウンから選択します。
      + それ以外の場合は、**スケジュールポリシーの作成**を選択します。

        1. サイドバーが開き、クォータ管理スケジューリングポリシーを設定します。

        1. スケジューリングポリシー**の名前**を指定します。

        1. **[作成]** を選択します。**これで、スケジューリングポリシー ARN** フィールドが入力されました。

1. **サービス環境**設定の場合、**接続されたサービス環境**:
**注記**  
クォータ管理が有効なサービス環境は、単一のクォータ管理が有効なジョブキューにのみ接続できます。

   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` コマンドを使用して、クォータ管理が有効なサービス環境を作成します。容量制限で、SageMaker トレーニングジョブが受け入れる `ml.g6.xlarge`や などのインスタンスタイプを使用していることを確認します`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` です。

------