Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
EventBridge API Destination × AgentCore Runtime...
Search
Har1101
January 24, 2026
Technology
7
320
EventBridge API Destination × AgentCore Runtimeで実現するLambdaレスなイベント駆動エージェント
JAWS-UG 群馬 #36 presents - JAWS-UG 北陸新幹線 #5 in 群馬 での登壇資料です
Har1101
January 24, 2026
Tweet
Share
More Decks by Har1101
See All by Har1101
(技術的には)社内システムもOKなブラウザエージェントを作ってみた!
har1101
2
480
今日から始めるAmazon Bedrock AgentCore
har1101
4
460
My First Year as a Community Builder
har1101
3
120
AgentCoreとHuman in the Loop
har1101
5
310
スケジュール駆動なエージェントを作ろう!
har1101
4
810
AIエージェントの設計で注意するべきポイント6選
har1101
7
3.7k
Now, go out
har1101
4
260
AWS re:Inventから考える、2026年のAIエージェント開発
har1101
2
670
CBとして行く初re:Invent 挑戦と失敗
har1101
2
360
Other Decks in Technology
See All in Technology
型を書かないRuby開発への挑戦
riseshia
0
180
Serverless Agent Architecture on Azure / serverless-agent-on-azure
miyake
1
150
生成AIの利用とセキュリティ /gen-ai-and-security
mizutani
1
1.2k
Oracle Database@Azure:サービス概要のご紹介
oracle4engineer
PRO
4
1.1k
A Gentle Introduction to Transformers
keio_smilab
PRO
1
120
EMからVPoEを経てCTOへ:マネジメントキャリアパスにおける葛藤と成長
kakehashi
PRO
6
860
「使いにくい」も「運用疲れ」も卒業する UIデザイナーとエンジニアが創る持続可能な内製開発
nrinetcom
PRO
1
780
LINEヤフーにおけるAI駆動開発組織のプロデュース施策
lycorptech_jp
PRO
0
400
DX Improvement at Scale
ntk1000
2
290
白金鉱業Meetup_Vol.22_Orbital Senseを支える衛星画像のマルチモーダルエンベディングと地理空間のあいまい検索技術
brainpadpr
2
210
クラウド時代における一時権限取得
krrrr38
1
160
パネルディスカッション資料 (at Tableau Now! - 2026-02-26)
yoshitakaarakawa
0
1.1k
Featured
See All Featured
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
360
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.2k
Mind Mapping
helmedeiros
PRO
1
110
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
190
It's Worth the Effort
3n
188
29k
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
230
How GitHub (no longer) Works
holman
316
140k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
210
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
140
Unsuck your backbone
ammeep
672
58k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
55k
Transcript
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」のことを指します ※所属組織とは一切関係ない、私個人の意見・考えとなります
AgentCore おさらい
Amazon Bedrock AgentCoreとは ◆AWS上でAIエージェントを展開・運用するためのプラットフォーム ◆全機能がサーバーレスで提供されている! https://github.com/awslabs/amazon-bedrock-agentcore-samples/tree/main/01-tutorials
Amazon Bedrock AgentCoreとは ◆AWS上でAIエージェントを展開・運用するためのプラットフォーム ◆全機能がサーバーレスで提供されている! https://github.com/awslabs/amazon-bedrock-agentcore-samples/tree/main/01-tutorials
Amazon Bedrock AgentCore Runtime とは ◆AIエージェント(およびツール)のコードをホストする基盤 • サーバーレスにスケール可能なコンテナ基盤 • 裏側では、ユーザーのセッションごとにマイクロVMを立ち上げてくれる
• LLMの出力待機時間など、I/O 待ちの時間はCPUリソースに課金されない • 実行時間を最長8時間に伸ばせるのでAIエージェントとの相性がGood https://speakerdeck.com/yuu551/2025nian-amazon-bedrock-agentcorematome (クラメソ神野さんの神資料読んでください!)
これまでの EventBridge×AgentCore Runtime 構成
◆EventBridge Rules + AgentCore Runtime • ポイント:RulesからRuntimeは直接呼べないため、呼び出し係としての Lambdaを挟む • このLambdaをできるだけ無くせるように頑張りたい
イベント駆動エージェントにはLambdaが必要
◆EventBridge Scheduler + AgentCore Runtime • ポイント:Lambda不要、直接AgentCore Runtimeを呼び出せるのがGood • ただ、やっぱりスケジュールだけではなくイベントでも動かしたい…
スケジュール駆動エージェントならシンプル
EventBridge API Destination
◆EventBridgeのターゲットにHTTPSエンドポイントを指定できる • ALB/API Gatewayに加えて、サードパーティのSaaS製品などと連携可能 • Connection経由で認証して外部のHTTPエンドポイントへリクエストを送る EventBridge API Destinationとは? 参考:https://docs.aws.amazon.com/ja_jp/eventbridge/latest/userguide/eb-api-destinations.html
◆AgentCore Runtimeのエンドポイント • OAuth認証の時はSDKではなくHTTPSリクエストが必要 ◆AgentCore Runtimeのインバウンド認証 • IAMかJWT(Cognitoなど)を選択する AgentCore Runtimeの制約
◆EventBridge API Destination • HTTPSエンドポイントをターゲットにできる • エンドポイントとの接続にOAuth認証を用いることができる ◆AgentCore Runtime •
HTTPSエンドポイントが存在する • インバウンド認証において、OAuthのAPIリクエストを受けJWTを検証する ◆良い感じに組み合わせられるのでは…? 2つを整理する
Lambda無しで イベント駆動エージェントを作る
◆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 を入れる必要がない • やってみたら動いたので動きます (公式ドキュメントに記載がないので動きが変わる可能性もあります)
コンソールで見るとこんな感じ
◆CDKで書いたので近い内にちゃんとした解説ブログ出します 最終的な実装
◆Lambdaレスイベント駆動エージェント基盤のお話をしました! • ちょっと面倒くさいですがEventBridgeから直接AgentCore Runtimeを 呼ぶことができました ◆目指せ「初手AI」な世界 • イベント駆動なエージェントの作り方は何となく出来上がってきた • あとは具体的にどんなユースケースで実装するか・実際に作って精度はどう
かを見て、エージェントを育てていきたい ◆2026年 AIエージェント「構築」元年、やっていきましょう〜! まとめ