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
370
7
Share
EventBridge API Destination × AgentCore Runtimeで実現するLambdaレスなイベント駆動エージェント
JAWS-UG 群馬 #36 presents - JAWS-UG 北陸新幹線 #5 in 群馬 での登壇資料です
Har1101
January 24, 2026
More Decks by Har1101
See All by Har1101
TypeScriptだけでAIエージェントを作る フロント・エージェント・インフラのフルスタック実践
har1101
6
980
AgentCore Registry入門~マルチアカウントでどう使うの~
har1101
1
70
AgentCore×VPCでの設計パターンn選と勘所
har1101
4
430
AgentCore RuntimeからS3 Filesをマウントしてみる
har1101
4
610
AgentCore Session Storageで激安RAG作るためのあれやこれや
har1101
4
360
(技術的には)社内システムもOKなブラウザエージェントを作ってみた!
har1101
2
570
今日から始めるAmazon Bedrock AgentCore
har1101
4
540
My First Year as a Community Builder
har1101
3
350
AgentCoreとHuman in the Loop
har1101
5
460
Other Decks in Technology
See All in Technology
自作エディターをOSSにして分かった、一人に刺さる開発が世界を動かす理由
shinyasaita
1
310
AIが変えた"品質の守り方"
kkakizaki
3
920
AIのために、AIを使った、Effect-TSからの脱却 〜テストを活用した安全なリファクタリングの進め方〜
bitkey
PRO
1
540
Copilot CLI・IDE・Web・スマホで途切れない開発フローを目指して / One Copilot flow - CLI IDE Web Mobile
aeonpeople
1
970
JavaScript実装の自作プログラミング言語をTypeScript実装に移行した話
keisukeikeda
1
150
シンデレラなんかになりたくない!ガラスの靴が割れた時代にどう歩く?
nomizone
0
190
checker.tsにチキンレースを仕掛けてみた:型エラー(TS2589)が発生する境界線を求めて
hal_spidernight
1
200
責任あるソフトウェアエンジニアリングの紹介4章・5章 / RSE_Ch4-5
ido_kara_deru
0
320
Sansan Engineering Unit 紹介資料
sansan33
PRO
1
4.5k
エンジニアは生成AIと どのように向き合うべきか? ことばの意味という観点から
verypluming
1
100
コーディングエージェントはTypeScriptの 型エラーをどう自己修正しているのか
melonps
4
470
Anthropic AIネイティブ・スタートアップ構築のプレイブック を理解する
nagatsu
0
160
Featured
See All Featured
The Curse of the Amulet
leimatthew05
1
12k
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
65
54k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.3k
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.2k
Fashionably flexible responsive web design (full day workshop)
malarkey
408
66k
HDC tutorial
michielstock
2
670
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.1k
Music & Morning Musume
bryan
47
7.2k
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
540
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
200
Building a Scalable Design System with Sketch
lauravandoore
463
34k
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
62
54k
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エージェント「構築」元年、やっていきましょう〜! まとめ