Step Functionsとは?
AWS Step Functions とは?
Section titled “AWS Step Functions とは?”Step Functionsは、分散アプリケーションのワークフローを視覚的にオーケストレーションするサーバーレスサービスです。
ステートマシン: - ワークフロー定義 - JSON(ASL: Amazon States Language)
ステート: - Task: Lambda、ECS等実行 - Choice: 条件分岐 - Parallel: 並列実行 - Wait: 待機 - Pass: パススルー - Succeed/Fail: 終了ワークフロータイプ
Section titled “ワークフロータイプ”Standard: - 最大実行時間: 1年 - 実行履歴: 90日保持 - Exactly-Once実行 - 料金: ステート遷移数 - 用途: 長時間ワークフロー
Express: - 最大実行時間: 5分 - 実行履歴: CloudWatch Logs - At-Least-Once実行 - 料金: 実行時間+メモリ - 用途: 高スループット、短時間統合サービス
Section titled “統合サービス”コンピュート: - Lambda - ECS/Fargate - Batch - Glue
データベース: - DynamoDB - Athena
メッセージング: - SNS - SQS - EventBridge
その他: - SageMaker - Step Functions(ネスト)エラーハンドリング
Section titled “エラーハンドリング”Retry: - 自動リトライ - 指数バックオフ - 最大試行回数
Catch: - エラーキャッチ - フォールバック処理 - エラータイプ別対応ワークフロータイプ別料金
Section titled “ワークフロータイプ別料金”| ワークフロータイプ | 料金モデル | 価格 | 無料枠 |
|---|---|---|---|
| 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 選択基準:
| 特徴 | Standard | Express |
|---|---|---|
| 実行時間 | 最大1年 | 最大5分 |
| 実行履歴 | 完全 | CloudWatch Logs |
| コスト | 低頻度に適 | 高頻度に適 |
| 適用例 | バッチ処理 | リアルタイム処理 |
Step Functionsの重要ポイント:
- ワークフローオーケストレーション
- 視覚的な定義
- Standard: 長時間、Express: 高スループット
- エラーハンドリング、リトライ
- Lambda、ECS等統合