

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

# SageMaker AI マネージドウォームプール
<a name="train-warm-pools"></a>

SageMaker AI マネージドウォームプールを使用すると、トレーニングジョブの完了後もプロビジョニングされたインフラストラクチャを保持して再利用できるため、反復的な実験や多数のジョブの連続実行など、反復的なワークロードの待ち時間を短縮できます。指定されたパラメータに一致する後続のトレーニングジョブは、保持されているウォームプールインフラストラクチャ上で実行されます。これにより、リソースのプロビジョニングに費やす時間が減り、起動時間が短縮されます。

**重要**  
SageMaker AI マネージドウォームプールは課金対象のリソースです。詳細については、「[料金](#train-warm-pools-billing)」を参照してください。

**Topics**
+ [

## 仕組み
](#train-warm-pools-how-it-works)
+ [

## 考慮事項
](#train-warm-pools-considerations)
+ [

# ウォームプールのクォータの引き上げをリクエストする
](train-warm-pools-resource-limits.md)
+ [

# SageMaker AI マネージドウォームプールの使用
](train-warm-pools-how-to-use.md)

## 仕組み
<a name="train-warm-pools-how-it-works"></a>

SageMaker AI マネージドウォームプールを使用して、同じような連続したトレーニングジョブ間の待ち時間を短縮するには、`ResourceConfig` の `KeepAlivePeriodInSeconds` 値を指定するトレーニングジョブを作成します。この値は、設定したリソースを以降のトレーニングジョブのためにウォームプールに保持する時間を秒単位で表します。同じような構成で複数のトレーニングジョブを実行する必要がある場合、専用の永続キャッシュディレクトリを使用して情報を保存し、別のジョブで再利用することで、レイテンシーと課金対象時間をさらに短縮できます。

**Topics**
+ [

### ウォームプールのライフサイクル
](#train-warm-pools-lifecycle)
+ [

### ウォームプールの作成
](#train-warm-pools-creation)
+ [

### トレーニングジョブのマッチング
](#train-warm-pools-matching-criteria)
+ [

### ウォームプールの最大持続時間
](#train-warm-pools-maximum-duration)
+ [

### 永続キャッシュを使用する
](#train-warm-pools-persistent-cache)
+ [

### 料金
](#train-warm-pools-billing)

### ウォームプールのライフサイクル
<a name="train-warm-pools-lifecycle"></a>

1. `KeepAlivePeriodInSeconds` 値が 0 より大きい最初のトレーニングジョブを作成します。この最初のトレーニングジョブを実行すると、通常の起動時間でクラスターが「コールドスタート」されます。

1. 最初のトレーニングジョブが完了すると、プロビジョニングされたリソースは、`KeepAlivePeriodInSeconds` 値に指定された期間、ウォームプールに保持されます。クラスターが正常で、ウォームプールが指定の `KeepAlivePeriodInSeconds` の範囲内にある間は、ウォームプールのステータスは `Available` になります。

1. ウォームプールは、一致するトレーニングジョブを見つけて再利用するか、指定された `KeepAlivePeriodInSeconds` を超えて終了するまで `Available` のままです。`KeepAlivePeriodInSeconds` に許容される最大時間は 3600 秒 (60 分) です。ウォームプールのステータスが `Terminated` の場合、ウォームプールのライフサイクルは終了します。

1. ウォームプールが、インスタンス数やインスタンスタイプなどの仕様が一致する 2 つ目のトレーニングジョブを識別した場合、ウォームプールは最初のトレーニングジョブから 2 番目のトレーニングジョブに移動して再利用します。1 つ目のトレーニングジョブのウォームプールのステータスは `Reused` になります。これで、最初のトレーニングジョブのウォームプールのライフサイクルは終了します。

1. ウォームプールを再利用した 2 つ目のトレーニングジョブのステータスは `InUse` になります。2 つ目のトレーニングジョブが完了すると、ウォームプールは 2 つ目のトレーニングジョブで指定された `KeepAlivePeriodInSeconds` 期間だけ `Available` になります。ウォームプールは、最大 28 日間、対応するトレーニングジョブに引き続き移行できます。

1. ウォームプールが再利用できなくなった場合、ウォームプールのステータスは `Terminated` になります。ウォームプールは、ユーザーによって終了されたり、パッチアップデートのため終了されたり、指定された `KeepAlivePeriodInSeconds` を超えたりすると使用できなくなります。

ウォームプールのステータスオプションの詳細については、「Amazon SageMaker API リファレンス」の「[WarmPoolStatus](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_WarmPoolStatus.html)」を参照してください。**

### ウォームプールの作成
<a name="train-warm-pools-creation"></a>

最初のトレーニングジョブが正常に完了し、`KeepAlivePeriodInSeconds` 値が 0 より大きい場合は、ウォームプールが作成されます。クラスターが既に起動した後でトレーニングジョブを停止しても、ウォームプールは保持されます。アルゴリズムまたはクライアントのエラーによりトレーニングジョブが失敗した場合でも、ウォームプールは保持されます。クラスターの状態を損なう可能性のあるその他の理由でトレーニングジョブが失敗した場合、ウォームプールは作成されません。

ウォームプールが正常に作成されたことを確認するには、トレーニングジョブのウォームプールのステータスを確認します。ウォームプールのプロビジョニングが成功すると、ウォームプールのステータスは `Available` になります。ウォームプールがプロビジョニングに失敗した場合、ウォームプールのステータスは `Terminated` になります。

### トレーニングジョブのマッチング
<a name="train-warm-pools-matching-criteria"></a>

ウォームプールを維持するには、`KeepAlivePeriodInSeconds` 値に指定された時間内に一致するトレーニングジョブを見つける必要があります。次の値が同じであれば、次のトレーニングジョブは一致します。
+ `RoleArn` 
+ `ResourceConfig` 値:
  + `InstanceCount`
  + `InstanceType`
  + `VolumeKmsKeyId`
  + `VolumeSizeInGB`
+ `VpcConfig` 値:
  + `SecurityGroupIds`
  + `Subnets`
+ `EnableInterContainerTrafficEncryption`
+ `EnableNetworkIsolation`
+ トレーニングジョブの `SessionChainingConfig` で `EnableSessionTagChaining` を `True` に設定したトレーニングジョブの[セッションタグ](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_session-tags.html#id_session-tags_operations)を渡した場合、一致するトレーニングジョブも `EnableSessionTagChaining` を `True` に設定し、同じセッションキーを持つ必要があります。詳細については、「[マルチテナンシートレーニングに属性ベースのアクセス制御 (ABAC) を使用する](model-access-training-data-abac.md)」を参照してください。

ウォームプールを次のトレーニングジョブに移動して再利用するには、これらの値がすべて同じである必要があります。

### ウォームプールの最大持続時間
<a name="train-warm-pools-maximum-duration"></a>

1 つのトレーニングジョブの最大 `KeepAlivePeriodInSeconds` は 3600 秒 (60 分) で、ウォームプールクラスターが連続してトレーニングジョブを実行し続けることができる最大時間は 28 日間です。

それ以降の各トレーニングジョブでも `KeepAlivePeriodInSeconds` 値を指定する必要があります。ウォームプールが次のトレーニングジョブに移動すると、そのトレーニングジョブの `ResourceConfig` で指定された新しい `KeepAlivePeriodInSeconds` 値が継承されます。これにより、ウォームプールをトレーニングジョブからトレーニングジョブへと最大 28 日間移動させ続けることができます。

`KeepAlivePeriodInSeconds` が指定されていない場合、ウォームプールはトレーニングジョブの完了後にスピンダウンします。

### 永続キャッシュを使用する
<a name="train-warm-pools-persistent-cache"></a>

ウォームプールを作成すると、SageMaker AI はウォームプールのライフサイクル全体を通じて維持する特別なディレクトリをボリュームにマウントします。このディレクトリには、別のジョブで再利用する情報を保存するのにも使用できます。

永続キャッシュを使用すると、以下を必要とするジョブでウォームプールだけを使用する場合よりもレイテンシーと課金対象時間を短縮できます。
+ 類似の設定での複数のやりとり
+ 段階的トレーニングジョブ
+ ハイパーパラメータの最適化

例えば、永続キャッシュディレクトリ内に pip キャッシュディレクトリを設定することで、繰り返し実行する際に同じ Python 依存関係をダウンロードすることを回避できます。このディレクトリの内容を管理する責任は、すべてユーザーにあります。レイテンシーと請求対象時間を短縮するために永続キャッシュに入れることができる情報の種類の例を以下に示します。
+ pip によって管理される依存関係。
+ conda によって管理される依存関係。
+ [チェックポイント情報](https://docs.aws.amazon.com/sagemaker/latest/dg/model-checkpoints.html)。
+ トレーニング中に生成されたその他の情報。

永続キャッシュの場所は `/opt/ml/sagemaker/warmpoolcache` です。環境変数 `SAGEMAKER_MANAGED_WARMPOOL_CACHE_DIRECTORY` は永続キャッシュディレクトリの場所を指します。

以下のコード例は、ウォームプールを設定し、永続キャッシュを使用して pip の依存関係を保存して後続のジョブで使用する方法を示しています。後続のジョブは、パラメータ `keep_alive_period_in_seconds` で指定された時間枠内で実行する必要があります。

```
import sagemakerfrom sagemaker import get_execution_rolefrom sagemaker.tensorflow import TensorFlow
# Creates a SageMaker session and gets execution role
session = sagemaker.Session()
role = get_execution_role()
# Creates an example estimator
estimator = TensorFlow(
    ...
    entry_point='my-training-script.py',
    source_dir='code',
    role=role,
    model_dir='model_dir',
    framework_version='2.2',
    py_version='py37',
    job_name='my-training-job-1',
    instance_type='ml.g4dn.xlarge',
    instance_count=1,
    volume_size=250,
    hyperparameters={
"batch-size": 512,
        "epochs": 1,
        "learning-rate": 1e-3,
        "beta_1": 0.9,
        "beta_2": 0.999,
    },
    keep_alive_period_in_seconds=1800,
    environment={"PIP_CACHE_DIR": "/opt/ml/sagemaker/warmpoolcache/pip"}
)
```

前のコード例では、[環境](https://sagemaker.readthedocs.io/en/stable/api/training/estimators.html#estimators)パラメータを使用してディレクトリ `/opt/ml/sagemaker/warmpoolcache/pip` を指すように環境変数 `PIP_CACHE_DIRECTORY` をエクスポートします。この環境変数をエクスポートすると、pip がキャッシュを保存する場所が新しい場所に変わります。永続キャッシュディレクトリ内に作成したすべてのディレクトリ (ネストされたディレクトリを含む) は、その後のトレーニング実行時に再利用できます。前のコード例では、`pip` というディレクトリが、pip を使用してインストールされた依存関係をキャッシュするデフォルトの場所に変更されています。

永続キャッシュの場所には、次のコード例に示すように、環境変数を使用して Python トレーニングスクリプト内からアクセスすることもできます。

```
import os
import shutil
if __name__ == '__main__':
    PERSISTED_DIR = os.environ["SAGEMAKER_MANAGED_WARMPOOL_CACHE_DIRECTORY"]

    # create a file to be persisted
    open(os.path.join(PERSISTED_DIR, "test.txt"), 'a').close()
    # create a directory to be persisted
    os.mkdir(os.path.join(PERSISTED_DIR, "test_dir"))

    # Move a file to be persisted
    shutil.move("path/of/your/file.txt", PERSISTED_DIR)
```

### 料金
<a name="train-warm-pools-billing"></a>

SageMaker AI マネージドウォームプールは課金対象のリソースです。トレーニングジョブのウォームプールのステータスを取得して、ウォームプールの請求対象時間を確認できます。ウォームプールのステータスは、[Amazon SageMaker AI コンソールを使用する](train-warm-pools-how-to-use.md#train-warm-pools-how-to-use-sagemaker-console) で確認するか、[DescribeTrainingJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeTrainingJob.html) API コマンドで直接確認することができます。詳細については、「Amazon SageMaker API リファレンス」の「[WarmPoolStatus](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_WarmPoolStatus.html)」を参照してください。**

**注記**  
パラメータ `KeepAlivePeriodInSeconds` で指定された時間が経過すると、ウォームプールと永続キャッシュの両方がシャットダウンされ、内容は削除されます。

## 考慮事項
<a name="train-warm-pools-considerations"></a>

SageMaker AI マネージドウォームプールを使用する場合は、次の点を考慮してください。
+ SageMaker AI マネージドウォームプールは、異種クラスタートレーニングでは使用できません。
+ SageMaker AI マネージドウォームプールはスポットインスタンスでは使用できません。
+ SageMaker AI マネージドウォームプールの `KeepAlivePeriodInSeconds` 値は 3600 秒 (60 分) に制限されています。
+ ウォームプールが指定された `KeepAlivePeriodInSeconds` 値内のトレーニングジョブと正常に一致し続けると、クラスターは最大 28 日間しか稼働し続けることができません。

# ウォームプールのクォータの引き上げをリクエストする
<a name="train-warm-pools-resource-limits"></a>

開始するには、まず SageMaker AI マネージドウォームプールのサービス制限の引き上げをリクエストする必要があります。ウォームプールのデフォルトリソース制限は 0 です。

`KeepAlivePeriodInSeconds` を指定してトレーニングジョブを作成したが、ウォームプールの制限の引き上げをリクエストしなかった場合、ウォームプールはトレーニングジョブの完了後に保持されません。ウォームプールは、ウォームプールの制限に十分なリソースがある場合にのみ作成されます。ウォームプールが作成されると、リソースは一致するトレーニングジョブに移動したとき、または `KeepAlivePeriodInSeconds` の期限が切れたとき (ウォームプールのステータスが `Reused` または `Terminated` の場合) にリリースされます。

 AWS Service Quotas コンソールを使用してウォームプールクォータの引き上げをリクエストします。

**注記**  
すべてのウォームプールインスタンスの使用量は、SageMaker トレーニングリソース制限にカウントされます。ウォームプールのリソース制限を増やしてもインスタンス制限は増加しませんが、リソース制限の一部がウォームプールトレーニングに割り当てられます。

1. [AWS Service Quotas コンソール](https://console.aws.amazon.com/servicequotas/home/)を開きます。

1. 左側のナビゲーションパネルで、**[AWS のサービス]** を選択します。

1. **[Amazon SageMaker AI]** を検索して選択します。

1. キーワード **warm pool** を検索すると、利用可能なすべてのウォームプールサービスクォータが表示されます。

1. ウォームプールのクォータを増やしたいインスタンスタイプを見つけ、そのインスタンスタイプのウォームプールサービスクォータを選択し、**[クォータの引き上げをリクエストする]** を選択します。

1. **[クォータ値の変更]** に、リクエストしたインスタンス制限数を入力します。新しい値は現在の**適用されたクォータ値**より大きくなければなりません。

1. **[リクエスト]** を選択します。

アカウントごとに保持できるインスタンス数には制限があり、インスタンスタイプで決まります。[AWS Service Quotas コンソール](https://console.aws.amazon.com/servicequotas/home/)で、または [list-service-quotas](https://docs.aws.amazon.com/cli/latest/reference/service-quotas/list-service-quotas.html) AWS CLI コマンドを使用して、リソースの制限を直接確認できます。 AWS Service Quotas の詳細については、「Service Quotas ユーザーガイド」の「[クォータの引き上げのリクエスト](https://docs.aws.amazon.com/servicequotas/latest/userguide/request-quota-increase.html)」を参照してください。**

[AWS サポートセンター](https://support.console.aws.amazon.com)を使用して、クォータの引き上げをリクエストすることもできます。リージョン別の利用可能なインスタンスタイプのリストについては、「[Amazon SageMaker 料金表](https://aws.amazon.com/sagemaker/pricing/)」を参照し、**[オンデマンド料金]** 表で **[トレーニング]** を選択してください。

# SageMaker AI マネージドウォームプールの使用
<a name="train-warm-pools-how-to-use"></a>

SageMaker AI マネージドウォームプールは、SageMaker Python SDK、Amazon SageMaker AI コンソール、または低レベル API を通じて使用できます。管理者はオプションで `sagemaker:KeepAlivePeriod` 条件キーを使用して、特定のユーザーまたはグループの `KeepAlivePeriodInSeconds` 制限をさらに制限できます。

**Topics**
+ [

## SageMaker AI Python SDK を使用する
](#train-warm-pools-how-to-use-python-sdk)
+ [

## Amazon SageMaker AI コンソールを使用する
](#train-warm-pools-how-to-use-sagemaker-console)
+ [

## 低レベルの SageMaker API を使用する
](#train-warm-pools-how-to-use-low-level-apis)
+ [

## IAM 条件キー
](#train-warm-pools-how-to-use-iam-condition-key)

## SageMaker AI Python SDK を使用する
<a name="train-warm-pools-how-to-use-python-sdk"></a>

SageMaker Python SDK でウォームプールを作成、更新、または終了します。

**注記**  
この機能は SageMaker AI [Python SDK v2.110.0](https://pypi.org/project/sagemaker/2.110.0/) 以降で利用できます。

**Topics**
+ [

### ウォームプールを作成する
](#train-warm-pools-how-to-use-python-sdk-create)
+ [

### ウォームプールを更新する
](#train-warm-pools-how-to-use-python-sdk-update)
+ [

### ウォームプールを終了する
](#train-warm-pools-how-to-use-python-sdk-terminate)

### ウォームプールを作成する
<a name="train-warm-pools-how-to-use-python-sdk-create"></a>

ウォームプールを作成するには、SageMaker Python SDK を使用して `keep_alive_period_in_seconds` の値が 0 より大きい推定器を作成し、`fit()` を呼び出します。トレーニングジョブが完了すると、ウォームプールは保持されます。トレーニングスクリプトと推定器の詳細については、「[Train a Model with the SageMaker Python SDK](https://sagemaker.readthedocs.io/en/stable/overview.html#train-a-model-with-the-sagemaker-python-sdk)」を参照してください。スクリプトでウォームプールが作成されない場合は、「[ウォームプールの作成](train-warm-pools.md#train-warm-pools-creation)」の考えられる説明を参照してください。

```
import sagemaker
from sagemaker import get_execution_role
from sagemaker.tensorflow import TensorFlow

# Creates a SageMaker AI session and gets execution role
session = sagemaker.Session()
role = get_execution_role()

# Creates an example estimator
estimator = TensorFlow(
    ...
    entry_point='my-training-script.py',
    source_dir='code',
    role=role,
    model_dir='model_dir',
    framework_version='2.2',
    py_version='py37',
    job_name='my-training-job-1',
    instance_type='ml.g4dn.xlarge',
    instance_count=1,
    volume_size=250,
    hyperparameters={
        "batch-size": 512,
        "epochs": 1,
        "learning-rate": 1e-3,
        "beta_1": 0.9,
        "beta_2": 0.999,
    },
    keep_alive_period_in_seconds=1800,
)

# Starts a SageMaker training job and waits until completion
estimator.fit('s3://my_bucket/my_training_data/')
```

次に、一致する 2 つ目のトレーニングジョブを作成します。この例では、`my-training-job-1` と一致する必要な属性がすべて含まれ、実験用に別のハイパーパラメータを持つ `my-training-job-2` を作成します。2 つ目のトレーニングジョブはウォームプールを再利用し、1 つ目のトレーニングジョブよりも早く起動します。次のコード例では Tensorflow 推定器を使用しています。ウォームプール機能は、Amazon SageMaker AI で実行されるどのトレーニングアルゴリズムでも使用できます。どの属性が一致する必要があるかについての詳細は、「[トレーニングジョブのマッチング](train-warm-pools.md#train-warm-pools-matching-criteria)」を参照してください。

```
# Creates an example estimator
estimator = TensorFlow(
    ...
    entry_point='my-training-script.py',
    source_dir='code',
    role=role,
    model_dir='model_dir',
    framework_version='py37',
    py_version='pyxy',
    job_name='my-training-job-2',
    instance_type='ml.g4dn.xlarge',
    instance_count=1,
    volume_size=250,
    hyperparameters={
        "batch-size": 512,
        "epochs": 2,
        "learning-rate": 1e-3,
        "beta_1": 0.9,
        "beta_2": 0.999,
    },
    keep_alive_period_in_seconds=1800,
)

# Starts a SageMaker training job and waits until completion
estimator.fit('s3://my_bucket/my_training_data/')
```

両方のトレーニングジョブのウォームプールのステータスをチェックして、`my-training-job-1` のウォームプールが `Reused`、`my-training-job-2` のウォームプールが `InUse` になっていることを確認します。

**注記**  
トレーニングジョブ名には日付/時刻のサフィックスが付いています。この例のトレーニングジョブ名 `my-training-job-1` および `my-training-job-2` を実際のトレーニングジョブ名に置き換えてください。`estimator.latest_training_job.job_name` コマンドを使用して、実際のトレーニングジョブ名を取得できます。

```
session.describe_training_job('my-training-job-1')
session.describe_training_job('my-training-job-2')
```

`describe_training_job` の結果には、特定のトレーニングジョブに関するすべての詳細が表示されます。`WarmPoolStatus` 属性を検索して、トレーニングジョブのウォームプールに関する情報を確認します。出力は以下の例のようになります。

```
# Warm pool status for training-job-1
...
'WarmPoolStatus': {'Status': 'Reused', 
  'ResourceRetainedBillableTimeInSeconds': 1000,
  'ReusedByName': my-training-job-2}
...

# Warm pool status for training-job-2
... 
'WarmPoolStatus': {'Status': 'InUse'}
...
```

### ウォームプールを更新する
<a name="train-warm-pools-how-to-use-python-sdk-update"></a>

トレーニングジョブが完了し、ウォームプールのステータスが `Available` になったら、`KeepAlivePeriodInSeconds` 値を更新できます。

```
session.update_training_job(job_name, resource_config={"KeepAlivePeriodInSeconds":3600})
```

### ウォームプールを終了する
<a name="train-warm-pools-how-to-use-python-sdk-terminate"></a>

ウォームプールを手動で終了するには、`KeepAlivePeriodInSeconds ` 値を 0 に設定します。

```
session.update_training_job(job_name, resource_config={"KeepAlivePeriodInSeconds":0})
```

ウォームプールは、指定された `KeepAlivePeriodInSeconds` 値を超えたり、クラスターにパッチアップデートが行われたりすると自動的に終了します。

## Amazon SageMaker AI コンソールを使用する
<a name="train-warm-pools-how-to-use-sagemaker-console"></a>

コンソールから、ウォームプールを作成したり、ウォームプールをリリースしたり、特定のトレーニングジョブのウォームプールのステータスや課金対象時間を確認したりできます。また、一致するどのトレーニングジョブがウォームプールを再利用したかを確認することもできます。

1. [Amazon SageMaker AI コンソール](https://console.aws.amazon.com/ec2/)を開き、ナビゲーションペインから **[トレーニングジョブ]** を選択します。該当する場合、各トレーニングジョブのウォームプールのステータスは **[ウォームプールのステータス]** 列に表示され、アクティブなウォームプールの残り時間は **[残り時間]** 列に表示されます。

1. ウォームプールを使用するトレーニングジョブをコンソールから作成するには、**[トレーニングジョブの作成]** を選択します。次に、トレーニングジョブリソースを設定するときに、必ず **[キープアライブ期間]** フィールドに値を指定してください。この値は、時間を秒単位で表す 1 から 3600 までの整数でなければなりません。

1. ウォームプールをコンソールから解放するには、特定のトレーニングジョブを選択し、**[アクション]** ドロップダウンメニューから **[クラスターをリリースする]** を選択します。

1. ウォームプールの詳細を確認するには、トレーニングジョブ名を選択します。ジョブの詳細ページで、**[ウォームプールのステータス]** セクションまでスクロールして、ウォームプールのステータス、ウォームプールのステータスが `Available` である場合は残り時間、ウォームプールの請求可能な秒数、ウォームプールのステータスが `Reused` である場合はウォームプールを再利用したトレーニングジョブの名前を確認します。

## 低レベルの SageMaker API を使用する
<a name="train-warm-pools-how-to-use-low-level-apis"></a>

SageMaker API または CLI で SageMaker AI AWS マネージドウォームプールを使用します。

### SageMaker AI API
<a name="train-warm-pools-how-to-use-low-level-apis-sagemaker"></a>

以下のコマンドで SageMaker API を使用して SageMaker AI マネージドウォームプールをセットアップします。
+ [CreateTrainingJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTrainingJob.html)
+ [UpdateTrainingJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateTrainingJob.html)
+ [ListTrainingJobs](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListTrainingJobs.html)
+ [DescribeTrainingJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeTrainingJob.html)

### AWS CLI
<a name="train-warm-pools-how-to-use-low-level-apis-cli"></a>

次のコマンドで CLI を使用して SageMaker AI AWS マネージドウォームプールを設定します。
+ [create-training-job](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sagemaker/create-training-job.html)
+ [update-training-job](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sagemaker/update-training-job.html)
+ [list-training-jobs](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sagemaker/list-training-jobs.html)
+ [describe-training-job](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sagemaker/describe-training-job.html)

## IAM 条件キー
<a name="train-warm-pools-how-to-use-iam-condition-key"></a>

管理者はオプションで `sagemaker:KeepAlivePeriod` 条件キーを使用して、特定のユーザーまたはグループの `KeepAlivePeriodInSeconds` 制限をさらに制限できます。SageMaker AI マネージドウォームプールでは、`KeepAlivePeriodInSeconds` 値は 3600 秒 (60 分) に制限されていますが、管理者は必要に応じてこの制限を下げることができます。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "EnforceKeepAlivePeriodLimit",
            "Effect": "Allow",
            "Action": [
                "sagemaker:CreateTrainingJob"
            ],
            "Resource": "*",
            "Condition": {
                "NumericLessThanIfExists": {
                    "sagemaker:KeepAlivePeriod": "1800"
                }
            }
        }
    ]
}
```

------

詳細については、*サービス認可リファレンス*の「[Condition keys for Amazon SageMaker AI](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonsagemaker.html#amazonsagemaker-policy-keys)」を参照してください。