この記事について海外で公開された情報をもとにAIが要約・解説した記事です。原文の翻訳ではありません。正確な内容は記事末尾の出典元をご確認ください。
この記事の要点
  • セッションごとに認証付きURLを発行し、許可したポートへHTTPとWebSocketを転送する
  • ブラウザはSigV4署名を付けられないため、SDKがローカルエンドポイントで代理認証する
  • URLはセッション終了で失効し、本番公開にはAmplify Hostingなどへのデプロイが必要

発表されたこと

AWSは、Amazon Bedrock AgentCore runtimeの「Session endpoints」を解説する技術記事を公開しました。コーディングエージェントがセッション内で動かしているWebアプリを、利用者のブラウザからそのまま開いて操作できるようにする仕組みです。エージェントがファイルを保存するたびに画面が更新されるため、「変更を依頼する→結果を見る」というレビューのループをデプロイ待ちなしで回せます。

記事はGitHubリポジトリ agentcore-samples のサンプルを使ったハンズオン形式です。Viteで作ったサイトをセッション内で起動し、左にチャット、右にライブのWebサイトという1枚のページで確認します。エージェントにダークテーマへの切り替えを頼み、作業ステップが流れてくる様子と画面の変化を同時に眺める構成になっています。

Session endpointの仕組み

各セッションには専用のSession endpointが割り当てられます。到達できるポートは、CreateAgentRuntime呼び出し時のallowedPortsで1〜5件指定し、それぞれ単一ポートまたは8000〜12000の範囲で指定します。予約済みのプラットフォームポートは除外され、ポートを許可してもサーバーが起動するわけではないため、アプリ側が0.0.0.0で待ち受ける必要があります。

URLはInvokeAgentRuntimeのレスポンスヘッダー X-Amzn-Bedrock-AgentCore-Runtime-Session-Endpoint-Url で返り、SDKではsessionEndpointUrlとして扱えます。認証は必須で、IAMを使うランタイムではHTTPリクエスト、HTTP/2ストリーム、WebSocketハンドシェイクのそれぞれにSigV4署名が必要です。呼び出し元には bedrock-agentcore:InvokeAgentRuntimeProxy 権限も求められます。JWTオーソライザーを使う構成では、代わりにベアラートークンを付けます。つまりURLを知っているだけではアクセスできません。

クライアントは常に443番に接続し、ホスト名のプレフィックスでセッション内のポートを選びます。例えば「8090--<セッションID>.runtime.bedrock-agentcore.<リージョン>.on.aws」のように指定します。HTTP/1.1、HTTP/2(Server-Sent EventsやgRPCを含む)、WebSocketが通過します。

ブラウザは自らSigV4署名やベアラートークンを付与できないため、bedrock-agentcore SDKのセッションエンドポイントクライアントが端末上にローカルエンドポイントを開きます。ブラウザはhttp://localhost:8088 に接続し、ローカルエンドポイントが認証情報を付けてSession endpointへ転送する形です。

サンプルの構成と動作

サンプルは4つの部品で構成されます。エージェントはポート8080で動き、list・read・write・editの4ツールでサイトのファイルを編集します。Vite開発サーバーはポート8090でサイトを配信し、保存された変更をホットリロード用のWebSocketでブラウザへ push します。エージェントの/statusルートはポート8081です。

allowedPortsに登録するのは8090と8081だけで、8080は含めません。InvokeAgentRuntimeはSession endpointを経由せずエージェントに到達するためです。利用者の端末ではPreviewAppがプレビューページをlocalhost:8087で配信し、プロンプトをInvokeAgentRuntimeへ送ります。変更内容の判断にはAmazon Bedrock上のClaude Haiku 5.5を使います。

Vite側の設定では、開発サーバーを0.0.0.0のポート8090で待ち受けさせ、Hostヘッダーの制限(server.allowedHosts)を無効にしています。リクエストがlocalhostではなくランタイムの割り当てたホスト名で届くためです。Session endpointが転送前に全リクエストを認証するので、サーバー側で独自のホストチェックを持つ必要はないと説明されています。

ランタイムエンドポイントとの違いと制約

Session endpointは、既存のランタイムエンドポイントとは役割が異なります。ランタイムエンドポイント(DEFAULTなど)は、呼び出し元がどのバージョンのエージェントに到達するかを制御するためのものです。一方のSession endpointは、セッション内でエージェントが動かしているWebプレビューのような成果物を見るための、許可ポート限定の認証付きURLだと位置づけられています。

制約も明示されています。Session endpointはマイクロVMのランタイムで動作し、Instancesコンピュートタイプでは使えません。URLはパブリックHTTPSで到達する必要があり、インバウンド接続にAWS PrivateLinkは対応していません。URLの有効期間はセッション限りなので、利用者向けにアプリを配信する場合はAWS Amplify Hostingなどのホスティングサービスへデプロイすることになります。

