ジョブのロールアウトと中止設定 - AWS IoT Core

ジョブのロールアウトと中止設定

AWS IoTさまざまな基準としきい値が満たされると、可変ロールアウトレートを使用して ジョブをデプロイできます。失敗したジョブの数が一連の基準に一致する場合、ジョブのロールアウトを中止することもできます。これらのロールアウトの設定では、ジョブの影響範囲内でさらに細かくコントロールできます。ジョブのロールアウトレート基準は JobExecutionsRolloutConfig オブジェクトを通じて、ジョブの作成時に設定されます。ジョブの中止基準は、AbortConfig オブジェクトを使用して、ジョブの作成時に設定されます。

ジョブのロールアウトレートの使用

CreateJobAPI の実行時に、 JobExecutionsRolloutConfig オブジェクトのExponentialRolloutRate プロパティを設定することにより、ジョブロールアウトレートを設定します。次の例では、exponentialRate パラメータを使用して可変ロールアウトレートを設定します。

{ ... "jobExecutionsRolloutConfig": { "exponentialRate": { "baseRatePerMinute": 50, "incrementFactor": 2, "rateIncreaseCriteria": { "numberOfNotifiedThings": 1000, "numberOfSucceededThings": 1000 }, "maximumPerMinute": 1000 } } ... }

baseRatePerMinute パラメータは、numberOfNotifiedThings または numberOfSucceededThings しきい値に達するまで、ジョブを実行するレートを指定します。

incrementFactor パラメータは numberOfNotifiedThings または numberOfSucceededThings しきい値に達した後にロールアウトレートを増加する指数係数を指定します。

rateIncreaseCriteria パラメータは numberOfNotifiedThings または numberOfSucceededThings しきい値とのどちらかを指定するオブジェクトです。

maximumPerMinute パラメータはジョブ実行が発生するレートの上限を指定します。有効な値の範囲は 1 ~ 1000 です。このパラメータは、ExponentialRate オブジェクトに渡すときに必要になります。可変レートロールアウトでは、この値によりロールアウトジョブの上限レートが設定されます。

上の設定のジョブロールアウトでは 1 分あたり 50 個のジョブの実行のレートで開始します。これは 1000 個のモノがジョブ実行の通知を受け取る (numberOfNotifiedThings の値が指定されている場合) または 1000 個のジョブ実行が成功する (numberOfSucceededThings の値が指定されている場合) まで、そのレートで継続されます。

次の表で、最初の 4 つのインクリメントでロールアウトを進める方法を示します。

分あたりのロールアウトレート

50

100

200

400

通知されたデバイス数または成功した実行数

1000

2000

3000

4000

次の設定は静的ロールアウトレートを設定します。

{ ... "jobExecutionsRolloutConfig": { "maximumPerMinute": 1000 ... }

maximumPerMinute パラメータはジョブ実行が発生するレートの上限を指定します。有効な値の範囲は 1 ~ 1000 です。このパラメータはオプションです。値を指定しない場合、デフォルト値 1000 を使用します。

ジョブのロールアウトと中止設定の使用

CreateJobAPI の実行時にオプションの AbortConfigオブジェクトを設定することにより、ジョブの中止条件を設定します。このセクションでは、次のサンプル設定が、複数回失敗した実行のジョブロールアウトに対する影響について説明します。

"abortConfig": { "criteriaList": [ { "action": "CANCEL", "failureType": "FAILED", "minNumberOfExecutedThings": 100, "thresholdPercentage": 20 }, { "action": "CANCEL", "failureType": "TIMED_OUT", "minNumberOfExecutedThings": 200, "thresholdPercentage": 50 } ] }

action パラメータは、中止基準が満たされているときに実行するアクションを指定します。このパラメータは必須であり、CANCEL が唯一の有効な値です。

failureType パラメータは、ジョブ中止をトリガーするエラーの種類を指定します。有効な値は、FAILEDREJECTEDTIMED_OUT、および ALL です。

minNumberOfExecutedThings パラメータは、ジョブ中止基準が満たされているかどうかをサービスがチェックする前に、完了が必要なジョブの数を指定します。この例では、AWS IoT は、ジョブ実行が完了しているデバイスが少なくとも 100 個になるまで、ジョブ中止が必要かどうかをチェックしません。

thresholdPercentage パラメータは、中止ジョブを開始する、実行されたモノの合計数を指定します。この例では、AWS IoT は、どのような方法でも 100 回の実行を完了した後、すべての完了した実行の少なくとも 20% が失敗した場合、ジョブ中止を開始し、ジョブのロールアウトをキャンセルします。

注記

ジョブ実行を削除すると、完了した実行の合計数の計算値に影響します。ジョブを中止するとき、サービスは自動で commentreasonCode を作成し、ジョブ中止のキャンセルとユーザーによるキャンセルを区別します。