AWS 応用コース / 第8章 Step Functions応用

メディア圧縮ワークフローの設計

S3アップロードを起点に、画像と動画を分岐し、複数ファイルをMapで処理して通知までつなぐ。

TL;DR — この章で学ぶこと

  1. イベントから状態遷移を開始する
  2. ChoiceとMapで媒体・件数を扱う
  3. 失敗を集約し、結果を通知する

01イベントから状態遷移を開始する

何がこの仕組みの入口になるか? — イベントから状態遷移を開始するを、構成図の矢印から読み解く。

イベントから状態遷移を開始するの図解
図の読み方: 左から入力、中央が判断・制御、右が到達先。矢印は処理または検証が進む向きを示す。

何を学ぶか

実務では 何がこの仕組みの入口になるか? を先に確認する。設定値だけでなく、入力と出力の境界を明確にする。

02ChoiceとMapで媒体・件数を扱う

どのサービスが責任を持つか? — ChoiceとMapで媒体・件数を扱うを、構成図の矢印から読み解く。

ChoiceとMapで媒体・件数を扱うの図解
図の読み方: 左から入力、中央が判断・制御、右が到達先。矢印は処理または検証が進む向きを示す。

何を学ぶか

実務では どのサービスが責任を持つか? を先に確認する。設定値だけでなく、入力と出力の境界を明確にする。

03失敗を集約し、結果を通知する

失敗時にはどこへ戻る/進むか? — 失敗を集約し、結果を通知するを、構成図の矢印から読み解く。

失敗を集約し、結果を通知するの図解
図の読み方: 左から入力、中央が判断・制御、右が到達先。矢印は処理または検証が進む向きを示す。

何を学ぶか

実務では 失敗時にはどこへ戻る/進むか? を先に確認する。設定値だけでなく、入力と出力の境界を明確にする。

結論

  1. S3 upload → 起動Lambda → Step Functions。イベントの入力形式をワークフロー用へ整えてから開始する。
  2. Choiceで画像はLambda、動画はECSへ進める。Mapは複数メディアを並列処理するが、並列度と部分失敗を意識する。
  3. 各反復の失敗はMap内のCatchで結果へ整形できる。Mapの出力をFormatし、成功・失敗を含む通知をSlackへ送る。