パイプラインのステップの再試行ポリシー
再試行ポリシーを使用すると、エラーが発生した後に Pipelines ステップを再試行するのに役立ちます。パイプラインステップでは例外が発生する場合がありますが、例外はさまざまな理由で発生します。場合によっては、再試行によってこれらの問題を解決できることがあります。パイプラインステップの再試行ポリシーを使用すると、特定のパイプラインステップを再試行するかどうかを選択できます。
再試行ポリシーは、次のパイプラインステップのみをサポートします。
注記
チューニングと AutoML ステップの両方で実行されるジョブは、再試行ポリシーが設定されていても、内部的に再試行され、SageMaker.JOB_INTERNAL_ERROR 例外タイプは再試行されません。SageMaker API を使用して独自の再試行戦略をプログラムできます。
再試行ポリシーでサポートされる例外タイプ
パイプラインステップの再試行ポリシーは、次の例外タイプをサポートします。
-
Step.SERVICE_FAULT: これらの例外は、ダウンストリームのサービスを呼び出したときに内部サーバーエラーまたは一時的なエラーがあると発生します。Pipelines は、このようなタイプのエラーは自動的に再試行します。再試行ポリシーを使用すると、この例外タイプのデフォルトの再試行オペレーションをオーバーライドできます。 -
Step.THROTTLING: ダウンストリームのサービスの呼び出し中には、スロットリング例外が発生することがあります。Pipelines は、このようなタイプのエラーは自動的に再試行します。再試行ポリシーを使用すると、この例外タイプのデフォルトの再試行オペレーションをオーバーライドできます。 -
SageMaker.JOB_INTERNAL_ERROR: これらの例外は、SageMaker AI ジョブがInternalServerErrorを返す場合に発生します。この場合、新しいジョブを始めると、一時的な問題が解決することがあります。 -
SageMaker.CAPACITY_ERROR: SageMaker AI ジョブで Amazon EC2InsufficientCapacityErrorsが発生すると、SageMaker AI ジョブの失敗につながります。新しい SageMaker AI ジョブを開始して再試行すると、この問題を回避できます。 -
SageMaker.RESOURCE_LIMIT: SageMaker AI ジョブを実行する際に、リソース制限クォータを超えることがあります。しばらく待ってから SageMaker AI ジョブの実行を再試行すると、リソースがリリースされたかどうかを確認できます。
再試行ポリシーの JSON スキーマ
パイプラインの再試行ポリシーには、以下の JSON スキーマがあります。
"RetryPolicy": { "ExceptionType": [String] "IntervalSeconds": Integer "BackoffRate": Double "MaxAttempts": Integer "ExpireAfterMin": Integer }
-
ExceptionType: このフィールドには、以下の例外タイプが文字列配列形式で必要です。-
Step.SERVICE_FAULT -
Step.THROTTLING -
SageMaker.JOB_INTERNAL_ERROR -
SageMaker.CAPACITY_ERROR -
SageMaker.RESOURCE_LIMIT
-
-
IntervalSeconds(オプション): 最初の再試行までの秒数 (デフォルトは 1)。IntervalSecondsの最大値は 43,200 秒 (12 時間) です。 -
BackoffRate(オプション): 各試行間で再試行間隔が増加する乗数 (デフォルトは 2.0)。 -
MaxAttempts(オプション): 再試行の最大回数を表す正の整数 (デフォルトは 5)。MaxAttemptsで指定された回数を超えてエラーが再発する場合、再試行が停止され通常のエラー処理が再開されます。0 の値は、エラーが再試行されないことを指定します。MaxAttemptsの最大値は 20 です。 -
ExpireAfterMin(オプション): 再試行の最大タイムスパンを表す正の整数。ステップの実行から数えてExpireAfterMin分後にエラーが再発した場合は、再試行が停止され、通常のエラー処理が再開されます。0 の値は、エラーが再試行されないことを指定します。ExpireAfterMinの最大値は 14,400 分 (10 日) です。注記
MaxAttemptsまたはExpireAfterMinのいずれか 1 つを指定できますが、両方を指定することはできません。両方とも指定されていない場合は、MaxAttemptsがデフォルトになります。1 つのポリシーに両方のプロパティがあると、再試行ポリシーによって検証エラーが生成されます。