AWS Step Functionsとは?
AWSのフルマネージドなサービスマシンです。サーバレスに特化したオーケストレーション(管理)サービス。
メリット
複数のサービスが、各ステップでどういった処理を行っているのかを可視化したり管理を容易にすることでサーバレスアーキテクチャにありがちな全体像が見えにくい状態を解決してくれます。
特徴
弾力のあるワークフローオートメーション
組み込みのエラーハンドリング
AWSサービスとの強力な統合
AWSを個別に呼び出すよりもワークフロー内での処理の一環として実行できます。
独自のサービスと統合サポート
例えば、EC2で動かしている独自サービスがあった場合に定期的にStep Functionsのステートマシンにポーリングする形です。アクティブになっていたら外部サービスが処理を実行して実行が終わったらタスクに伝えることでワークフローが次に進みます。
実行履歴の監査とビジュアルモニタリング
Step Functionsのユースケース
同期ワークフロー
長時間実行されるワークフロー
この場合は、LambdaではなくFargateを使う。
リアルタイムなワークフロー
具体的には、IoTデータの取り込みや、ストリーミングデータ処理など。
Step Functionsで組み合わせれる処理
下記の6つの処理を組み合わせることが可能です。
1.機能オーケストレーション
順次処理を実行していくワークフローです。
2.分岐
3.エラー処理
エラーが発生した場合のリトライ処理、例外処理
4.ループの中の人間
ループの中に人間判断を含めることができる。
5.並列処理
複数の処理が完了するのを待ち合わせて次の処理に進むということが可能です。
6.動的並列処理
渡されたパラメータの配列の内容によって動的に配列分の処理を行います。
JSONで定義する。
Amazon States Languageという言語で定義します。定義した内容はコンソール上で視覚化して確認することも可能です。
実行結果
モニタリングすることができます。
ワークフローの種類
標準ワークフロー | Expressワークフロー | |
---|---|---|
最大期間 | 1年 | 5分 |
実行開始レート | 2000/秒以上 | 10000/秒以上 |
状態遷移レート | 1アカウントあたり4000/秒以上 | ほぼ無制限 |
料金 | 状態遷移ごと。状態遷移は実行ステップが完了するごとにカウント | 実行回数、実行時間、及びメモリ消費量 |
実行セマンティクス | Exactly-once | At-least-once |
この記事へのコメントはありません。