分散マップ状態実行のマップ実行の検証 - AWS Step Functions

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

分散マップ状態実行のマップ実行の検証

分散モードで Map 状態を実行すると、Step Functions はマップ実行リソースを作成します。マップ実行とは、分散マップ状態によって開始する一連の子ワークフロー実行、およびこれらの実行をコントロールするランタイム設定を指します。Step Functions は、マップの実行に Amazon リソースネーム (ARN) を割り当てます。マップ実行は、Step Functions コンソールで確認できます。DescribeMapRun API アクションを呼び出すこともできます。マップ実行は、 にメトリクスも出力します CloudWatch。

Step Functions コンソールには、分散マップ状態実行に関連するすべての情報を表示する [マップ実行の詳細] ページがあります。例えば、分散マップ状態の実行ステータス、マップ実行の ARN、および分散マップ状態によって開始された子ワークフロー実行で処理されたアイテムのステータスを表示できます。また、すべての子ワークフロー実行のリストを表示したり、その詳細にアクセスしたりすることもできます。さらに、マップ実行が redriven だった場合は、[マップ実行] 実行の概要 セクションにマップ実行の redrive の詳細が表示されます。例えば、「前回の redrive」などです。コンソールには、この情報がダッシュボード形式で表示されます。

[マップ実行の詳細] ページには、次のセクションがあります。


            [マップ実行の詳細] ページには、[マップ実行の概要]、[アイテム処理ステータス]、[実行リスト]の 3 つのセクションが表示されます。

[マップ実行] 実行の概要

[マップ実行の概要] セクションは、[マップ実行の詳細] ページの上部に表示されます。このセクションでは、分散マップ状態の実行の詳細の概要を説明します。この情報は次のタブに分かれています。

詳細

分散マップ状態の実行ステータス、マップ実行 ARN、分散マップ状態によって開始された子ワークフロー実行の種類などの情報を表示します。マップ実行の許容障害しきい値や、子ワークフロー実行に指定された最大同時実行数など、その他の設定も表示できます。これらの設定を編集することも可能です。

入力と出力

分散マップ状態が受信した入力と、ステートが生成する対応する出力を表示します。例えば、入力データセットとその場所、およびそのデータセット内の個々のデータアイテムに適用された入力フィルターを表示できます。分散マップ状態実行の出力をエクスポートする場合、このタブには実行結果を含む Amazon S3 バケットへのパスが表示されます。それ以外の場合は、親ワークフローの [実行の詳細] ページに移動して実行出力が表示されます。

エラーメッセージ

マップ実行が失敗した場合、[マップ実行の詳細] ページには失敗の理由を示すエラーメッセージが表示されます。

このエラーメッセージの [復旧] ドロップダウンボタンから、このマップ実行によって開始された失敗した子ワークフローの実行をredriveするか親ワークフローの新規実行を開始できます。詳細については、「マップ実行の再処理」を参照してください。


                [マップ実行の詳細] ページに表示される、失敗したマップ実行のエラーメッセージ。エラーメッセージには、障害から回復するためのオプションも表示されます。

アイテム処理ステータス

[アイテム処理ステータス] セクションには、マップ実行で処理されたアイテムのステータスが表示されます。例えば、[保留中] は、子ワークフロー実行がまだアイテムの処理を開始していないことを示します。

アイテムのステータスは、アイテムを処理している子ワークフロー実行のステータスによって異なります。子ワークフローの実行が失敗したり、タイムアウトになったり、ユーザーが実行をキャンセルしたりした場合、Step Functions はその子ワークフロー実行内の項目の処理結果に関する情報を受け取りません。その実行によって処理されたすべてのアイテムは、子ワークフロー実行のステータスを共有します。

例えば、2 回の子ワークフロー実行で 100 項目を処理し、各実行で 50 項目のバッチを処理するとします。実行の 1 つが失敗し、もう 1 つが成功した場合、成功したアイテムが 50 個、失敗したアイテムが 50 個になります。

次の表では、すべてのアイテムで利用できる処理ステータスのタイプを説明しています。

ステータス 説明

[保留中]

子ワークフロー実行がまだ処理を開始していない項目を示します。アイテムの処理が開始される前にマップ実行が停止、失敗、またはユーザーが実行をキャンセルした場合、アイテムは [保留中] ステータスのままになります。

例えば、処理待ちのアイテムが 10 個ある状態でマップ実行が失敗した場合、この 10 個のアイテムは [保留中] ステータスのままになります。

実行中

子ワークフロー実行によって現在処理中のアイテムを示します。

成功

子ワークフロー実行が項目を正常に処理したことを示します。

成功した子ワークフローの実行が、失敗したアイテムを持つことはできません。実行中にデータセット内の 1 つのアイテムに障害が発生すると、子ワークフローの実行全体が失敗します。

[失敗]

子ワークフローの実行がアイテムの処理に失敗したか、実行がタイムアウトしたことを示します。子ワークフロー実行によって処理された項目が 1 つでも失敗すると、子ワークフローの実行全体が失敗します。

例えば、1000 項目を処理した子ワークフローの実行の場合を考えます。そのデータセット内の 1 つのアイテムが実行中に失敗した場合、Step Functions は子ワークフローの実行全体が失敗したと見なします。

マップ実行をredriveすると、このステータスのアイテムの数は 0 にリセットされます。

Aborted

子ワークフロー実行によってアイテムの処理が開始されたが、ユーザーが実行をキャンセルしたか、マップ実行が失敗したために Step Functions が実行を停止したことを示します。

例えば、50 個のアイテムを処理している [実行中] の子ワークフロー実行を考えてみましょう。障害またはユーザーが実行をキャンセルしたためにマップ実行が停止した場合、子ワークフローの実行と 50 項目すべてのステータスが [中断] に変わります。

Express タイプの子ワークフロー実行を使用する場合、実行を停止することはできません。

Express タイプの子ワークフロー実行を開始するマップ実行を redrive すると、このステータスのアイテムの数は 0 にリセットされます。これは、Express の子ワークフローが、 ではなく StartExecution API アクションを使用して再起動されるためですredriven。

実行リスト

[実行] セクションには、特定のマップ実行のすべての子ワークフロー実行が一覧表示されます。[正確な実行名で検索] フィールドを使用して、特定の子ワークフロー実行を検索します。[任意のステータス] ドロップダウンを使用して、子ワークフローの実行履歴をステータスでフィルタリングすることもできます。特定の実行に関する詳細を表示するには、リストから子ワークフロー実行を選択し、[詳細を表示] ボタンを選択して [実行の詳細] ページを開きます。

重要

子ワークフロー実行の保持ポリシーは 90 日間です。この保持期間を過ぎて完了した子ワークフロー実行は、[実行] テーブルには表示されません。これは、分散マップ状態または親ワークフローが保持期間を超えて実行され続けている場合でも同様です。ResultWriter を使用して分散マップ状態出力を Amazon S3 バケットにエクスポートすると、これらの子ワークフローの実行の詳細 (結果を含む) を表示できます。

ヒント

更新ボタン 
                        bell
                    を選択すると、すべての子ワークフロー実行の最新リストが表示されます。