Step Functions でのワークフロータイプの選択 - AWS Step Functions

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

Step Functions でのワークフロータイプの選択

ステートマシンを作成するときは、[標準] または [Express] のいずれかの [タイプ] を選択します。ステートマシンのデフォルトの [タイプ][Standard] です。[タイプ][Standard] のステートマシンは Standard ワークフローと呼ばれ、[タイプ][Express] のステートマシンは Express ワークフローと呼ばれます。

Standard ワークフローと Express ワークフローの両方で、Amazon States Language を使用した Step Functions ワークフローの定義 を使用してステートマシンを定義します。ステートマシンの実行の動作は、選択した [タイプ] によって異なります。

重要

選択したワークフロータイプは、ステートマシンの作成後に変更することはできません

標準ワークフローと Express ワークフローは、Amazon API Gateway (大規模APIsにフルマネージド)、IoT ルール、Amazon の 140 を超える他のイベントソースからのHTTPリクエストなどのイベントに応答して自動的に開始できます EventBridge。

標準ワークフローは、長時間 (最大 1 年)、耐久性があり、監査可能なワークフローに最適です。実行完了後、最大 90 日間は Step Functions API を使用して完全な実行履歴を取得できます。標準ワークフローは 1 回限りのモデルに従います。このモデルでは、 でRetry動作を指定しない限り、タスクと状態が複数回実行されることはありませんASL。これにより、標準ワークフローは、Amazon EMRクラスターの開始や支払いの処理など、べき等ではないアクションの調整に適しています。標準ワークフローの実行は、処理された状態遷移の数に応じて課金されます。

Express ワークフローは、IoT データインジェスト、ストリーミングデータ処理と変換、モバイルアプリケーションのバックエンドなど、大量のイベント処理ワークロードに最適です。これらのワークフローは最大 5 分間実行できます。Express ワークフローは、実行が複数回実行される可能性のあるat-least-onceモデルを使用します。これにより、Express ワークフローは、入力データの変換や Amazon DynamoDB でのアクションによる保存など、べき等PUTアクションの調整に最適です。Express ワークフローの実行は、実行数、実行の合計時間、および実行の実行中に消費されたメモリによって請求されます。

ヒント

Express ワークフローの例をデプロイするには、「」の「並列状態」を参照してください。 AWS Step Functions ワークショップ

Standard ワークフロータイプと Express ワークフロータイプの比較

タイプ/カテゴリ 標準ワークフロー エクスプレスワークフロー:同期および非同期
最大期間 1 年 5 分
サポートされている実行開始レート

サポートされている実行開始レートに関連するクォータについては、「API アクションスロットリングに関連するクォータ」を参照してください。

サポートされている実行開始レートに関連するクォータについては、「API アクションスロットリングに関連するクォータ」を参照してください。

サポートされている状態遷移レート

サポートされている状態遷移レートに関連するクォータについては、「状態のスロットリングに関連するクォータ」を参照してください。

無制限
料金表 状態遷移回数による価格設定。状態遷移は、実行のステップが完了するたびにカウントされます。 実行回数、実行時間、およびメモリ消費量によって価格設定されます。
実行履歴

実行は、Step Functions でリストおよび説明できますAPIs。実行は、コンソールから視覚的にデバッグできます。ステートマシンでログ記録を有効にすることで、 CloudWatch ログで検査することもできます。

コンソールでの標準ワークフロー実行のデバッグの詳細については、「Standard コンソールと Express コンソールエクスペリエンスの違い」と「ワークフロー実行の表示」を参照してください。

実行履歴は無制限に、つまり 5 分以内に生成できる限り多くの実行履歴エントリが保持されます。

ステートマシンでログ記録を有効にすると、 CloudWatch Logs または Step Functions コンソールで実行を検査できます。

コンソールでの Express ワークフロー実行のデバッグの詳細については、「Standard コンソールと Express コンソールエクスペリエンスの違い」と「ワークフロー実行の表示」を参照してください。

実行セマンティクス 一度だけのワークフロー実行。

非同期 Express ワークフロー: t-least-once ワークフロー実行。

