

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

# ジョブの再試行の自動化
<a name="job_retries"></a>

ジョブおよびジョブ定義に再試行戦略を適用し、失敗したジョブを自動的に再試行できます。考えられる故障のシナリオは以下の通りです：
+ コンテナジョブのゼロ以外の終了コード
+ Amazon EC2 インスタンスの障害または終了
+ 内部 AWS サービスエラーまたは停止

ジョブがジョブキューに送信されて `RUNNING` 状態になると、1 回の試行とみなされます。デフォルトでは、各ジョブは 1 回の試行で `SUCCEEDED` または `FAILED` のいずれかの状態に移行します。ただし、ジョブ定義とジョブ送信の両方のワークフローで、1〜10 回の再試行戦略を指定できます。[EvaluateOnExit](job_definition_parameters.md#retryStrategy-evaluateOnExit) を指定すると、最大 5 つの再試行戦略を含めることができます。[EvaluateOnExit](https://docs.aws.amazon.com/batch/latest/APIReference/API_EvaluateOnExit.html)が指定されているが、いずれの再試行方法も一致しない場合、ジョブは再試行されます。終了と一致しないジョブについては、何らかの理由で終了する最後のエントリを追加します。例えば、`evaluateOnExit` このオブジェクトには、アクションがの 2 `RETRY` つのエントリと、`EXIT` アクションがの最後のエントリがあります。

```
"evaluateOnExit": [
    {
        "action": "RETRY",
        "onReason": "AGENT"
    },
    {
        "action": "RETRY",
        "onStatusReason": "Task failed to start"
    },
    {
        "action": "EXIT",
        "onReason": "*"
    }
]
```

ランタイムに、`AWS_BATCH_JOB_ATTEMPT` 環境変数がコンテナの対応するジョブ試行番号に設定されます。最初の試行は `1` 番となり、後続の試行は昇順の番号 (2、3、4 など) になります。

例えば、何らかの理由でジョブの試行が失敗し、再試行設定で指定されている試行回数がその `AWS_BATCH_JOB_ATTEMPT` 回数よりも多いとします。その後、ジョブは元の `RUNNABLE` 状態に戻ります。詳細については、[ジョブの状態](job_states.md)を参照してください。

**注記**  
ジョブをキャンセルまたは終了した場合、ジョブは再試行されません。無効なジョブ定義のためにジョブが失敗した場合も、ジョブは再試行されません。

詳細については、[再試行戦略](job_definition_parameters.md#retryStrategy)、[シングルノードのジョブ定義を作成する](create-job-definition.md)、[チュートリアル: ジョブを送信する](submit_job.md) および[停止したタスクのエラーコード](https://docs.aws.amazon.com/AmazonECS/latest/userguide/stopped-task-error-codes.html) を参照してください。