サンプルを動かす前提は、AgentCore runtimeのSession endpointsが利用できるリージョンのAWSアカウント、Python 3.10以降、bedrock-agentcore 1.25.2以降、boto3 1.43.122以降、Node.js 22以降とnpm、Git、Jupyter実行環境です。デプロイはエージェントをzipにまとめてAmazon S3に置く直接コードデプロイ方式で、DockerやAmazon ECRは不要とされています。

ランタイムエンドポイントとセッションエンドポイントの違い
項目ランタイムエンドポイント(DEFAULTなど)セッションエンドポイント
主な用途呼び出し元が到達するエージェントのバージョンを制御セッション内で動くWebアプリなど成果物の確認
到達できる対象エージェント本体(InvokeAgentRuntimeの解決先)allowedPortsで許可したポートのみ
認証AWS認証情報で署名したInvokeAgentRuntime呼び出しリクエストごとのSigV4署名、またはJWTベアラートークン
有効期間バージョン切り替え時も呼び出し元の変更は不要セッションが終了するまで
原文からの引用
It’s scoped to one session. The URL needs credentials on every request and lasts only as long as the session, so use it to build, test, and review what your agent produces.

これは1つのセッションに限定されます。URLはリクエストごとに認証情報を必要とし、セッションが続く間だけ有効です。そのため、エージェントが生成するものを構築・テスト・レビューする用途に使います。

今後の見通し

現時点ではプレビュー的な位置づけの機能とみられ、一般提供(GA)の時期や料金体系は原文に記載がありません。対応リージョンの一覧が公開されれば、日本国内リージョンで利用できるかの判断が可能になります。また、AWS PrivateLinkのインバウンド対応やInstancesコンピュートタイプへの拡張が示されれば、閉域網を前提とする企業での採用余地が広がります。まずは社内の検証環境でコーディングエージェントのレビュー工程に組み込み、デプロイ待ちの削減効果を測るのが現実的な進め方と考えられます。

日本の開発者・IT企業にとっての意味

日本のIT企業にとって、AIコーディングエージェントの成果物レビューが「デプロイ待ち」から「ブラウザで即確認」に変わる点が実務上の意味を持ちます。特に受託開発や社内ツール開発では、エージェントにUIを触らせながら自然言語で修正指示を出し、数秒後に反映を見るという反復が組みやすくなります。サンプルはGitHubで公開されており、ViteとNode.js 22という一般的な構成で試せるため、検証の立ち上げコストは低いとみられます。一方で、セッション限りのURL、パブリックHTTPS前提、PrivateLinkのインバウンド非対応といった条件は、閉域網を前提とする金融・医療系の案件ではそのまま適用しにくい可能性があります。検証用途に限定し、本番はAmplify Hostingなどへデプロイする役割分担が現実的です。SDKのバージョン要件も既存のCI/CDに組み込む際の確認事項になります。

気になる点

このプレビューURLをそのまま本番公開に使えますか
想定されていません。URLはセッションが終了すると失効し、リクエストごとに認証情報が必要です。原文では、利用者向けにアプリを配信する場合はAWS Amplify Hostingなどのホスティングサービスへデプロイするよう案内しています。
DockerやAmazon ECRは必要ですか
サンプルでは不要です。エージェントをzipにまとめてAmazon S3へ置く直接コードデプロイ方式を使い、Node.js 22のランタイムとして実行します。ただしSession endpointはマイクロVMのランタイムが対象で、Instancesコンピュートタイプでは利用できません。
対応リージョンや料金は公表されていますか
この記事には具体的なリージョン一覧も料金も記載されていません。Session endpointsが利用可能なリージョンのAWSアカウントが必要という条件のみ示されています。判断するには、AWSのドキュメントや料金ページで最新情報を確認する必要があります。

用語解説

マイクロVM
エージェントのセッションごとに割り当てられる軽量な仮想マシン。AgentCore runtimeがセッションを互いに隔離して実行する。
SigV4
AWSのリクエスト署名方式。各リクエストに署名を付けて呼び出し元を認証し、改ざんを検知する。
WebSocket
ブラウザとサーバーが接続を保ったまま双方向に通信するプロトコル。Viteのホットリロード通知などに使われる。
Vite
JavaScript/TypeScript向けのフロントエンド開発ツール。開発サーバーがファイル変更を検知し、ブラウザへ自動反映する。
JWT
JSON Web Token。署名付きトークンで利用者を認証する方式で、Session endpointではベアラートークンとして送信する。

出典

Preview web apps live as your coding agent builds them with Amazon Bedrock AgentCore runtime

Amazon Web Services / Sundar Raghavan / 2026年10月31日

https://aws.amazon.com/blogs/machine-learning/preview-web-apps-live-as-your-coding-agent-builds-them-with-amazon-bedrock-agentcore-runtime

AI導入も顧問も、お任せください

何から手をつけるか、どこまでAIに任せるか。自社の業務に合わせて整理し、導入から運用まで伴走します。相談だけでも構いません。

AI導入について相談する