基礎
以下のトピックでは、Amazon Bedrock AgentCore Browser の仕組みと、リソースの作成とセッションの管理方法について説明します。
ブラウザツールの作成とセッションの開始
-
ブラウザツールを作成する
ブラウザツールを設定するときは、パブリックネットワーク設定、セッション再生の設定の記録、ブラウザツールがアクセスできる AWS リソースを定義する IAM ランタイムロールによるアクセス許可を選択します。
-
セッションの開始
Browser Tool はセッションベースのモデルを使用します。ブラウザツールを作成したら、設定可能なタイムアウト期間 (デフォルトは 15 分) でセッションを開始します。セッションはタイムアウト期間後に自動的に終了します。1 つのブラウザツールに対して複数のセッションを同時にアクティブにでき、各セッションは独自の状態と環境を維持します。
-
ブラウザを操作する
セッションが開始されたら、WebSocket ベースのストリーミング APIs を使用してブラウザとやり取りできます。自動化エンドポイントを使用すると、エージェントはウェブサイトへの移動、要素のクリック、フォームの入力、スクリーンショットの撮影などのブラウザアクションを実行できます。ブラウザ使用や Playwright などのライブラリを使用して、これらのやり取りを簡素化できます。
一方、ライブビューエンドポイントを使用すると、エンドユーザーはブラウザセッションをリアルタイムで監視し、ライブストリームを介して直接操作できます。
-
セッションを停止する
ブラウザセッションの使用が終了したら、ブラウザセッションを停止してリソースを解放し、不要な料金を回避する必要があります。セッションは手動で停止することも、設定されたタイムアウト期間後に自動的に終了することもできます。
アクセス許可
Amazon Bedrock AgentCore ブラウザを使用するには、IAM ポリシーで次のアクセス許可が必要です。
{ "Version":"2012-10-17", "Statement": [ { "Sid": "BedrockAgentCoreInBuiltToolsFullAccess", "Effect": "Allow", "Action": [ "bedrock-agentcore:CreateBrowser", "bedrock-agentcore:ListBrowsers", "bedrock-agentcore:GetBrowser", "bedrock-agentcore:DeleteBrowser", "bedrock-agentcore:StartBrowserSession", "bedrock-agentcore:ListBrowserSessions", "bedrock-agentcore:GetBrowserSession", "bedrock-agentcore:StopBrowserSession", "bedrock-agentcore:UpdateBrowserStream", "bedrock-agentcore:ConnectBrowserAutomationStream", "bedrock-agentcore:ConnectBrowserLiveViewStream" ], "Resource": "arn:aws:bedrock-agentcore:us-east-1:111122223333:browser/*" } ] }
S3 でセッション録画を使用している場合、ブラウザの作成時に指定する実行ロールには、次のアクセス許可が必要です。
{ "Sid": "BedrockAgentCoreBuiltInToolsS3Policy", "Effect": "Allow", "Action": [ "s3:PutObject", "s3:ListMultipartUploadParts", "s3:AbortMultipartUpload" ], "Resource": "arn:aws:s3:::example-s3-bucket/example-prefix/*", "Condition": { "StringEquals": { "aws:ResourceAccount": "{{accountId}}" } } }
また、次の信頼ポリシーを実行ロールに追加する必要があります。
{ "Version":"2012-10-17", "Statement": [{ "Sid": "BedrockAgentCoreBuiltInTools", "Effect": "Allow", "Principal": { "Service": "bedrock-agentcore.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "111122223333" }, "ArnLike": { "aws:SourceArn": "arn:aws:bedrock-agentcore:us-east-1:111122223333:*" } } }] }
API オペレーションのブラウザ設定
以下のコマンドを実行して、すべてのコントロールプレーンおよびデータプレーン API オペレーションに共通のブラウザツールを設定します。
import boto3 import uuid REGION = "<Region>" CP_ENDPOINT_URL = f"https://bedrock-agentcore-control.{REGION}.amazonaws.com" DP_ENDPOINT_URL = f"https://bedrock-agentcore.{REGION}.amazonaws.com" cp_client = boto3.client( 'bedrock-agentcore-control', region_name=REGION, endpoint_url=CP_ENDPOINT_URL ) dp_client = boto3.client( 'bedrock-agentcore', region_name=REGION, endpoint_url=DP_ENDPOINT_URL )
リソース管理
AgentCore Browser には 2 種類のリソースがあります。
- システム ARNs
-
システム ARNsは、使いやすいように事前に作成されたデフォルトのリソースです。これらの ARNs、最も制限の厳しいオプションを含むデフォルト設定があり、Amazon Bedrock AgentCore が利用可能なすべてのリージョンで使用できます。
フィールド 値 ID
aws.browser.v1
ARN
arn:aws:bedrock-agentcore:us-east-1:aws:browser/aws.browser.v1
名前
Amazon Bedrock AgentCore ブラウザツール
説明
AWS 安全なウェブブラウジングのための組み込みブラウザ
ステータス
準備完了
- カスタム ARNs
-
カスタム ARNs を使用すると、独自の設定でブラウザツールを設定できます。ブラウザツールがアクセスできる AWS リソースを定義する IAM ランタイムロールを使用して、パブリックネットワーク設定、記録設定、セキュリティ設定、アクセス許可を選択できます。
ネットワーク設定
AgentCore Browser は、パブリックネットワークモードをサポートしています。このモードでは、ツールはパブリックインターネットリソースにアクセスできます。このオプションを使用すると、外部 APIsおよびサービスとの統合が可能になります。
セッション管理
AgentCore Browser セッションには次の特性があります。
- セッションタイムアウト
-
デフォルト: 900 秒 (15 分)
設定可能: セッションの作成時に最大 8 時間調整可能
- セッションの記録
-
ブラウザセッションは後で確認するために記録できます
録画にはネットワークトラフィックとコンソールログが含まれます
記録は、ブラウザの作成時に指定された S3 バケットに保存されます。
- ライブビュー
-
ライブビュー機能を使用してセッションをリアルタイムで表示できます。
ライブビューは、/browser-streams/aws.browser.v1/sessions/ { session_id}/live-view で利用できます。
- 自動終了
-
セッションは、設定されたタイムアウト期間後に自動的に終了します。
- 複数のセッション
-
1 つのブラウザツールで複数のセッションを同時にアクティブにできます。各セッションは独自の状態と環境を維持します。最大 500 セッションまで設定できます。
- 保持ポリシー
-
セッションデータの有効期限 (TTL) 保持ポリシーは 30 日間です。
分離されたセッションの使用
AgentCore Tools を使用すると、各ユーザーセッションを分離して、複数のツール呼び出しでコンテキストを安全かつ一貫して再利用できます。セッション分離は、動的および複数ステップの実行パターンのため、AI エージェントワークロードにとって特に重要です。
各ツールセッションは、CPU、メモリ、ファイルシステムリソースが分離された専用のmicroVM で実行されます。このアーキテクチャは、あるユーザーのツール呼び出しが別のユーザーのセッションのデータにアクセスできないことを保証します。セッションが完了すると、microVM が完全に終了し、メモリがサニタイズされるため、セッション間のデータ漏洩のリスクがなくなります。