View a markdown version of this page

브라우저 확장 사용 - Amazon Bedrock AgentCore

브라우저 확장 사용

브라우저 확장을 사용하면 세션 생성 시 브라우저 세션에 사용자 지정 확장을 설치할 수 있습니다. 이를 통해 자동화 작업, 웹 스크레이핑, 테스트 등에 대한 자체 확장을 사용하여 브라우저 동작을 사용자 지정할 수 있습니다.

개요

Amazon Bedrock AgentCore의 브라우저 확장은 다음과 같이 작동합니다.

  1. 자체 Amazon S3 버킷에 저장된 브라우저 확장 ZIP 파일 목록을 제공합니다.

  2. 서비스는 자격 증명을 사용하여 이러한 Amazon S3 객체에 액세스할 수 있는지 확인합니다.

  3. 브라우저 세션을 시작하는 동안 확장은 Amazon S3 버킷에서 다운로드되어 브라우저 세션에 설치됩니다.

사전 조건

브라우저 확장을 사용하기 전에 다음을 갖추어야 합니다.

  • 일반 브라우저 사전 조건 완료

  • 확장 ZIP 파일을 저장할 Amazon S3 버킷

  • 확장이 포함된 Amazon S3 버킷에 액세스할 수 있는 IAM 권한입니다. IAM 정책에 다음 권한을 추가합니다.

    { "Version": "2012-10-17", "Statement": [ { "Sid": "ExtensionS3Access", "Effect": "Allow", "Action": [ "s3:GetObject", "s3:GetObjectVersion" ], "Resource": [ "arn:aws:s3:::<S3Bucket>/<path_to_extensions>/*" ] } ] }
    참고

    Amazon S3 버킷은 브라우저 세션과 동일한 AWS 계정에 있어야 합니다. 확장에는 10MB 파일 크기 제한과 세션당 최대 10개의 확장자가 있습니다.

확장 파일 준비

브라우저 도구와 함께 사용할 확장을 준비하려면:

  1. Chrome 확장 생성

    확장은 표준 Chromium 확장 형식을 따르고 Chromium 확장 지침을 준수해야 합니다. 각 확장명에는 유효한 manifest.json 파일이 포함되어야 합니다.

  2. ZIP 파일 생성

    확장 디렉터리 콘텐츠(상위 폴더 아님)를 압축합니다.

    cd my-extension zip -r ../my-extension.zip.
  3. S3에 업로드

    Amazon S3 버킷에 ZIP 파일을 업로드합니다.

    aws s3 cp my-extension.zip s3://my-extensions-bucket/extensions/my-extension.zip

확장을 사용하여 브라우저 세션 생성

AWS CLI, SDK 또는 API를 사용하여 확장으로 브라우저 세션을 생성할 수 있습니다.

AWS CLI
  1. AWS CLI를 사용하여 확장으로 브라우저 세션을 시작하려면:

    aws bedrock-agentcore start-browser-session \ --region <Region> \ --browser-identifier "aws.browser.v1" \ --name "my-session-with-extensions" \ --session-timeout-seconds 1800 \ --extensions '[ { "location": { "s3": { "bucket": "my-extensions-bucket", "prefix": "extensions/my-extension.zip" } } } ]'
Boto3
  1. AWS SDK for Python(Boto3)을 사용하여 확장으로 브라우저 세션을 시작하려면:

    import boto3 region = "us-west-2" client = boto3.client('bedrock-agentcore', region_name=region) response = client.start_browser_session( browserIdentifier="aws.browser.v1", name="my-session-with-extensions", sessionTimeoutSeconds=1800, viewPort={ 'height': 1080, 'width': 1920 }, extensions=[ { "location": { "s3": { "bucket": "my-extensions-bucket", "prefix": "extensions/my-extension.zip" } } }, { "location": { "s3": { "bucket": "my-extensions-bucket", "prefix": "extensions/another-extension.zip", "versionId": "abc123" # Optional - for versioned S3 buckets } } } ] ) print(f"Session ID: {response['sessionId']}") print(f"Status: {response['status']}") print(f"Automation Stream: {response['streams']['automationStream']['streamEndpoint']}")
API
  1. API를 사용하여 확장으로 브라우저 세션을 시작하려면:

    # Using awscurl awscurl -X PUT \ "https://bedrock-agentcore.<Region>.amazonaws.com/browsers/aws.browser.v1/sessions/start" \ -H "Content-Type: application/json" \ -H "Accept: application/json" \ --service bedrock-agentcore \ --region <Region> \ -d '{ "name": "my-session-with-extensions", "sessionTimeoutSeconds": 1800, "viewPort": { "height": 1080, "width": 1920 }, "extensions": [ { "location": { "s3": { "bucket": "my-extensions-bucket", "prefix": "extensions/my-extension.zip" } } }, { "location": { "s3": { "bucket": "my-extensions-bucket", "prefix": "extensions/another-extension.zip" } } } ] }'