ライフスタイル

AWS、AgentCoreの「Session endpoints」を紹介:コーディングエージェントが修正中のWebアプリをブラウザで即時プレビュー

AWSによると、Amazon Bedrock AgentCore runtimeのSession endpointsを使えば、開発者やプロダクトチームは、AIエージェントが修正中のWebアプリに自分のブラウザから認証付きで接続し、修正のたびにデプロイを待たずに変更を確認できる。

読了目安 9 分

AWS、AgentCoreの「Session endpoints」を紹介:コーディングエージェントが修正中のWebアプリをブラウザで即時プレビュー
画像:Mokaair (Original editorial artwork)

何が起きたのか

AWSは2026年10月30日、Amazon Bedrock AgentCore runtimeのSession endpointsを紹介するブログ記事を公開した。「コーディングエージェント」とは、自らプログラムを書き、修正できるAIのこと。エージェントがタスクを実行する一連の作業期間は「セッション」と呼ばれる。AWSによると、AgentCore runtimeは各セッションを独立したmicroVM(軽量で相互に隔離された仮想マシン)内で実行し、Session endpointsを使うと、そのセッション内で動いているアプリケーションをユーザー自身のブラウザから開ける。

AWSが説明する背景はこうだ。アプリを別の場所へコピーしてデプロイ(動作環境に配置して動かすこと)する必要があると、修正のたびにデプロイを待つことになり、レビューが遅くなる。アプリがエージェントの編集している場所で動き続けていれば、変更は数秒でブラウザに反映される。

AWSのデモでは、ユーザーがコーディングエージェントにサイトをダークテーマ(暗い配色)に変更するよう依頼し、エージェントがスタイルシート(ページの見た目を定めるファイル)を保存すると、ブラウザ上のサイトが再読み込みなしで更新された。以下の内容はすべてAWSの説明に基づく。

仕組みと制限

AWSの説明では、Session endpointsは各セッションに認証付きURLを提供し、リクエストのHTTPメソッド、パス、クエリ文字列、ボディ、およびWebSocket接続(サーバーからブラウザへ更新を随時プッシュできる長時間接続)を、ユーザーが許可したポートへ転送する。ポート(port)は、同じマシン上の異なるサービスを区別する「部屋番号」のようなものと考えるとよい。

  • ポート:AWSによると、runtime作成時にallowedPortsで設定する。項目数は1〜5で、各項目は8000〜12000の範囲内の単一ポートまたはポート範囲を指定し、プラットフォーム予約ポートは除外される。アプリ自体がそのポートで待ち受け、0.0.0.0にバインド(外部からの接続を受けられるよう設定)する必要がある。
  • URL:AWSによると、URLはInvokeAgentRuntime(エージェントを呼び出すAPI)のレスポンスのヘッダーに含まれる。
  • 認証:AWSによると、IAM(AWSのID・アクセス権限管理サービス)を使うruntimeでは、すべてのリクエストにSigV4署名(AWSでリクエスト元を証明する署名方式)が必要で、呼び出し元にはbedrock-agentcore:InvokeAgentRuntimeProxy権限も必要。JWT認可のruntimeではbearer token(アクセス用の認証情報)を付ける。AWSは、URLを知っているだけではアクセス権にならないと強調している。
  • 範囲:AWSによると、URLは単一セッションに限定され、セッション終了とともに無効になる。外部にサービスを提供するには、AWS Amplify Hostingなどのホスティングサービスにデプロイすべきとしている。
  • ローカルエンドポイント:AWSによると、ブラウザはページのリクエストに自分で署名やtokenを付けられない。そのためbedrock-agentcore SDKのクライアントが、自分のマシン上に中継用の接続口を開き、認証情報を付与して転送できる。

AWSは、Session endpointと既存のruntime endpointの違いも整理している。後者はエージェント自体を呼び出す入口で、前者はエージェントがセッション内で動かしているものを見るためのものだ。

