
Step Functions は、可視化された State Machine(ステートマシン) によって、分散処理や複数のAWSサービスをオーケストレーションするサーバーレスワークフローサービスです。
各 State(ステート) はワークフロー内の処理単位であり、Definition(定義) は AWS States Language(ASL) というJSONベースの言語で記述します。実行ごとに生成される Execution(実行) では、各ステップの進行状況やエラーを可視的に追跡できます。
ワークフローでは、Task ステートで Lambda、ECS、EKS、Batch、Glue、SageMaker などのサービスを呼び出し、実際の処理を行います。Pass ステートでデータをそのまま渡したり、Choice ステートで条件分岐を定義したり、Parallel ステートで並列処理を行うことができます。Map ステートを使えば、配列データに対して繰り返し処理を実行でき、Wait ステートで待機時間を制御したり、Succeed/Fail ステートでワークフローを明示的に終了させることもできます。エラー処理 機能ではRetry(再試行)やCatch(例外捕捉)の動作を細かく設定でき、堅牢なフロー制御を実現します。
ワークフロータイプには、長時間実行や履歴保持に適した Standard Workflow(標準ワークフロー) と、高頻度・短時間処理向けの Express Workflow(エクスプレスワークフロー) の2種類があります。
Step Functions は、SNS/SQS、EventBridge、API Gateway、DynamoDB などともシームレスに統合されており、イベント駆動型やマイクロサービス連携型のシステム構築にも最適です。
サーバーレスETL処理、長時間ジョブの実行、業務フローの自動化などを安全かつ効率的に実現できます。
重要用語
ユースケース
- リスト1
 - リスト2
 - リスト3
 
ベストプラクティス
- リスト1
 - リスト2
 - リスト3
 
高可用性・冗長化
- リスト1
 - リスト2
 - リスト3
 
セキュリティ
- リスト1
 - リスト2
 - リスト3
 
運用・監視
- リスト1
 - リスト2
 - リスト3
 
デフォルトのリミット値
| リミット事項 | 上限数 | 
|---|---|
| 項目1 | 上限1 | 
| 項目2 | 上限2 | 
| 項目3 | 上限3 | 
| 項目4 | 上限4 | 
| 項目5 | 上限5 | 
AWS CLIのサンプルコード
vpc を作成
#include <stdio.h>
void main(void) {
  int i;
  for (i=0; i<10; i++)
    printf("%d\n", i);
vpc を作成
aaaaaaaaaaaaa
bbbbbbbbbbbbb
ccccccccccccc
Terraformのサンプルコード
vpc を作成
bbbbbbbbbbbbbbbbbbbbbbb
ddddddddddddddddddddddd
vpc を作成
xxxxxxxxxxxxxxxxxxxxxxx
yyyyyyyyyyyyyyyyyyyyyy
課金モデル
| 項目 | 内容 | 
|---|---|
| 項目1 | 内容1 | 
| 項目2 | 内容2 | 
| 項目3 | 内容3 | 
| 項目4 | 内容4 | 
| 項目5 | 内容5 |