CloudWatch Logs 및 Amazon S3를 사용하여 모델 간접 호출 모니터링 - Amazon Bedrock

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

CloudWatch Logs 및 Amazon S3를 사용하여 모델 간접 호출 모니터링

모델 호출 로깅을 사용하여 리전의 Amazon Bedrock에서 AWS 계정사용되는의 모든 호출에 대한 호출 로그, 모델 입력 데이터 및 모델 출력 데이터를 수집할 수 있습니다.

간접 호출 로깅을 사용하면 리전의 계정에서 수행한 모든 호출과 관련된 전체 요청 데이터, 응답 데이터, 메타데이터를 수집할 수 있습니다. 로그 데이터가 게시될 대상 리소스를 제공하도록 로깅을 구성할 수 있습니다. 지원되는 대상에는 Amazon CloudWatch Logs 및 Amazon Simple Storage Service (S3)가 포함됩니다. 동일한 계정 및 리전의 대상만 지원됩니다.

모델 간접 호출 로깅은 기본적으로 비활성화되어 있습니다. 모델 간접 호출 로깅이 활성화되면 로깅 구성이 삭제될 때까지 로그가 저장됩니다.

다음 작업은 모델 간접 호출을 로깅할 수 있습니다.

Converse API를 사용할 때, 전달한 이미지 또는 문서 데이터는 Amazon S3에 기록됩니다(Amazon S3에서 전송 및 이미지 로깅을 활성화한 경우).

간접 호출 로깅을 활성화하려면 우선 Amazon S3 또는 CloudWatch Logs 대상을 설정해야 합니다. 콘솔 또는 API를 통해 간접 호출 로깅을 활성화할 수 있습니다.

Amazon S3 대상 설정

참고

Amazon S3를 로깅 대상으로 사용하는 경우 모델 호출 로깅 구성을 생성하는 AWS 리전것과 동일한에서 버킷을 생성해야 합니다.

다음 단계에 따라 Amazon Bedrock에서 로깅하려는 S3 대상을 설정할 수 있습니다.

  1. 로그가 전송될 S3 버킷을 생성합니다.

  2. 아래와 같이 버킷 정책을 추가합니다(accountId, region, bucketName, prefix(선택 사항)의 값을 바꿉니다).

    참고

    S3:GetBucketPolicyS3:PutBucketPolicy 권한으로 로깅을 구성하면 사용자를 대신하여 버킷 정책이 버킷에 자동으로 연결됩니다.

    JSON
    { "Version":"2012-10-17", "Statement": [ { "Sid": "AmazonBedrockLogsWrite", "Effect": "Allow", "Principal": { "Service": "bedrock.amazonaws.com" }, "Action": [ "s3:PutObject" ], "Resource": [ "arn:aws:s3:::bucketName/prefix/AWSLogs/123456789012/BedrockModelInvocationLogs/*" ], "Condition": { "StringEquals": { "aws:SourceAccount": "123456789012" }, "ArnLike": { "aws:SourceArn": "arn:aws:bedrock:us-east-1:123456789012:*" } } } ] }
  3. (선택 사항) 버킷에 SSE-KMS를 구성할 경우, KMS 키에서 아래의 정책을 추가합니다.

    { "Effect": "Allow", "Principal": { "Service": "bedrock.amazonaws.com" }, "Action": "kms:GenerateDataKey", "Resource": "*", "Condition": { "StringEquals": { "aws:SourceAccount": "accountId" }, "ArnLike": { "aws:SourceArn": "arn:aws:bedrock:region:accountId:*" } } }

S3 SSE-KMS 구성에 대한 자세한 내용은 KMS 암호화 지정을 참조하세요.

참고

버킷 정책을 적용하려면 버킷 ACL을 비활성화해야 합니다. 자세한 내용은 모든 새 버킷에 대해 ACL 사용 중지 및 객체 소유권 시행을 참조하세요.

CloudWatch Logs 대상 설정