AWSによる2種類のエンドポイントの違いの説明
項目Session endpointRuntime endpoint(例:DEFAULT)
用途(AWSによる)エージェントがセッション内で実行している内容(Webプレビューなど)を確認する呼び出し元をエージェントに接続し、どのバージョンに接続するかを制御する
存続期間とバージョン(AWSによる)セッションが現在実行しているバージョンに適用され、セッション終了後は無効になる開発環境と本番環境で別バージョンを使え、呼び出し側を変更せずにバージョンの切り替えやロールバック(以前の版に戻すこと)ができる
到達範囲(AWSによる)許可されたポートにのみ接続できるInvokeAgentRuntime経由でエージェントに接続する

開発チームにとっての意味

AWSの説明に沿えば、開発チームはAIエージェントが作ったWebプロトタイプをレビューする際、毎回デプロイせずに、エージェントが作業している同じ環境で結果を直接確認できる。AWSは、この機能は構築・テスト・レビュー用であり、エンドユーザー向けにサービスを提供する手段ではないとも注意している。

AWSはさらに、他の人もコーディングエージェントに指示できる場合は、Amazon Bedrock Guardrailsで有害な指示や応答をフィルタリングすることを検討し、公開前にエージェントの変更をレビューするよう述べている。また、デモ用エージェントのファイルツールは、サイトのフォルダー外のパスを拒否するとしている。

リクエストが拒否されたときに返る応答

AWSが挙げる主な拒否レスポンス
状況runtimeのレスポンス(AWSによる)
ポートがallowedPortsにない403 AccessDenied
有効な認証情報がない403 AccessDeniedまたは401 AuthenticationRequired
許可されたポートで待ち受けているサービスがない502 PortNotReachable
URLに対応するセッションが既に存在しない404 SessionNotFound

AWSはまた、リクエストはAWS CloudTrail(AWS上の操作を記録するサービス)にInvokeAgentRuntimeProxyイベントとして記録され、runtimeは転送前に自身の認証ヘッダーを削除するため、Webサイトにユーザーの署名は渡らないと述べている。

利用条件と既知の制限

  • AWSによると、Session endpointsはmicroVM runtimeが対象で、Instancesコンピュートタイプはサポートされない。
  • AWSによると、URLは公開HTTPS経由でアクセスされ、インバウンド接続(外部からの接続)ではAWS PrivateLinkはサポートされない。
  • AWSのデモに必要な主なもの:Session endpointsが提供されているAWSリージョンのアカウント、Python 3.10以上、bedrock-agentcore 1.25.2以上、boto3 1.43.122以上、Node.js 22以上、Amazon BedrockでのClaude Haiku 5.5へのアクセス。
  • AWSはagentcore-samplesのGitHubリポジトリに完全なサンプルとノートブックを公開している。継続課金を避けるため、終了後はプレビューを停止し、サンプルが作成したruntime、アップロードしたコード、IAMロールを削除することを勧めている。

よくある質問

Session endpointsとは何ですか?

AWSの説明では、AgentCore runtimeの各セッション専用の認証付きURLで、リクエストをユーザーが許可したポートへ転送し、エージェントがセッション内で実行しているアプリをブラウザから確認できるようにするものです。

URLを知っていれば誰でもプレビューを開けますか?

AWSによると、開けません。すべてのリクエストに有効な認証情報(SigV4署名またはbearer token)が必要で、URLを知っているだけではアクセス権は付与されません。

本番Webサイトの外部公開に使えますか?

AWSは向いていないとしています。同社によると、URLはセッションが存続する間のみ有効で、ユーザーにサービスを提供するにはAWS Amplify Hostingなどのホスティングサービスにデプロイすべきです。

Session endpoint経由のリクエストは記録されますか?

AWSによると記録されます。リクエストはAWS CloudTrailにInvokeAgentRuntimeProxyイベントとして記録され、イベントソースはbedrock-agentcore.amazonaws.comです。

このトピックの最新ニュースを見る

出典

ライフスタイル