AWS Step Functions では、使用した分のみ料金が発生します。Step Functions には、Standard ワークフローと Express ワークフローの 2 種類のワークフローがあります。 どちらがワークフローの要件に合っているかを理解するには、標準ワークフローとExpress ワークフローを参照してください。
AWS Step Functions の Standard ワークフローの料金の詳細
アプリケーションを実行するために必要となる状態遷移の数に基づいて請求されます。
Step Functions は、ワークフローのステップが実行されるたびに状態遷移をカウントします。 再試行など、すべての状態マシンのステート遷移の合計数に基づいて請求されます。
Step Functions の無料利用枠には、1 か月あたり 4,000 回の状態遷移が含まれます。料金はすべて日単位で計算され、月ごとに請求されます。
Step Functions の無料利用枠は、12 か月間の AWS 無料利用枠の期間が終了しても自動的に期限切れになることはありません。既存および新規の AWS のお客様は、無期限で利用できます。
AWS Step Functions を使用する場合、各月に使用した状態遷移回数に対して料金が発生します。無料利用枠を超えると、状態遷移に対する料金が発生します。詳細については、状態遷移料金表を参照してください。_
ワークフローのステップに再試行エラー処理が含まれる場合は、各再試行は追加の状態遷移として料金が請求されます。
AWS Step Functions 標準ワークフローの状態遷移料金
AWS Step Functions の Express ワークフローの料金の詳細
Step Functions Express Workflows では、使用した分のみ料金が発生します。ワークフローのリクエスト数と期間に基づいて課金されます。
Step Functions の Express ワークロードでは、ワークフローの実行を開始するたびにリクエスト数をカウントし、すべてのワークフローを対象としたリクエストの総数に対して課金されます。これには、コンソールからのテストも含まれます。
期間は、ワークフローの実行が開始されてから完了するか終了するまでの時間 (100 ミリ秒単位で切り上げ)、およびワークフローの実行に使用されるメモリ量 (64 MB 単位) から計算されます。
メモリ消費はワークフロー定義のサイズ、Map または Parallel 状態の使用、実行 (ペイロード) データサイズに基づいています。料金の例 3 および 4 は、メモリ使用率の推定例を示しています。
追加料金
アプリケーションワークフローのオペレーションで AWS の他のサービスを利用した場合やデータを転送した場合は、追加料金が発生する可能性があります。例えば、アプリケーションワークフローで AWS Lambda 関数を呼び出す場合は、リクエストの回数と各 Lambda 関数の実行時間に対して課金されます。AWS サービス料金の詳細については、該当する AWS サービスの詳細ページにある料金セクションを参照してください。よく使用されるサービスの料金表へのリンクを以下に示します。
Amazon EC2 との外部データ転送
リクエストと期間
オンデマンド、専有、リザーブド、およびスポットインスタンス
Fargate および EC2 Launch Types
Step Functions 料金の例
-
例 1
シーケンシャルステップを含む AWS Step Functions 標準アプリケーションのワークフローアプリケーションのワークフローは 4 つの状態遷移を持ち、グラフ上のノード数によって決まります。
- Start
- RAW ファイルのアップロード
- RAW ファイルの削除
- End
米国東部 (バージニア北部) の状態遷移あたりの料金は 0.000025 USD で、無料利用枠には 1 か月あたり 4,000 回の状態遷移が含まれます。1 か月間にこの状態機械を 10 万回実行し、エラーによる再試行がなかった場合の料金は以下のとおりです。
ワークフローの状態遷移 * ワークフローの実行 = 状態遷移の合計
4 x 100,000 = 400,000
状態遷移の合計 – 無料利用枠の状態遷移 = 請求対象の状態遷移
400,000 - 4,000 = 396,000
月額料金 = 396,000 x 0.000025 USD = 9.90 USD
- Start
-
例 2
分岐条件をもつ AWS Step Functions 標準アプリケーションのワークフローこの例で使用されるステートマシンは GitHub にあります。
分岐条件があるアプリケーションワークフローには複数のパスがあります。この例では、各ステップをつなぐ矢印が 10 個あります。「Start」から「End」までのハッピーパスは、グラフ上のノード数によって決まる 9 回の状態遷移を経由します。「Start」から「NotSupportedImageType」までのパスでは 3 回、または 4 回の状態遷移が起こります。いずれかの状態に再試行のエラー処理が設定されている場合は、その追加の状態遷移に対しても課金されることがあります。
米国東部 (バージニア北部) の状態遷移あたりの料金は 0.000025 USD で、無料利用枠には 1 か月あたり 4,000 回の状態遷移が含まれます。このアプリケーションのワークフローを 1 か月間に 10 万回実行し、ハッピーパスが毎回成功した場合は、エラーによる再試行なしに、次の料金を支払うことになります。
実行あたりの状態遷移 * ワークフローの実行 = 状態遷移の合計
9 x 100,000 = 900,000
状態遷移の合計 – 無料利用枠の状態遷移 = 請求対象の状態遷移
900,000 - 4,000 = 896,000
月額料金 = 896,000 x 0.000025 USD = 22.40 USD
この例では、5 つの AWS Lambda 関数の合計コストは 97.62 USD になります。4.7 MB の JPEG 画像を処理するハッピーパスの実行に成功すると、Lambda 関数のサイズと時間は次のようになります。
関数 メモリ (MB) 時間 (ミリ秒) ExtractImageMetadata 1,024 3,200 TransformMetadata 256 100 Rekognition 256 1,200 Thumbnail 1,536 1,500 StoreImageMetadata 256 300 -
例 3
AWS Step Functions Express ワークフローステートマシン定義のサイズ、実行 (ペイロード) データサイズ、および Map または Parallel ステップの使用に基づいて、AWS Step Functions Express ワークフローのメモリ使用率を推定できます。
使用されるワークフローメモリ = 50 MB +ステートマシン定義サイズ + 実行データサイズ x Parallel または Map ステップの数
例:
10 KB のステートマシン定義サイズのワークフローがあり、Parallel または Map ステップがない場合:
使用されるワークフローメモリ = 50 MB + 10 KB使用されるワークフローメモリ = 50.01 MB請求されるメモリ (64 MB チャンク単位) = 64 MBCloudWatch メトリクスには、ExpressExecutionMemory の下のメモリ消費量と ExpressExecutionBilledMemory の下の請求済みメモリの詳細が含まれます。 AWS Step Functions Console の [Monitoring] タブの [StepFunctions]> [State Machines]> [State Machine Name]で、ワークフローごとに[Executions Started]、[Execution Duration]、[Billed Duration]、[BilledMemory]などの指標を表示できます。
1 か月に 100 万件のワークフローを実行し、ワークフローの平均期間が 30 秒の場合:
1 か月のリクエスト料金
料金は 100 万回あたり 1.00 USD1 か月のリクエスト料金 = 1M 件のリクエスト × 1.00 USD = 1.00 USD月額期間料金
料金は GB-秒あたり 0.00001667 USD100 万件のワークフロー x 30 秒 = 30,000,000 秒30,000,000 x 64 MB (請求メモリ) /1024 MB = 1,875,000 GB-秒毎月の時間料金 = 1,875,000 GB-秒 x 0.00001667 USD = 31.26 USD合計月額料金
合計月額料金 = リクエスト料金 + 時間料金合計月額料金 = 1.00 USD + 31.26 USD = 32.26 USD
-
例 4
AWS Step Functions Express ワークフローステートマシン定義のサイズ、実行 (ペイロード) データサイズ、および Map または Parallel ステップの使用に基づいて、AWS Step Functions Express ワークフローのメモリ使用率を推定できます。
使用されるワークフローメモリ = 50 MB +ステートマシン定義サイズ + 実行データサイズ x Parallel または Map ステップの数
50 KB のステートマシン定義サイズのワークフローがあり、400 個の Map ステップと 1 ステップ当たり 32KB のペイロードがある場合:
使用されるワークフローメモリ = 50 MB + 50 KB + (32 KB x 400 ステップ)
使用されるワークフローメモリ = 50 MB + 50 KB + 12,800 KB
使用されるワークフローメモリ = 62.85 MB
請求されるメモリ (64 MB チャンク単位) = 64 MBCloudWatch メトリクスには、ExpressExecutionMemory の下のメモリ消費量と ExpressExecutionBilledMemory の下の請求済みメモリの詳細が含まれます。 AWS Step Functions Console の [Monitoring] タブの [StepFunctions]> [State Machines]> [State Machine Name]で、ワークフローごとに[Executions Started]、[Execution Duration]、[Billed Duration]、[BilledMemory]などの指標を表示できます。
1 か月に 1 億件のワークフローを実行し、ワークフローの平均期間が 10 秒の場合:
1 か月のリクエスト料金
料金は 100 万回あたり 1.00 USD
1 か月のリクエスト料金 = 100M 件のリクエスト × 1.00 USD = 100.00 USD月額期間料金
1 億件のワークフロー x 10 秒 = 1,000,000,000 秒
1,000,000,000 x 64 MB (請求メモリ) /1024 MB = 62,500,000 GB-秒
62,500,000 GB-秒 / 60 / 60 = 17,361.11 GB-時間
0.06000 USD/GB-時間 x 1,000 GB-時間 = 60.00 USD
0.03000 USD/GB-時間 x 4,000 GB-時間 = 120.00 USD0.01642 USD/GB-時間 x 12,361.11 GB-時間 = 202.97 USD
月額期間料金 = 60.00 USD + 120.00 USD + 202.97 USD = 382.97合計月額料金
合計月額料金 = リクエスト料金 + 時間料金
合計月額料金 = 100.00 USD + 382.97 USD= 482.97 USD
-
例 5
AWS Step Functions マップ状態マップ状態は、大規模なデータセットを繰り返し処理するために使用することができます。この例では、事前処理と事後処理のステップを含み、Amazon Simple Storage Service(S3)バケットから 1 M のオブジェクトを繰り返し処理します。
マップ状態には 2 つのモードがあります: インラインおよび分散この例では、高い並行性を実現するために分散モードでマップ状態を使用し、分散 Map は 1 回の反復で 1 つの状態遷移をコストとしています。また、分散マップの状態では、データ処理ワークフローの実行形式を指定することができます。この例では、Express 実行タイプが使用されています。分散マップ内の Express ワークフローは、64MB 以下のメモリを使用し、平均実行時間は 30 秒である。
このワークフローの 1 回の実行には、1,000,005 回の状態遷移、1,000,000 回の Express リクエスト、520.33GB - 時間が含まれています。
- 1 実行状態遷移開始
- 1 プリプロセスの状態遷移に入る
- 1 地図の状態遷移に入る
- 1,000,000 スタートマップの反復処理状態遷移
- 1,000,000 エクスプレスリクエスト
- 520.83 GB-時間 エクスプレス期間
-
- 100 万回の反復計算 × 30 秒の継続時間= 30,000,000 秒
- 30,000,000 x 64 MB (請求メモリ) /1024 MB = 1,875,000 GB-秒
- 1,875,000 GB-秒 / 60 / 60 = 520.83 GB-時間
- 1 後処理の状態遷移に入る
- 1 終了実行状態遷移
状態遷移料金
米国東部 (バージニア北部) の状態遷移1回あたりの価格は 0.000025 USD です。無料利用枠分では、月間 4,000 回の状態遷移を無料で提供します。
状態遷移の合計 – 無料利用枠の状態遷移 = 請求対象の状態遷移
1,000,005 - 4000 = 996,005
状態遷移の料金 = 996,005 × 0.000025 USD = 24.90 USD
エクスプレスリクエスト料金
米国東部 (バージニア北部) の100 万リクエストあたりの価格は 1.00USD です
リクエスト課金= 1M リクエスト × 1.00USD = 1.00USDエクスプレス期間料金
米国東部 (バージニア北部) の最初の 1000GB-時間の価格は 0.0600 USD です。継続課金=520.83GB-時間 × 0.0600USD = 31.25USD
合計料金
合計料金 = 24.90 USD + 1.00 USD + 31.25 USD = 57.15 USD
AWS Step Functions の使用を開始する