Step Functions に28サービスのSDK統合が追加 ― Bedrock AgentCore・S3 Vectors・Lambda Durable の連携パターンを考える
AWS Step Functions の AWS SDK 統合に 28の新サービスと1,100以上の新しいAPIアクションが追加されました(2026年3月26日 AWS What’s New)。
中でも注目なのは Amazon Bedrock AgentCore と Amazon S3 Vectors の統合です。AgentCoreのエージェントランタイムをStep Functionsから直接呼び出せるようになったことで、マルチエージェントワークフローのオーケストレーションがかなり楽になります。これは面白いですね。
何が追加されたのか
公式のアナウンスには以下のように書かれています(AWS What’s New)。
AWS Step Functions is a visual workflow service capable of orchestrating over 220 AWS services to help customers build distributed applications at scale. With the Amazon Bedrock AgentCore service integration, you can invoke AI agent runtimes with built-in retries, run multiple agents in parallel using Map states, and automate agent provisioning workflows that create, update, and tear down agent infrastructure as workflow steps.
今回追加された主要なサービスの中から、特に注目すべきものをピックアップします。
AI/ML関連
| サービス | SDK接頭辞 | 主なユースケース |
|---|---|---|
| Amazon Bedrock AgentCore | bedrockagentcore | エージェントランタイムの呼び出し、マルチエージェントオーケストレーション |
| Amazon Bedrock AgentCore Control Plane | bedrockagentcorecontrol | エージェントインフラの作成・更新・削除 |
| Data Automation for Amazon Bedrock | bedrockdataautomation | ドキュメント処理パイプラインの自動化 |
| Runtime for Amazon Bedrock Data Automation | bedrockdataautomationruntime | データ自動化ジョブの実行 |
| Amazon Nova Act | novaact | Nova Actモデルの呼び出し |
ストレージ・データ関連
| サービス | SDK接頭辞 | 主なユースケース |
|---|---|---|
| Amazon S3 Vectors | s3vectors | ベクトルデータの格納・検索、RAGパイプライン |
| Amazon S3 Tables | s3tables | Apache Iceberg テーブルの操作 |
| Amazon Aurora DSQL | dsql | 分散SQLクエリの実行 |
その他の注目サービス
| サービス | SDK接頭辞 | 主なユースケース |
|---|---|---|
| AWS Elemental Inference | elementalinference | メディア推論処理 |
| Amazon Location Service V2(GeoMaps / GeoPlaces / GeoRoutes) | geomaps / geoplaces / georoutes | 地図・場所検索・ルーティング |
| Network Flow Monitor | networkflowmonitor | ネットワークフローの監視 |
| AWS Parallel Computing Service | pcs | 並列コンピューティングジョブの管理 |
なお、既存サービスについても新しいAPIアクションが追加されています。アナウンスでは Lambda Durable Execution API のサポートが明示的に言及されており、Durable Functions の冪等な呼び出しや実行管理がStep Functionsのワークフローから直接行えるようになりました。
Bedrock AgentCore 統合が面白い
今回の追加の中で自分が一番期待しているのは、Bedrock AgentCore の統合です。
これまでの課題
AgentCoreのエージェントランタイムをワークフローに組み込む場合、これまでは以下のような構成が必要でした。
- Step Functions → Lambda 関数を呼び出し
- Lambda 関数内で AgentCore の
InvokeAgentRuntimeAPI を呼び出し - レスポンスを受けて次のステップへ
Lambda関数が「薄いラッパー」として挟まる形です。動くには動きますが、Lambda関数のコード管理やIAMロールの設定が必要で、ちょっと冗長でした。
SDK統合後
SDK統合により、ASL(Amazon States Language)の定義内で直接AgentCoreのAPIを呼び出せるようになります。
{
"Type": "Task",
"Resource": "arn:aws:states:::aws-sdk:bedrockagentcore:invokeAgentRuntime",
"Parameters": {
"AgentRuntimeArn": "arn:aws:bedrock:ap-northeast-1:123456789012:agent-runtime/my-agent",
"SessionId": "session-001",
"Input": {
"Text.$": "$.userQuery"
}
},
"ResultPath": "$.agentResponse",
"Next": "ProcessResponse"
}
Lambda関数を挟む必要がなくなり、ワークフローの定義だけで完結します。Step Functionsのビルトインのリトライ・エラーハンドリングもそのまま使えるので、エラー時の再試行やフォールバックの設計もシンプルになります。
マルチエージェントパターン
Step Functions の Map ステート(並列反復処理)と組み合わせると、複数のエージェントを並列で実行するパターンが自然に書けます。
{
"Type": "Map",
"ItemsPath": "$.agents",
"ItemProcessor": {
"ProcessorConfig": {
"Mode": "INLINE"
},
"StartAt": "InvokeAgent",
"States": {
"InvokeAgent": {
"Type": "Task",
"Resource": "arn:aws:states:::aws-sdk:bedrockagentcore:invokeAgentRuntime",
"Parameters": {
"AgentRuntimeArn.$": "$.agentArn",
"SessionId.$": "$.sessionId",
"Input": {
"Text.$": "$.query"
}
},
"End": true
}
}
},
"ResultPath": "$.agentResults",
"Next": "AggregateResults"
}
例えば、ユーザーからの問い合わせに対して「検索エージェント」「分析エージェント」「要約エージェント」を並列で走らせ、結果を集約する、というパターンが考えられます。
さらに、AgentCore Control Plane(bedrockagentcorecontrol)の統合も追加されているため、エージェントインフラのプロビジョニングと実行を一連のワークフローにまとめることもできます。テスト環境用のエージェントを作成 → テスト実行 → 結果判定 → クリーンアップ、といったCI/CDパイプラインもStep Functionsだけで組めそうです。
S3 Vectors 統合 ― RAGパイプラインの自動化
Amazon S3 Vectors は、ベクトルデータをS3にネイティブに格納・検索できるサービスです。2025年12月にGA(AWS News Blog)となり、1インデックスあたり最大20億ベクトルまでスケールします。
Step Functions から S3 Vectors の API を直接呼び出せるようになったことで、以下のようなRAGドキュメントインジェストパイプラインをサーバーレスに構築できます。
- S3にドキュメントがアップロードされる(EventBridge でトリガー)
- Bedrock Data Automation でテキスト抽出(
bedrockdataautomationruntime) - テキストをチャンクに分割(Lambda または Bedrock)
- Bedrock でエンベディング生成(
bedrockruntimeのInvokeModel) - S3 Vectors にベクトルを格納(
s3vectorsのPutVectors)
これまでは各ステップにLambda関数が必要でしたが、SDK統合を使えばStep 2, 4, 5 はASLの定義だけで済みます。
Lambda Durable Execution API のサポート
もう一つ見逃せないのが、Lambda Durable Functions との連携です。
Lambda Durable Functions は2025年末に発表された機能で、Lambda関数の実行状態を永続化し、中断・再開が可能になるものです。Step Functions からDurable Execution APIを呼び出す際に実行名(Execution Name)を渡して冪等な呼び出しができるようになりました。
Step Functions 自体がワークフローの状態管理を担うサービスですが、Lambda Durable Functions との組み合わせにより、個々のステップ内での長時間実行や中間状態の管理がより柔軟になります。AIワークフローでは、エージェントの推論が数分〜数時間かかるケースもあるため、この組み合わせは実用的だと思います。
SDK統合のポイント
Step Functions の AWS SDK 統合を使う際に、いくつか押さえておきたいポイントがあります。
パラメータの命名規則
SDK統合ではすべてのパラメータを PascalCase で指定します。ネイティブのサービスAPIが camelCase を使っている場合でも、ASL定義では PascalCase に変換する必要があります(AWS Documentation)。
IAMポリシーの手動設定
SDK統合を使用する場合、Step Functions はIAMポリシーを自動生成しません。ステートマシンの実行ロールに、対象サービスのAPIアクションに対する権限を手動で設定する必要があります。例えば AgentCore を呼び出す場合は bedrock-agentcore:InvokeAgentRuntime のアクションを許可します。
エラーハンドリング
サービスのエラーは {サービス名}.{例外名}Exception の形式で返されます。AgentCore の場合は BedrockAgentCore.ThrottlingException のようになります。ASL の Catch や Retry でこれらのエラーをハンドリングできます。
一部制限あり
今回の統合でも、すべてのAPIアクションがサポートされているわけではありません。例えば AgentCore の InvokeCodeInterpreter はサポート対象外です。また、利用可能なAPIアクションは対象サービスのリージョン提供状況に依存します。
利用可能なリージョン
今回の SDK 統合拡張は、Step Functions が利用可能なすべてのリージョンで提供されています。ただし、個々のサービスやAPIアクションの利用可否は、対象サービスのリージョン提供状況に依存します。例えば Bedrock AgentCore を使う場合は、AgentCore が提供されているリージョンである必要があります。
まとめ
Step Functions への28サービス追加は「定番のアップデート」に見えるかもしれませんが、今回は AI/エージェント関連のサービスが多数含まれているのが特徴的です。
特に自分が注目しているのは以下の点です。
- Bedrock AgentCore の直接呼び出し: Lambda関数のラッパーが不要になり、マルチエージェントのオーケストレーションがASLだけで書けるようになりました。Step Functions のリトライ・並列実行・条件分岐を活用すれば、かなり複雑なエージェントワークフローもシンプルに定義できます
- S3 Vectors との連携: RAGパイプラインの構築がよりサーバーレスに。ドキュメントのインジェストから検索まで、Step Functions + Bedrock + S3 Vectors で完結するアーキテクチャが組めます
- Lambda Durable Functions との組み合わせ: 長時間実行するAI処理の状態管理が柔軟に。Step Functionsの15分制約(Express Workflows)を超える処理も、Durable Functionsとの組み合わせで対応できます
Step Functions は220以上のサービスをオーケストレーションできるようになりましたが、AIワークフローの構築における「接着剤」としての役割がますます強まっている印象です。AgentCore統合を実際に試してみたいので、今後の記事で実践編もやっていきたいと思います。