다음 단계에 따라 Amazon Bedrock에서 로깅하려는 Amazon CloudWatch Logs 대상을 설정할 수 있습니다.

  1. 로그가 게시될 CloudWatch 로그 그룹을 생성합니다.

  2. CloudWatch Logs에 대해 다음과 같은 권한을 가진 IAM 역할을 생성합니다.

    신뢰할 수 있는 엔터티:

    JSON
    { "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "bedrock.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "123456789012" }, "ArnLike": { "aws:SourceArn": "arn:aws:bedrock:us-east-1:123456789012:*" } } } ] }

    역할 정책:

    JSON
    { "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "logs:CreateLogStream", "logs:PutLogEvents" ], "Resource": "arn:aws:logs:us-east-1:123456789012:log-group:logGroupName:log-stream:aws/bedrock/modelinvocations" } ] }

CloudWatch Logs에서 CloudWatch Logs용 SSE를 설정하는 방법에 대한 자세한 내용은 CloudWatch Logs의 로그 데이터를 AWS Key Management Service으로 암호화하기를 참조하세요.

콘솔을 사용한 모델 간접 호출 로깅

모델 호출 로깅을 활성화하려면

Amazon Bedrock 콘솔을 사용할 권한이 있는 IAM 자격 증명AWS Management 콘솔으로에 로그인합니다. 그 다음 https://console.aws.amazon.com/bedrock에서 Amazon Bedrock 콘솔을 엽니다.

  1. 왼쪽 탐색 창에서 설정을 선택합니다.

  2. 모델 호출 로깅 페이지에서 모델 호출 로깅을 선택합니다. 로깅에 대한 추가 구성 설정이 표시됩니다.

  3. 로그에 게시하려는 데이터 요청 및 응답의 형식을 선택합니다. 다음 출력 옵션의 조합을 선택할 수 있습니다.

    • 텍스트

    • 이미지

    • 임베딩

    • 비디오

    참고

    선택한 양식(입력 또는 출력)을 지원하는 모든 모델에 대해 데이터가 기록됩니다. 예를 들어 이미지를 선택하면 이미지 입력, 이미지 출력 또는 둘 다를 지원하는 모든 모델에 대해 모델 호출이 로깅됩니다.

  4. 로그를 게시할 위치를 선택합니다.

    • Amazon S3에만 게시

    • CloudWatch Logs에만 게시

    • CloudWatch Logs 및 Amazon S3 양쪽 모두에 게시

로깅 대상

Amazon S3 및 CloudWatch Logs 대상은 간접 호출 로그와 소규모 입력 및 출력 데이터에 대해 지원됩니다. 대규모 입력 및 출력 데이터 또는 바이너리 이미지 출력의 경우, Amazon S3만 지원됩니다. 아래의 세부 정보에는 데이터가 대상 위치에 어떻게 표시되는지 요약되어 있습니다.

  • S3 대상 - 각각 간접 호출 로그 레코드 배치를 포함하는 Gzip으로 압축된 JSON 파일이 지정된 S3 버킷으로 전송됩니다. CloudWatch Logs 이벤트와 마찬가지로, 각 레코드에는 간접 호출 메타데이터와 최대 100KB 크기의 입력 및 출력 JSON 본문이 포함됩니다. 100KB보다 큰 바이너리 데이터 또는 JSON 본문은 데이터 접두사 아래에 지정된 Amazon S3 버킷에 개별 객체로 업로드됩니다. Amazon S3 Select 및 Amazon Athena를 사용하여 데이터를 쿼리할 수 있으며, AWS Glue를 사용하여 ETL에 대해 카탈로그화할 수 있습니다. 데이터는 OpenSearch Service에 로드하거나, 모든 Amazon EventBridge 대상에서 처리할 수 있습니다.

  • CloudWatch 로그 대상 - JSON 간접 호출 로그 이벤트는 CloudWatch Logs의 지정된 로그 그룹으로 전송됩니다. 로그 이벤트에는 간접 호출 메타데이터와 최대 100KB 크기의 입력 및 출력 JSON 본문이 포함됩니다. 대용량 데이터 전송을 위한 Amazon S3 위치가 제공된 경우, 100KB보다 큰 바이너리 데이터 또는 JSON 본문이 데이터 접두사 아래의 Amazon S3 버킷에 업로드됩니다. CloudWatch Logs Insights를 사용하여 데이터를 쿼리할 수 있으며, CloudWatch Logs를 사용하여 실시간으로 다양한 서비스로 데이터를 스트리밍할 수 있습니다.

API를 사용한 모델 간접 호출 로깅

다음과 같은 API를 사용하여 모델 간접 호출 로깅을 구성할 수 있습니다.