Share
Embed
EventBridge API Destination × AgentCore Runtimeで実現するLambdaレスなイベント駆動エージェント
JAWS-UG 群馬 #36 presents - JAWS-UG 北陸新幹線 #5 in 群馬 での登壇資料です
Har1101
January 24, 2026
Transcript
25 slides
-
EventBridge API Destination × AgentCore Runtimeで実現する Lambdaレスなイベント駆動エージェント 2026/01/24 (土) JAWS-UG
群馬 #36 presents - JAWS-UG 北陸新幹線 #5 in 群馬 福地開 -
Who am I ? 福地 開 (ふくち はるき) @har1101mony 所属:JAWS-UG東京
年次:3年目 業務:Agent Builder 選出:AWS Community Builders (AI Engineering) 2025 Japan AWS Jr.Champions 2025 Japan All AWS Certifications Engineers -
今日話すこと ◆Lambda無しでAgentCore Runtimeを動かす方法について • AgentCoreおさらい • これまでのEventBridge×AgentCore Runtime構成 • EventBridge
API Destination • イベント駆動エージェントを作る • まとめ ※資料中で「AI」と記載しているものは「生成AI」とりわけ「LLM」のことを指します ※所属組織とは一切関係ない、私個人の意見・考えとなります -
Amazon Bedrock AgentCore Runtime とは ◆AIエージェント(およびツール)のコードをホストする基盤 • サーバーレスにスケール可能なコンテナ基盤 • 裏側では、ユーザーのセッションごとにマイクロVMを立ち上げてくれる
• LLMの出力待機時間など、I/O 待ちの時間はCPUリソースに課金されない • 実行時間を最長8時間に伸ばせるのでAIエージェントとの相性がGood https://speakerdeck.com/yuu551/2025nian-amazon-bedrock-agentcorematome (クラメソ神野さんの神資料読んでください!) -
◆EventBridge API Destination • HTTPSエンドポイントをターゲットにできる • エンドポイントとの接続にOAuth認証を用いることができる ◆AgentCore Runtime •
HTTPSエンドポイントが存在する • インバウンド認証において、OAuthのAPIリクエストを受けJWTを検証する ◆良い感じに組み合わせられるのでは…? 2つを整理する -
◆Lambda無しでイベント駆動エージェント基盤を作る • EventBridge API DestinationのターゲットをAgentCore Runtimeの HTTPSエンドポイントに指定 • CognitoはM2M認証とし、Connectionに設定しておく •
RuntimeはCognitoを用いたJWT認証としておく アーキテクチャ -
◆AgentCore Runtime • 非同期実行を用いる • HTTPSエンドポイントの記法に注意が必要 ◆EventBridge API Destination •
ターゲットの設定におけるエンドポイントのデコード処理 • 上記処理を回避してRuntimeのHTTPSエンドポイントを呼び出す方法 実装のポイント -
AgentCore Runtimeの非同期実行 ◆普通に(=同期処理で)エージェントを動かすと、実行時間は15分まで ◆非同期処理にしておくと、最長8時間 ◆実装方法 • 非同期化したい処理を[app.add_async_task]と[app.complete_async_task] で挟む • この中でエージェントを動かすことも可能
https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/runtime-long-run.html -
AgentCore RuntimeのHTTPSエンドポイント ◆コンソールからは確認できない値となっていることに注意 ◆以下ドキュメントを参考に、自分で少し組み替えてあげる ◆ARNをエンコードして(/や:を書き換えて)おく必要がある • https://bedrock-agentcore.ap-northeast-1.amazonaws.com/runtimes/ arn%3Aaws%3Abedrock-agentcore%3Aap-northeast-1%3A123456789012 %3Aruntime%2Fmy_agent-ABC123/invocations https://speakerdeck.com/yuu551/2025nian-amazon-bedrock-agentcorematome?slide=50
https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/runtime-oauth.html#invoke-agent https://docs.aws.amazon.com/bedrock-agentcore/latest/APIReference/API_InvokeAgentRuntime.html -
EventBridge API Destinationのデコード処理 ◆設定されたURL の %XX エンコーディングを自動的にデコードして からリクエストを送信する仕組みになっている • arn%3Aaws%3A...
→ arn:aws:... と変換する (arn部分が問題になっている) ◆しかし、AgentCore RuntimeのHTTPSエンドポイントは エンコードされた状態のものを期待している(前ページ参照) • デコードされた状態で送信すると404 UnknownOperationExceptionとなる -
リクエスト時の謎のエラーと手がかり https://docs.aws.amazon.com/bedrock-agentcore/latest/APIReference/API_InvokeAgentRuntime.html ◆accountID is required when agentRuntimeArn is provided as
agentId instead of agentRuntimeArn ◆日本語:agentRuntimeARN の代わりに agentId を渡した場合は accountId が必要です • ARNを使わなくてもできる方法を示してくれている? • ドキュメント的には確かにaccountIdも指定できそう… -
エラー解決策 ◆agentId を渡した場合は accountId が必要 ◆逆説的にagentId+accountIdでagentRuntimeARNを代替できる? ◆従来の指定方法 • /runtimes/<エンコード済みARN>/my_agent/invocations •
ARNでエンコード・デコード問題が発生 ◆今回の指定方法 • /runtimes/<agentId>/invocations?accountId=123456789012 • パスに / を含む ARN を入れる必要がない • やってみたら動いたので動きます (公式ドキュメントに記載がないので動きが変わる可能性もあります) -
◆Lambdaレスイベント駆動エージェント基盤のお話をしました! • ちょっと面倒くさいですがEventBridgeから直接AgentCore Runtimeを 呼ぶことができました ◆目指せ「初手AI」な世界 • イベント駆動なエージェントの作り方は何となく出来上がってきた • あとは具体的にどんなユースケースで実装するか・実際に作って精度はどう
かを見て、エージェントを育てていきたい ◆2026年 AIエージェント「構築」元年、やっていきましょう〜! まとめ