業務自動化・iPaaS・RPA

AWS Step Functionsとは|同時に動かす数を4から8にしても、終了は1分も早まらなかった

何を書く仕組みなのか並列はどこまで効くのか1回だけ動く保証はあるのか

処理60個の図を、同時に動かす数を変えて回しました。1個から4個で891分が275分になります。

そこから8個に倍増しても275分のままでした。依存をたどった最長の道のりが下限になります。

この記事の要点

  • 4個までは効く
  • 8個以降は0分
  • 標準はちょうど1回
  • 高速は1回以上

手順を状態の並びとして書く

処理そのものは他へ任せ、順番と分岐とやり直しだけを書きます。

AWS Step Functionsに書くのは、状態の並びです。公式はStep Functionsでは、状態機械は手順と呼ばれ、それは出来事に駆動される一連の段からなると定めています。

各段は他のサービスへの依頼になります。公式も作業の状態は、別のサービスが行う作業の単位を表すと説明しています。

書けること

  1. 順番。どの段のあとにどの段が動くか
  2. 分岐。入力の値によって進む先を変える
  3. やり直しと捕捉。失敗したときの扱いを書く
  4. 並列と繰り返し。同時に動かす段や、集合の各要素への適用

4番目が、次の節で測る部分です。同時に動かす形が書けるので、どこまで効くかが問題になります。

書かないこと

処理の中身は書きません。各段が何をするかは、呼ばれる側にあります

だから手順の側で見えるのは、依存関係と失敗の扱いだけです。中身の遅さは、段の所要としてしか現れません。

出典AWS ドキュメント「What is Step Functions?」2026-08-18 確認
In Step Functions, state machines are called workflows, which are a series of event-driven steps.
原文AWS ドキュメント「What is Step Functions?」 この内容の有効期限2027-02-18

同時に動かす数を4から8にしても、終了は1分も早まらなかった

並列に書けても、依存をたどった最長の道のりより短くはなりません。

AWS Step Functionsの標準の手順は、長く走らせられます。公式は標準の手順は、ちょうど1回だけ実行され、最大1年まで走らせられると述べています。

長い手順ほど、同時に動かす数が効きそうに見えます。実際にどこまで効くかを数えました。

同時に動かす数を変える

処理60個の依存の図を作りました。依存が終わった処理から、空いている担当に割り当てます

text
処理 60個。合計の作業時間 891分、依存をたどった最長の道のり 275分
依存が終わった処理から、空いている担当に割り当てる

同時に動かす数  全体の終了まで  1担当あたりの稼働率  1つ前からの短縮
1個                        891分               100.0%                 —
2個                        455分                97.8%              436分
4個                        275分                81.0%              180分
8個                        275分                40.5%                0分
16個                       275分                20.3%                0分
32個                       275分                10.1%                0分

4個までは倍にした分が返ってきます。1個から2個で436分、2個から4個で180分縮みました。

4個から8個は0分です。稼働率だけが81.0%から40.5%へ落ちます。

止まる位置は先に計算できる

275分は依存をたどった最長の道のりです。この道の上の段は、どうやっても順番に動きます。

つまり並列に書く前に、その値を計算しておけます。合計891分を275分で割ると3.2で、効くのは4個あたりまでと分かります。

同じ形の測り方はApache Airflowの記事でも扱いました。手順を書く道具が違っても、下限は同じ式で決まります。

縮むのは4個まで。そこから先は動かない。

単位: 分8911個ずつ-4362個にする-1804個にする08個以上275最長の道のり処理60個・合計891分の図で実測。8個・16個・32個はいずれも275分だった。
図1 ── 同時に動かす数を増やしたときの短縮
出典AWS ドキュメント「What is Step Functions?」2026-08-18 確認
Standard workflows have exactly-once workflow execution and can run for up to one year.
原文AWS ドキュメント「What is Step Functions?」 この内容の有効期限2027-02-18

やり直しなしでは、60個を通せた日が30.4%しかなかった

段が多いほど、全部通る確率は下がります。やり直しは1回でほぼ足ります。

AWS Step Functionsには2つの種類があり、実行の保証が違います。公式は高速の手順は、少なくとも1回は実行され、最大5分まで走らせられると述べています。

「少なくとも1回」なので、同じ段が複数回動きうることになります。書く側は、それでも壊れない形にする必要があります。

一方、失敗した段をやり直す設定はどちらにもあります。その効き方を数えました。

やり直しの回数を変える

同じ60個の図で、1回あたり2%の確率で一時的に失敗するとしました。

text
処理 60個。1回あたり 2%の確率で一時的に失敗する
やり直す前に 5分待つ。全部成功しなければ、その日の結果は出ない

やり直しの回数  最後まで通った割合  やり直した回数(平均)  遅れ(平均)
0回                          30.4%                   0.00回          0.0分
1回                          97.7%                   1.19回         23.9分
2回                          99.9%                   1.23回         24.4分
3回                         100.0%                   1.24回         24.1分

やり直しなしでは30.4%です。7割の日は、どこかで止まります。

1回入れると97.7%になります。増えた手間は平均1.19回のやり直しと23.9分の遅れでした。

2回目以降はほとんど効かない

2回にすると99.9%、3回で100.0%です。伸びしろは2.2ポイントしかありません。

やり直した回数も1.19回から1.24回までしか増えません。2回目を使う日がほとんどないためです。

同じ失敗が2回続くのは0.04%です。2回落ちたら一時的な失敗ではないと考えて、捕捉の側へ回すほうが早い場面もあります。

余談 この計測での注意

失敗は段ごとに独立として置きました。実際には上流が落ちれば下流もまとめて落ちるので、独立ではありません。2%という失敗率も置いた値です。依存の図も式で作ったもので、実際の手順ではもっと直列に寄ることがあります。ここで見せているのは、並列の効き目が最長の道のりで止まること、やり直しは1回でほぼ足りることの2つです。どちらも自分の手順の依存を書き出せば計算できます。

出典AWS ドキュメント「What is Step Functions?」2026-08-18 確認
Express workflows have at-least-once workflow execution and can run for up to five minutes.
原文AWS ドキュメント「What is Step Functions?」 この内容の有効期限2027-02-18

よくある質問

Step Functionsには何を書きますか
状態の並びです。状態機械は手順と呼ばれ、出来事に駆動される一連の段からなります。
並列はどこまで効きますか
依存をたどった最長の道のりまでです。この計測では4個を超えると短縮が0分になりました。
1回だけ動く保証はありますか
種類によります。標準の手順は各段がちょうど1回、高速の手順は1回以上動きます。
やり直しはどれだけ効きますか
1回入れるだけで、通った割合が30.4%から97.7%になりました。

まとめ

  • 状態の並びとして書く
  • 並列は途中で効かなくなる
  • 下限は最長の道のり
  • 1回だけかは種類で決まる

今日から始められること

  1. 手順の依存関係を書き出す
  2. 最長の道のりを計算する
  3. 同時実行数がその手前で足りているか見る
  4. 1回だけ動く必要があるか確かめる

実務で組んだAWS Step Functionsのワークフローには、値段が付きます

同じ課題を持つ会社にとって、動いている設定は「作る時間」を買えるということです。ServiceDockは自作のワークフローやテンプレートを出品できるマーケットプレイスです。手数料や出品の流れは出品者向けページにまとまっています。

出品の仕組みを見る