Step Functionsによるサーバーレスオーケストレーション設計 StandardとExpressの使い分け
SAPでは、複数のサービスをまたぐ長い処理をどう制御するかが問われます。Step Functionsは分岐、並列、リトライ、エラー処理を状態遷移として定義でき、StandardとExpressの選択が重要です。
覚え方:3つの観点
- 実行時間:長時間か短時間か
- 実行回数:低頻度か大量か
- 実行保証:厳密に1回か、再実行を許容するか
StandardとExpress
| 項目 | Standard | Express |
|---|---|---|
| 最大実行時間 | 最大1年 | 最大5分 |
| 実行保証 | ワークフローは正確に1回 | 非同期は少なくとも1回、同期は最大1回 |
| 課金 | 状態遷移の回数 | 実行回数と実行時間 |
| 向く用途 | 人の承認待ち、長いバッチ、注文処理 | IoTデータ取り込み、ストリーム処理など高頻度で短い処理 |
どんな要件のとき選ぶか
承認者のクリックを数日待つ経費精算には、コールバック(タスクトークン)が使えるStandardを選びます。毎秒数万件のイベントを数秒で加工するならExpressです。大量のS3オブジェクトを並列処理するならMap状態の分散モードが候補になります。
試験ポイント 「実行履歴を可視化して監査したい」「厳密に1回」はStandard、「高スループット・低コスト」はExpressと覚えます。
エラー処理の設計
RetryでバックオフとMaxAttemptsを指定し、Catchで失敗時の補償処理へ遷移させます。外部APIの一時障害にはRetry、回復不能な失敗にはCatchと、役割を分けるのがポイントです。
よくある誤り SQSとLambdaを自前で連結して状態管理を実装するより、状態管理が必要ならStep Functionsが運用負荷の面で優れます。
チェックリスト
- StandardとExpressの実行時間と保証の違いを言える
- 人手承認の待機にStandardを選べる
- RetryとCatchの役割を区別できる
- Map状態で並列処理が設計できる
まとめ
処理の長さ・量・保証の3軸でStandardかExpressかを決めましょう。 理解度はクイズで確認し、最新の出題範囲はAWS認定 公式ページで確認しましょう。
SAP(ソリューションアーキテクト プロフェッショナル) におすすめの教材
書籍
AWS認定資格試験テキスト&問題集 ソリューションアーキテクト − プロフェッショナル 改訂第2版
テキスト&問題集
AWS教科書 ソリューションアーキテクトプロフェッショナル テキスト&問題集[SAP-C02]
Udemy・講座
AWS認定SAP(SAP-C02)対策トレーニング
Udemy・模試
AWS認定SAP 本番模試(6回分/450問)
本セクションにはAmazonアソシエイト・Udemyアフィリエイトのリンクが含まれます。