同期 Express ワークフロー: t-most-once ワークフロー実行。

サービス統合 すべてのサービス統合とパターンをサポートします。 すべてのサービス統合をサポートします。
注記

Express ワークフローはジョブ実行 (.sync) やコールバック (.waitForTaskToken) サービス統合パターンをサポートしていません。

分散マップ サポート サポートされていません
アクティビティ サポート サポートされていません
ワークフロータイプの最適化

大規模なデータ処理ワークショップでは、タイプ別の比較についてはワークフロータイプの選択 (ワークショップ) モジュール、標準から Express への変換のチェックリスト、コスト影響分析の例を参照してください。

Step Functions での同期および非同期 Express ワークフロー

選択できる Express ワークフローには、非同期 Express ワークフローと同期 Express ワークフローの 2 種類があります。

  • 非同期 Express ワークフローは、ワークフローが開始されたことの確認を返しますが、ワークフローの完了を待機しません。結果を取得するには、サービスのCloudWatch ログ をポーリングする必要があります。非同期 Express ワークフローは、メッセージングサービスや、他のサービスが依存しないデータ処理など、即時のレスポンス出力が必要ではない場合に使用できます。非同期 Express ワークフローは、イベントへの応答、Step Functions のネストされたワークフロー、または StartExecutionAPI呼び出しを使用して開始できます。

  • 同期 Express ワークフローはワークフローを開始して、それが完了するまで待機してから、結果を返します。同期 Express ワークフローはマイクロサービスのオーケストレーションに使用できます。同期 Express ワークフローを使用すると、エラー処理、再試行、並列タスクの実行のための追加のコードを開発しなくても、アプリケーションを開発できます。Amazon API Gateway から呼び出された同期 Express ワークフローを実行できます。 AWS Lambda、または StartSyncExecutionAPI呼び出しを使用します。

    注記

    コンソールから Step Functions Express ワークフローを同期的に実行すると、StartSyncExecutionリクエストは 60 秒後に期限切れになります。Express ワークフローを最大 5 分間同期的に実行するには、 を使用してStartSyncExecutionリクエストを実行します。 AWS SDK または AWS Command Line Interface (AWS CLI Step Functions コンソールの代わりに )。

    同期 Express 実行API呼び出しは、既存のアカウントの容量制限には影響しません。Step Functions は、オンデマンドで容量を提供し、持続的なワークロードを使って、自動的に拡張します。容量が利用可能になるまで、ワークロードの急増をスロットリングできます。

Step Functions ワークフローでの実行保証

標準ワークフロー 非同期 Express ワークフロー 同期 Express ワークフロー
一度だけのワークフロー実行 t-least-once ワークフロー実行 t-most-once ワークフロー実行
実行状態は状態遷移の間も内部的に持続します。 実行状態は状態遷移の間は持続しません。 実行状態は状態遷移の間は持続しません。
現在実行中のワークフローと同じ名前で実行を開始すると、自動的にべき等性の応答が返されます。新しいワークフローは開始せず、現在実行中のワークフローが完了すると例外がスローされます。 べき等性は自動的には管理されません。同じ名前で複数のワークフローを開始すると、同時に実行されます。ステートマシンのロジックがべき等でないと、内部ワークフローの状態が失われる可能性があります。 べき等性は自動的には管理されません。Step Functions は実行が開始されると待機し、完了時にステートマシンの結果を返します。例外が発生しても、ワークフローは再開されません。

実行履歴データは 90 日後に削除されました。ワークフロー名は、 out-of-date 実行データを削除した後に再利用できます。

コンプライアンス、組織、または規制の要件を満たすために、クォータリクエストを送信することによって実行履歴の保持期間を 30 日に短縮できます。これを行うには、 を使用します。 AWS Support Center Console 新しいケースを作成します。

実行履歴は Step Functions ではキャプチャされません。ログ記録は Amazon CloudWatch Logs を通じて有効にする必要があります。 実行履歴は Step Functions ではキャプチャされません。ログ記録は Amazon CloudWatch Logs を通じて有効にする必要があります。