기본 사항
다음 주제에서는 Amazon Bedrock AgentCore 브라우저의 작동 방식과 리소스를 생성하고 세션을 관리하는 방법을 보여줍니다.
브라우저 도구 생성 및 세션 시작
-
브라우저 도구 생성
브라우저 도구를 구성할 때 퍼블릭 네트워크 설정, 세션 재생을 위한 레코딩 구성, 브라우저 도구가 액세스할 수 있는 AWS 리소스를 정의하는 IAM 런타임 역할을 통한 권한을 선택합니다.
-
세션 시작
브라우저 도구는 세션 기반 모델을 사용합니다. 브라우저 도구를 생성한 후 구성 가능한 제한 시간(기본값은 15분)으로 세션을 시작합니다. 세션은 제한 시간 이후에 자동으로 종료됩니다. 단일 브라우저 도구에 대해 여러 세션을 동시에 활성화할 수 있으며 각 세션은 자체 상태 및 환경을 유지합니다.
-
브라우저와 상호 작용
세션이 시작되면 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 브라우저는 두 가지 유형의 리소스를 제공합니다.
- 시스템 ARNs
-
시스템 ARNs은 사용하기 쉽도록 미리 생성된 기본 리소스입니다. 이러한 ARNs에는 가장 제한적인 옵션이 포함된 기본 구성이 있으며 Amazon Bedrock AgentCore를 사용할 수 있는 모든 리전에서 사용할 수 있습니다.
Field 값 ID
aws.browser.v1
ARN
arn:aws:bedrock-agentcore:us-east-1:aws:browser/aws.browser.v1
이름
Amazon Bedrock AgentCore 브라우저 도구
설명
AWS 보안 웹 브라우징을 위한 내장 브라우저
Status
준비됨
- 사용자 지정 ARNs
-
사용자 지정 ARNs 사용하면 자체 설정으로 브라우저 도구를 구성할 수 있습니다. 브라우저 도구가 액세스할 수 있는 AWS 리소스를 정의하는 IAM 런타임 역할을 통해 퍼블릭 네트워크 설정, 레코딩 구성, 보안 설정 및 권한을 선택할 수 있습니다.
네트워크 설정
AgentCore 브라우저는 퍼블릭 네트워크 모드를 지원합니다. 이 모드를 사용하면 도구가 퍼블릭 인터넷 리소스에 액세스할 수 있습니다. 이 옵션을 사용하면 외부 APIs.
세션 관리
AgentCore 브라우저 세션의 특성은 다음과 같습니다.
- 세션 제한 시간
-
기본값: 900초(15분)
구성 가능: 세션을 생성할 때 최대 8시간까지 조정할 수 있습니다.
- 세션 레코딩
-
나중에 검토할 수 있도록 브라우저 세션을 기록할 수 있습니다.
레코딩에는 네트워크 트래픽 및 콘솔 로그가 포함됩니다.
레코딩은 브라우저 생성 중에 지정된 S3 버킷에 저장됩니다.
- 라이브 뷰
-
라이브 뷰 기능을 사용하여 실시간으로 세션을 볼 수 있습니다.
라이브 뷰는 /browser-streams/aws.browser.v1/sessions/ { session_id}/live-view에서 사용할 수 있습니다.
- 자동 종료
-
세션은 구성된 제한 시간 이후에 자동으로 종료됩니다.
- 다중 세션
-
단일 브라우저 도구에 대해 여러 세션을 동시에 활성화할 수 있습니다. 각 세션은 자체 상태 및 환경을 유지합니다. 최대 500개의 세션이 있을 수 있습니다.
- 보존 정책
-
세션 데이터에 대한 TTL(Time To Live) 보존 정책은 30일입니다.
격리된 세션 사용
AgentCore 도구를 사용하면 각 사용자 세션을 격리하여 여러 도구 호출에서 컨텍스트를 안전하고 일관되게 재사용할 수 있습니다. 세션 격리는 동적 및 다단계 실행 패턴으로 인해 AI 에이전트 워크로드에 특히 중요합니다.
각 도구 세션은 격리된 CPU, 메모리 및 파일 시스템 리소스가 있는 전용 microVM에서 실행됩니다. 이 아키텍처는 한 사용자의 도구 호출이 다른 사용자의 세션에서 데이터에 액세스할 수 없도록 보장합니다. 세션이 완료되면 microVM이 완전히 종료되고 메모리가 삭제되므로 세션 간 데이터 유출 위험이 없습니다.