Skip to content

Step Functionsとは?

Step Functionsは、分散アプリケーションのワークフローを視覚的にオーケストレーションするサーバーレスサービスです。

ステートマシン:
- ワークフロー定義
- JSON(ASL: Amazon States Language)
ステート:
- Task: Lambda、ECS等実行
- Choice: 条件分岐
- Parallel: 並列実行
- Wait: 待機
- Pass: パススルー
- Succeed/Fail: 終了
Standard:
- 最大実行時間: 1年
- 実行履歴: 90日保持
- Exactly-Once実行
- 料金: ステート遷移数
- 用途: 長時間ワークフロー
Express:
- 最大実行時間: 5分
- 実行履歴: CloudWatch Logs
- At-Least-Once実行
- 料金: 実行時間+メモリ
- 用途: 高スループット、短時間
コンピュート:
- Lambda
- ECS/Fargate
- Batch
- Glue
データベース:
- DynamoDB
- Athena
メッセージング:
- SNS
- SQS
- EventBridge
その他:
- SageMaker
- Step Functions(ネスト)
Retry:
- 自動リトライ
- 指数バックオフ
- 最大試行回数
Catch:
- エラーキャッチ
- フォールバック処理
- エラータイプ別対応
ワークフロータイプ料金モデル価格無料枠
Standardステート遷移$0.025 / 1,000遷移月4,000遷移
Express実行回数$1.00 / 100万リクエストなし
Expressメモリ使用量$0.0000166667 / GB秒なし

料金計算例(Standard、月間100万ステート遷移):

項目計算料金
ステート遷移(100万 - 4,000) / 1,000 × $0.025$24.90
合計-$24.90/月

料金計算例(Express、月間100万リクエスト、平均1秒実行、128MB):

項目計算料金
リクエスト(100万 / 100万) × $1.00$1.00
メモリ(128MB/1024) × 1秒 × 100万 × $0.0000166667$2.08
合計-$3.08/月

Standard vs Express 選択基準:

特徴StandardExpress
実行時間最大1年最大5分
実行履歴完全CloudWatch Logs
コスト低頻度に適高頻度に適
適用例バッチ処理リアルタイム処理

Step Functionsの重要ポイント:

  • ワークフローオーケストレーション
  • 視覚的な定義
  • Standard: 長時間、Express: 高スループット
  • エラーハンドリング、リトライ
  • Lambda、ECS等統合