모델 간접 호출 로깅 - Amazon Bedrock

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

모델 간접 호출 로깅

모델 호출 로깅은 Amazon Bedrock에서 사용되는 모든 호출에 대한 호출 로그, 모델 입력 데이터 및 모델 출력 데이터를 수집하는 데 사용할 수 있습니다 AWS 계정 . 기본적으로 로깅은 비활성화되어 있으며,

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

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

Amazon S3 대상 설정

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

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

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

    참고

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

    { "Version": "2012-10-17", "Statement": [ { "Sid": "AmazonBedrockLogsWrite", "Effect": "Allow", "Principal": { "Service": "bedrock.amazonaws.com" }, "Action": [ "s3:PutObject" ], "Resource": [ "arn:aws:s3:::bucketName/prefix/AWSLogs/accountId/BedrockModelInvocationLogs/*" ], "Condition": { "StringEquals": { "aws:SourceAccount": "accountId" }, "ArnLike": { "aws:SourceArn": "arn:aws:bedrock:region:accountId:*" } } } ] }
  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 로그 대상 설정

다음 단계에 따라 Amazon Bedrock에 로그인하기 위한 Amazon CloudWatch Logs 대상을 설정할 수 있습니다.

  1. 로그를 게시할 CloudWatch 로그 그룹을 생성하십시오.

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

    신뢰할 수 있는 엔터티:

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

    역할 정책:

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

CloudWatch 로그용 SSE 설정에 대한 자세한 내용은 AWS Key Management Service를 사용하여 CloudWatch 로그의 로그 데이터 암호화를 참조하십시오.

콘솔 사용

모델 간접 호출 로깅을 활성화하려면 설정 페이지의 로깅 토글 스위치 옆에 있는 슬라이더 버튼을 드래그합니다. 로깅을 위한 추가 구성 설정이 패널에 표시됩니다.

로그에 게시할 데이터 요청 및 응답을 선택합니다. 다음과 같은 출력 옵션을 조합하여 선택할 수도 있습니다.

  • 텍스트

  • 이미지

  • 임베딩

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

  • Amazon S3에만 게시

  • CloudWatch 로그만

  • 아마존 S3와 CloudWatch 로그 모두

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 서비스에 로드되거나 모든 Amazon EventBridge 대상에서 처리될 수 있습니다.

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

간접 호출 로깅과 함께 API 사용

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

  • PutModelInvocationLoggingConfiguration

  • GetModelInvocationLoggingConfiguration

  • DeleteModelInvocationLoggingConfiguration

간접 호출 로깅과 함께 API를 사용하는 방법에 대한 자세한 내용은 Bedrock API 가이드를 참조하세요.