AWSアプリケーション統合

AWS Step Functionsとは

複数のLambda関数やAWSサービスのステップを視覚的なワークフロー(ステートマシン)として定義・実行するオーケストレーションサービス。エラーハンドリング・リトライ・タイムアウトを宣言的に設定できる。

ExpressワークフローとStandardワークフローの2種類があり、前者は高スループット・短時間処理向け、後者は長期実行・厳密な1回実行保証・履歴保存向け。

試験での問われ方

「複数のLambdaを順次または並列に実行して複雑なビジネスプロセスを管理したい」シナリオではStep Functionsを選ぶ。Lambdaのオーケストレーションをコード(Lambdaチェーン)で書くのは依存関係管理が煩雑になるため、Step Functionsが推奨される。

ステートの使い分けがDVAで問われる。条件分岐はChoice、配列の各要素に同じ処理を繰り返すのはMap、複数ブランチを同時実行するのはParallel。エラー処理は、各ステートにRetry(指定回数・バックオフで再試行)とCatch(特定エラー時に別ステートへ遷移)を宣言的に書ける点が、Lambda内に自前で書くより堅牢という文脈で出る。

SAP・DVAでは実行履歴の保持(Standard)・Expressの非同期実行・SDKインテグレーションによるLambda以外のサービス直接呼び出しが問われる。Standard(長時間・厳密に1回・履歴保存・低スループット)とExpress(短時間・大量・低コスト・至少1回)の使い分けは頻出で、注文処理のような長いワークフローはStandard、IoTやストリーム取り込みのような大量・短命なイベントはExpressが目安。

このサービスが登場する演習問題(9問)

関連サービス