

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

# のサービスジョブの再試行戦略 AWS Batch
<a name="service-job-retries"></a>

サービスジョブの再試行戦略により AWS Batch 、 は特定の条件下で失敗したサービスジョブを自動的に再試行できます。

サービスジョブには、いくつかの理由で複数回の試行が必要になる場合があります。
+ **一時的なサービスの問題**: 内部サービスエラー、スロットリング、または一時的な停止により、送信中または実行中にジョブが失敗する可能性があります。
+ **トレーニング初期化の失敗**: イメージのプルの問題や初期化エラーなど、ジョブの起動中の問題は再試行時に解決される可能性があります。

適切な再試行戦略を設定することで、ジョブの成功率を向上させ、特に長時間実行されるトレーニングのワークロードにおける手動介入の必要性を減らすことができます。

**注記**  
サービスジョブは、設定された再試行を消費することなく、容量不足エラーなど、特定のタイプの失敗を自動的に再試行します。再試行戦略は、アルゴリズムエラーやサービスの問題などの他のタイプの失敗を主に処理します。

## 再試行戦略の設定
<a name="configuring-service-job-retries"></a>

サービスジョブの再試行戦略は、シンプルな再試行回数と条件付き再試行ロジックの両方をサポートする [ServiceJobRetryStrategy](https://docs.aws.amazon.com/batch/latest/APIReference/API_ServiceJobRetryStrategy.html) を使用して設定されます。

### 再試行設定
<a name="basic-retry-configuration"></a>

最も簡単な再試行戦略では、サービスジョブが失敗した場合に実行する再試行回数を指定します。

```
{
  "retryStrategy": {
    "attempts": 3
  }
}
```

この設定では、サービスジョブが失敗した場合に最大 3 回再試行できます。

**重要**  
`attempts` 値は、最初の試行を含め、ジョブを `RUNNABLE` 状態に配置できる合計回数を表します。3 の値は、ジョブが最初に 1 回試行され、失敗するとさらに 2 回再試行されることを意味します。

### evaluateOnExit で設定を再試行する
<a name="advanced-retry-configuration"></a>

`evaluateOnExit` パラメータを使用して、ジョブを再試行するか、失敗を許可する条件を指定できます。これは、さまざまなタイプの失敗で異なる処理が必要な場合に便利です。

`evaluateOnExit` 配列には最大 5 つの再試行戦略を含めることができ、それぞれがステータス理由に基づいてアクション (`RETRY` または `EXIT`) と条件を指定します。

```
{
  "retryStrategy": {
    "attempts": 5,
    "evaluateOnExit": [
      {
        "action": "RETRY",
        "onStatusReason": "Received status from SageMaker: InternalServerError*"
      },
      {
        "action": "EXIT",
        "onStatusReason": "Received status from SageMaker: ValidationException*"
      },
      {
        "action": "EXIT",
        "onStatusReason": "*"
      }
    ]
  }
}
```

この設定では、次のようになります。
+ SageMaker AI の内部サーバーエラーが原因で失敗したジョブを再試行する
+ 検証例外 (再試行によって解決されないクライアントエラー) が発生したジョブをすぐに失敗させる
+ 他の失敗タイプに対して終了するキャッチオールルールを含める

#### ステータス理由のパターンマッチング
<a name="status-reason-patterns"></a>

`onStatusReason` パラメータは、最大 512 文字のパターンマッチングをサポートします。パターンはワイルドカード (\$1) を使用し、SageMaker AI によって返されるステータス理由と照合できます。

サービスジョブの場合、SageMaker AI からのステータスメッセージには、SageMaker からのステータスの受信: AWS Batch」というプレフィックスが付けられ、生成されたメッセージと区別されます。一般的なパターンは次のとおりです。
+ `Received status from SageMaker: InternalServerError*` - 内部サービスエラーの一致
+ `Received status from SageMaker: ValidationException*` - クライアント検証エラーの一致
+ `Received status from SageMaker: ResourceLimitExceeded*` - リソース制限エラーの一致
+ `*CapacityError*` - 容量関連の失敗の一致

**ヒント**  
特定のパターンマッチングを使用して、さまざまなエラータイプを適切に処理します。例えば、内部サーバーエラーを再試行しますが、ジョブパラメータの問題を示す検証エラーですぐに失敗します。