AWS Step Functionsは、LambdaやECS、Glueなどを順番に呼び出すワークフローを、コードを増やしすぎずに組み立てられるサービスです。料金は「ワークフローを作ったか」ではなく、Standardなら状態遷移、Expressなら実行回数・実行時間・メモリ使用量で決まります。見た目は似ていても、課金の物差しが違う。この差を見落とすと、低単価のつもりで選んだ構成が、運用開始後に逆転します。
結論から言えば、注文処理や承認など履歴を残しながら長く動かすならStandard、大量の短時間イベントを冪等に処理するならExpressが候補です。どちらも無料枠はありますが、Step Functionsから呼び出すAWSサービスの料金は別に発生します。以下は2026年8月25日にAWS公式料金ページを確認した整理です。
Standardは1状態遷移あたり米国東部(バージニア北部)の例で0.000025ドル、月4,000状態遷移が無料です。Expressは100万リクエストあたり1ドルに加え、実行時間と64MB単位のメモリを計算します。リージョンや契約条件で変わるため、最終見積もりはAWS Pricing Calculatorで確認してください。
StandardとExpressの料金を比較
| 項目 | Standard Workflows | Express Workflows |
|---|---|---|
| 主な課金単位 | 状態遷移数 | 実行リクエスト数、実行時間、メモリ |
| 公式料金例 | 0.000025ドル/状態遷移 | 1ドル/100万リクエスト、0.00001667ドル/GB秒 |
| 無料枠 | 4,000状態遷移/月 | AWSアカウントの無料枠・クレジット条件を確認 |
| 実行時間の目安 | 最長1年の長時間処理に対応 | 1実行は最長5分 |
| 実行保証 | 標準ではExactly-once、リトライ設定は別遷移 | At-least-once。重複実行に耐える設計が必要 |
Standardの「状態遷移」は、ステートマシン上のステップが完了するたびに数えられます。Retryを設定した場合、再実行も追加の遷移です。Expressは一見安く見えますが、定義のサイズ、入力データ、MapやParallelの数がメモリ使用量を押し上げるため、リクエスト数だけで判断できません。
Standardの月額を計算する
たとえば、1回の注文処理が「受付、在庫確認、決済、通知、終了」など8遷移で、月10万回実行されるとします。状態遷移は8×100,000=800,000です。無料4,000を引くと796,000。公式の0.000025ドルを掛けると、Step Functions部分は19.90ドル/月になります。決済を呼ぶLambda、注文を保存するDynamoDB、監視のCloudWatchは別計算です。
ここでリトライを3回許容すると、失敗した処理だけでなく追加遷移が発生します。失敗率を1%、失敗1件あたり追加4遷移と仮定すれば、100,000×1%×4=4,000遷移が上乗せされ、追加は0.10ドルです。ただし料金以上に、決済の二重実行を避ける冪等キーや、失敗後の補償処理が重要になります。課金表だけで設計を終えないでください。
Expressの月額を計算する
月100万回、平均30秒、実行メモリが64MBのExpressを考えます。リクエスト料金は100万×1ドル=1ドルです。メモリは64MB単位なので、30秒×100万回×64MB÷1024=1,875,000GB秒。0.00001667ドルを掛けると約31.26ドル、合計は約32.26ドル/月です。実際のメモリはステートマシン定義、ペイロード、ParallelやMapの構造で変わります。
Expressの5分制限に収まらないETLや人手承認はStandardが向いています。反対に、IoTイベントや画像変換のように大量で短時間、同じ入力を二度処理しても結果が壊れない処理はExpressを検討できます。Expressの実行履歴はStandardと同じ扱いではないため、詳細ログをCloudWatch Logsへ送る場合はログ料金も忘れないようにします。
周辺サービスを含めた見積もり方
Step Functionsはオーケストレーターです。ワークフロー単体が安くても、次のサービスが請求を作ります。
- Lambda:リクエスト数と実行時間。AWS Lambdaの料金と無料枠で実行時間を分けて確認します。
- ECSやFargate:タスクのvCPU・メモリ・稼働時間。Amazon ECS料金比較も参照してください。
- S3・DynamoDB:保存、リクエスト、転送。大量の入力をステートに詰めず、オブジェクトの場所を渡す設計が安全です。
- CloudWatch:Expressのログ、メトリクス、アラーム。ログ出力を増やすほど監視費用も増えます。
見積もりは「1回の実行で何ステップか」「リトライは何回か」「入力のサイズ」「同時実行数」「呼び出し先の稼働時間」の順に分けると、後から検算できます。AWSのPricing Calculatorにサービスごとに入力し、税・データ転送・サポートプランの扱いも確認してください。
契約・停止・削除で注意すること
Step Functionsは長期契約を前提にした定額プランではなく、基本は従量課金です。ステートマシンを削除しても、S3に保存した入力、CloudWatch Logs、呼び出し先のリソースは自動で片付かないことがあります。検証環境はスケジュールで停止し、不要なログや実行履歴の保持期間を決めておくと、請求と情報管理の両方を整理できます。StandardとExpressのワークフロー種別は作成後に変更できないため、最初に業務の再実行性と履歴要件を決めます。
データ保護と権限の確認
Step Functionsの入力・出力に個人情報やAPIキーを直接入れると、実行履歴やログの保存先まで検討が必要になります。実際の秘密情報はAWS Secrets Managerの料金とローテーションで扱い、ステートにはARNや参照キーだけを渡す設計が無難です。IAMロールは呼び出すサービスごとに最小権限にし、CloudTrailで変更履歴を残します。暗号化やリージョン選択は、料金より先に契約・規制要件を確認してください。
よくある質問
無料枠だけで本番運用できますか?
小規模なら範囲内に収まる可能性はありますが、無料枠の対象、アカウントのクレジット、呼び出し先の料金は別です。無料を前提にせず、実測値で予算アラートを設定します。
StandardとExpressは途中で切り替えられますか?
作成したステートマシンの種類は変更できません。ASL定義、冪等性、履歴の要件を確認し、別ステートマシンとして検証してから切り替えます。
日本円でいくらですか?
AWSの請求通貨と為替、リージョンで変わります。この記事の米ドルは比較用の目安であり、契約や予算申請には請求アカウントの実際の価格を使ってください。
Step Functionsの料金は、状態遷移を減らすことだけが正解ではありません。見積もりの最初に「失敗時に何を再実行してよいか」を決め、その結果に合わせてStandardとExpressを選ぶと、料金と運用品質の両方を説明しやすくなります。
参照:AWS Step Functions Pricing、AWS公式ワークフロー種別ガイド(2026年8月25日確認)。価格は米国東部(バージニア北部)の例を含み、リージョン・税・周辺サービスで変動します。

