マップワークフローの状態 - AWS Step Functions

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

マップワークフローの状態

Map 状態を使用して、データセット内の各アイテムに対して一連のワークフローステップを実行します。Map 状態の反復は並行して実行されるため、データセットを迅速に処理できます。 Map状態は、JSON配列、Amazon S3 オブジェクトのリスト、CSVファイルなど、さまざまな入力タイプを使用できます。

Step Functions には、ワークフローで Map 状態を使用するための処理モードとして、インラインモードと分散モードの 2 種類の処理モードがあります。

ヒント

Map 状態を使用するワークフローの例を にデプロイするには AWS アカウント、「ワークショップ」の「モジュール 5 - 選択状態とマップ状態」を参照してください。 AWS Step Functions

マップステート処理モード

Step Functions には、データセット内の項目の処理方法に応じて、Map 状態に対して次の処理モードが用意されています。

  • インライン - 制限付き同時実行モード。このモードでは、Map 状態のそれぞれの反復は、Map 状態を含むワークフローのコンテキストで実行されます。Step Functions は、これらの反復の実行履歴を親ワークフローの実行履歴に追加します。デフォルトでは、Map 状態はインラインモードで実行されます。

    このモードでは、 Map状態はJSON配列のみを入力として受け入れます。また、このモードでは最大 40 回の同時反復がサポートされています。

    詳細については、「Step Functions ワークフローでのインラインモードでのマップ状態の使用」を参照してください。

  • 分散 - 高い並列性を持つモード。このモードでは、Map 状態は各反復を子ワークフロー実行として実行します。これにより、最大 10,000 件という高い並列性を持つの並列子ワークフロー実行が可能になります。それぞれの子ワークフローの実行には、親ワークフローとは別の実行履歴があります。

    このモードでは、 Map状態はJSON配列または CSV ファイルなどの Amazon S3 データソースを入力として受け入れることができます。

    詳細については、「分散モード」を参照してください。

使用するモードは、データセット内の項目の処理方法によって異なります。ワークフローの実行履歴が 25,000 エントリを超えない場合や、同時反復が 40 回以上必要ない場合は、Map 状態をインラインモードで使用します。

次の条件を満たす大規模な並列ワークロードをオーケストレーションする必要がある場合は、並列モードモードの Map 状態を使用します。

  • データセットのサイズが 256 KB を超えています。

  • ワークフローの実行イベント履歴が 25,000 エントリを超えています。

  • 40 回以上の反復処理の同時実行が必要です。

インラインモードと分散モードの違い

次の表は、インラインモードと分散モードの違いを中心に示しています。

インラインモード 分散モード
Supported data sources

ワークフローの前のステップから渡されたJSON配列を入力として受け入れます。

入力として次のデータソースを受け取ります。

  • JSON ワークフローの前のステップから渡された 配列

  • JSON 配列を含む Amazon S3 バケット内の ファイル

  • CSV Amazon S3 バケット内の ファイル

  • Amazon S3 オブジェクトリスト

  • Amazon S3 インベントリ

Map iterations

このモードでは、Map 状態のそれぞれの反復は、Map 状態を含むワークフローのコンテキストで実行されます。Step Functions は、これらの反復の実行履歴を親ワークフローの実行履歴に追加します。

このモードでは、Map 状態は各反復を子ワークフロー実行として実行します。これにより、最大 10,000 件という高い並列性を持つの並列子ワークフロー実行が可能になります。それぞれの子ワークフローの実行には、親ワークフローとは別の実行履歴があります。

Maximum concurrency for parallel iterations

最大 40 回の反復を可能な限り同時に実行できます。

子ワークフローを最大 10,000 回並列で実行して、数百万件のデータ項目を一度に処理できます。

Input payload and event history sizes

入力ペイロードサイズを 256 KB、実行イベント履歴に 25,000 エントリという制限を適用します。

Map 状態は、Amazon S3 データソースから直接入力を読み取ることができるため、ペイロードサイズの制限を解決できます。

このモードでは、Map 状態よって開始された子ワークフローの実行が、親ワークフローの実行履歴とは別の独自の実行履歴を保持するため、実行履歴の制限を解決することもできます。

Monitoring and observability

ワークフローの実行履歴は、コンソールから、または GetExecutionHistoryAPIアクションを呼び出すことで確認できます。

CloudWatch および X-Ray を使用して実行履歴を表示することもできます。

分散モードで Map 状態を実行すると、Step Functions はマップ実行リソースを作成します。マップ実行とは、分散マップ状態によって開始する一連の子ワークフロー実行を指します。マップ実行は、Step Functions コンソールで表示できます。DescribeMapRun API アクションを呼び出すこともできます。マップ実行は、 にメトリクスも出力します CloudWatch。

詳細については、「Step Functions での分散マップ実行の実行の確認」を参照してください。