AWS Step Functions の Standard ワークフローの料金の詳細

アプリケーションを実行するために必要となる状態遷移の数に基づいて請求されます。

Step Functions は、ワークフローのステップが実行されるたびに状態遷移をカウントします。 再試行など、すべての状態マシンのステート遷移の合計数に基づいて請求されます。

Step Functions の無料利用枠には、1 か月あたり 4,000 回の状態遷移が含まれます。料金はすべて日単位で計算され、月ごとに請求されます。

無料利用枠

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 関数の実行時間に対して課金されます。 Amazon 仮想プライベートクラウド (VPC) などのプライベートネットワークのエンドポイントを呼び出すために、Step Functions は AWS PrivateLink および Amazon VPC Lattice と統合されています。AWS PrivateLink と Amazon VPC Lattice を使用してプライベートエンドポイントを呼び出す場合、データ転送の料金は AWS PrivateLink および Amazon VPC Lattice の標準料金で請求されます。 AWS のサービスの料金詳細については、該当する AWS のサービスの詳細ページにある料金セクションを参照してください。よく使用されるサービスの料金表へのリンクを以下に示します。

データ転送

Amazon EC2 との外部データ転送

AWS Lambda 料金

リクエストと期間

Amazon EC2 料金

オンデマンド、専有、リザーブド、およびスポットインスタンス

Amazon ECS の料金

Fargate および EC2 Launch Types

Step Functions 料金の例

  • アプリケーションのワークフローは 4 つの状態遷移を持ち、グラフ上のノード数によって決まります。

    1. Start
    2. RAW ファイルのアップロード
    3. RAW ファイルの削除
    4. 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

  • この例で使用されるステートマシンは 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
  • ステートマシン定義のサイズ、実行 (ペイロード) データサイズ、および 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 MB

    CloudWatch メトリクスには、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 USD
    1 か月のリクエスト料金 = 1M 件のリクエスト × 1.00 USD = 1.00 USD

    月額期間料金

    料金は GB-秒あたり 0.00001667 USD
    100 万件のワークフロー 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
  • ステートマシン定義のサイズ、実行 (ペイロード) データサイズ、および 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 MB

    CloudWatch メトリクスには、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 USD
    0.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

  • マップ状態は、大規模なデータセットを繰り返し処理するために使用することができます。この例では、事前処理と事後処理のステップを含み、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 の使用を開始する

開始方法のページにアクセスする
始める準備はできましたか?
AWS Step Functions コンソールにサインイン
ご不明な点がありますか?
お問い合わせ