ヘルスケア企業が Amazon Bedrock を組み込んだ医療文書処理パイプラインを構築しています。パイプラインの処理フローは以下のとおりです。 ①Amazon Textract で PDF からテキスト抽出 ②Bedrock で文書タイプを分類(検査報告・処方箋・退院サマリー) ③文書タイプに応じた Bedrock プロンプトで構造化サマリーを生成 ④結果を DynamoDB に保存 処理は非同期で最大 5 分かかる場合があり、各ステップの失敗には自動リトライとエラーハンドリングが必要です。運用チームは各ステップの実行状態をリアルタイムで可視化したいと考えています。最も適切なアーキテクチャはどれですか?
AWS Step Functions は複数ステップのワークフローを状態機械として定義・実行するサービスです。各ステップを Lambda タスクとして定義し、Lambda 内で Bedrock SDK(InvokeModel 等)を呼び出すことで、テキスト抽出→分類→サマリー生成→保存の順次処理を実装できます。 Step Functions はネイティブで Retry(自動再試行)・Catch(エラーキャッチ)・Choice(条件分岐)をサポートし、AWS コンソールの実行ビジュアライザーで各ステップのリアルタイム状態確認が可能です。 最大 1 年の実行期間をサポートするため 5 分程度の非同期処理も問題ありません。 選択肢Aの Lambda 関数チェーンは各ステップの実行状態可視化機能がなく、エラーハンドリングと再試行ロジックをすべて自前実装する必要があります。 選択肢Bの SQS FIFO + Lambda は高スループットの非同期処理に適していますが、多段階のシーケンシャルなワークフロー可視化や条件分岐・エラーハンドリングをカスタム実装する必要があります。 選択肢Cの EventBridge Pipes はシンプルなイベント変換・ルーティングに適していますが、ステップ間の条件分岐・再試行ロジック・実行状態の可視化を必要とする複雑なワークフローには機能が不足しています。