翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
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 ワークフローの例をデプロイするには、「」の「並列状態
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 ワークフローはジョブ実行 ( |
分散マップ | サポート | サポートされていません |
アクティビティ | サポート | サポートされていません |
ワークフロータイプの最適化
大規模なデータ処理ワークショップでは、タイプ別の比較についてはワークフロータイプの選択 (ワークショップ)
Step Functions での同期および非同期 Express ワークフロー
選択できる Express ワークフローには、非同期 Express ワークフローと同期 Express ワークフローの 2 種類があります。
-
非同期 Express ワークフローは、ワークフローが開始されたことの確認を返しますが、ワークフローの完了を待機しません。結果を取得するには、サービスのCloudWatch ログ をポーリングする必要があります。非同期 Express ワークフローは、メッセージングサービスや、他のサービスが依存しないデータ処理など、即時のレスポンス出力が必要ではない場合に使用できます。非同期 Express ワークフローは、イベントへの応答、Step Functions のネストされたワークフロー、または
StartExecution
API呼び出しを使用して開始できます。 -
同期 Express ワークフローはワークフローを開始して、それが完了するまで待機してから、結果を返します。同期 Express ワークフローはマイクロサービスのオーケストレーションに使用できます。同期 Express ワークフローを使用すると、エラー処理、再試行、並列タスクの実行のための追加のコードを開発しなくても、アプリケーションを開発できます。Amazon API Gateway から呼び出された同期 Express ワークフローを実行できます。 AWS Lambda、または
StartSyncExecution
API呼び出しを使用します。注記
コンソールから 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 を通じて有効にする必要があります。 |