変更要約: in-scopeサービス網羅(軸B): s2(EventBridge)にKinesis Data Streamsのストリーミング定義・役割・SQS/SNS/Firehoseとの選択基準を追記。
2.3Step Functions でワークフローを編成
AWS Step Functions のステートマシンによる複数ステップの編成(順次・分岐・並列)、リトライとエラー処理、Lambda 等のサービス連携といったワークフロー設計を理解します。
複数の処理を順番・条件分岐・並列・リトライ付きでまとめて制御したいときは AWS Step Functions を使います。ステートマシンとして可視化・管理できます。
2.3.1ステートマシン
- ステートマシン:処理(ステート)を順次・分岐(Choice)・並列(Parallel)・待機(Wait)・マップ(Map)でつなぐ。
- リトライ/キャッチ:失敗時の再試行やエラー処理(フォールバック)を宣言的に定義できる。
- サービス連携:Lambda・SQS・SNS・DynamoDB など 200+ をコードを書かずに呼び出せる。
- 標準/エクスプレス:標準=長時間・監査・最大1年。エクスプレス=高頻度・短時間・大量。
複数の処理を「順番・条件分岐・並列・待機・リトライ付き」で確実に進めたいとき、各 Lambda にその制御を書き込むと複雑で壊れやすくなります。Step Functions は処理の流れをステートマシンとして宣言的に定義し、可視化・監視できます。失敗時のリトライやキャッチ(フォールバック)、分岐(Choice)、並列(Parallel)、繰り返し(Map)を設定でき、200 以上の AWS サービスを糊コードなしで呼べます。判断軸はシンプル:単純な非同期1ステップは Lambda 単体、複数ステップの状態遷移・エラー制御・長時間フローは Step Functions。タイプは、監査や長時間なら標準、高頻度・短時間で大量ならエクスプレスを選びます。
| 要件 | 選択 |
|---|---|
| 単純な非同期1ステップ | Lambda 単体 |
| 複数ステップ・分岐・リトライ | Step Functions |
| 長時間・監査が必要 | 標準ワークフロー |
| 高頻度・短時間・大量 | エクスプレスワークフロー |
シナリオ:注文処理フロー。 「在庫確認→課金→(成功なら)出荷指示/(失敗なら)返金とエラー通知」を Step Functions のステートマシンで定義。各処理は Lambda、分岐は Choice、課金失敗時は Catch で返金ステートへフォールバック、一時エラーは Retry。可視化で進行状況を追える。単純な1ステップ通知だけなら Step Functions は過剰で、Lambda 単体で十分です。
混同に注意:
①単純な1ステップ=Lambda 単体/複雑な編成=Step Functions(過剰設計を避ける)。
②標準(長時間・監査・最大1年)とエクスプレス(高頻度・短時間)を取り違えない。
③Step Functions はオーケストレーション(編成)で、イベントのルーティングは EventBridge と役割が別。
Q. いつ Step Functions を使う? 複数ステップを分岐・並列・リトライ付きで確実に編成したいとき。単純な1ステップは Lambda 単体。Q. 標準とエクスプレスの違いは? 標準は長時間・監査向き(最大1年)、エクスプレスは高頻度・短時間・大量向き。Q. EventBridge との違いは? EventBridge はイベントのルーティング、Step Functions はワークフローの編成。
「複数ステップを順次/分岐/並列・リトライ付きで編成=Step Functions」「単純な1ステップ=Lambda 単体」「長時間/監査=標準・高頻度短時間=エクスプレス」 は DVA で頻出です。編成は Step Functions、ルーティングは EventBridge。
2.3.2この節のまとめ
- Step Functions=ステートマシンで複数ステップを編成(分岐 Choice/並列 Parallel/リトライ/Catch)
- 複雑なフローは Step Functions、単純な1ステップは Lambda 単体。標準/エクスプレスを使い分け
進捗の記録にはログインが必要です。
理解度チェック
(軽い確認用)Q1. 複数のステップを順次・分岐・並列、かつリトライ付きで編成したい。最も適したサービスはどれですか?
Q2. Step Functions のステートマシンで、条件によって処理を分岐させるのに使う状態はどれですか?
Q3. 単純な非同期処理1ステップだけで十分な場合、過剰になりにくい選択はどれですか?

