

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

# 를 사용하여 Amazon Bedrock에서 모델 호출 로깅 구성 AWS CloudFormation
<a name="configure-bedrock-invocation-logging-cloudformation"></a>

*Vikramaditya Bhatnagar, Amazon Web Services*

## 요약
<a name="configure-bedrock-invocation-logging-cloudformation-summary"></a>

모델 간접 호출 로깅을 사용하면 Amazon Bedrock에서 사용되는 AWS 계정의 모든 간접 호출에 대한 간접 호출 로그, 모델 입력 데이터, 모델 출력 데이터를 수집할 수 있습니다. 이는 Amazon Bedrock을 사용하여 강력한 생성형 AI 애플리케이션을 구축하는 [모범 사례](https://aws.amazon.com/blogs/machine-learning/best-practices-for-building-robust-generative-ai-applications-with-amazon-bedrock-agents-part-2/)입니다. 모델 간접 호출 로그를 Amazon CloudWatch Logs 로그 그룹, Amazon Simple Storage Service(Amazon S3) 버킷 또는 둘 다에 저장할 수 있습니다. CloudWatch Logs에 로그 데이터가 있으면 사용자 지정 지표 필터, 경보 및 대시보드를 생성하는 데 도움이 됩니다. Amazon S3는 조직의 정책에 따라 전체 AWS 리전 또는 장기 스토리지에 데이터를 복제하는 데 적합합니다.

이 패턴은 코드형 인프라(IaC) 접근 방식을 사용하여 Amazon Bedrock에 대한 모델 호출 로깅을 구성하는 샘플 AWS CloudFormation 템플릿을 제공합니다. 템플릿은 CloudWatch Logs와 Amazon S3 모두에서 로그 스토리지를 구성합니다.

## 사전 조건 및 제한 사항
<a name="configure-bedrock-invocation-logging-cloudformation-prereqs"></a>

**사전 조건 **
+ 활성 AWS 계정
+ 다음 권한:
  + CloudFormation 스택을 생성할 [권한](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-iam-template.html)
  + Amazon Bedrock 모델에 액세스할 수 있는 권한
  + Amazon S3 버킷을 생성하고 액세스할 수 있는 [권한](https://docs.aws.amazon.com/AmazonS3/latest/userguide/example-policies-s3.html) 
  + CloudWatch Logs 로그 그룹에 액세스할 수 있는 권한.
  +  AWS Lambda 함수를 생성하고 액세스할 수 있는 [권한](https://docs.aws.amazon.com/lambda/latest/dg/security-iam-awsmanpol.html) 
  + 키 생성 및 액세스 AWS Key Management Service (AWS KMS) [권한](https://docs.aws.amazon.com/kms/latest/developerguide/customer-managed-policies.html) 

**제한 사항 **

이 패턴은 CloudWatch Logs와 Amazon S3 모두에 대한 모델 간접 호출을 로깅합니다. 이 두 서비스 중 하나만 선택하는 것은 지원하지 않습니다.

## 아키텍처
<a name="configure-bedrock-invocation-logging-cloudformation-architecture"></a>

**대상 아키텍처**

CloudFormation 템플릿은 대상에 다음 리소스를 프로비저닝합니다. AWS 계정
+ 모델 간접 호출 로그를 저장하기 위한 CloudWatch Logs 로그 그룹
+ 모델 간접 호출 로그 및 해당 버킷 정책을 저장하기 위한 Amazon S3 버킷
+ 서버 측 액세스 로그 및 해당 버킷 정책을 저장하기 위한 Amazon S3 버킷
+ Amazon Bedrock에서 로깅 설정을 구성하는 AWS Lambda 함수
+  AWS KMS key 및 해당 키 별칭
+ Amazon Bedrock에 대한 AWS Identity and Access Management (IAM) 서비스 역할

다음 다이어그램은 이 패턴과 연결된 CloudFormation 스택을 배포한 후 간접 호출 로그가 저장되는 방법을 보여줍니다. Amazon Bedrock은 파운데이션 모델이 텍스트, 이미지, 비디오 또는 임베딩 데이터를 전송할 때 로그 데이터를 게시합니다. 다이어그램과 같이 Amazon S3 버킷과 CloudWatch Logs 로그 그룹은 로 암호화됩니다 AWS KMS key.

![Amazon Bedrock 파운데이션 모델의 간접 호출을 로깅하는 워크플로입니다.](http://docs.aws.amazon.com/ko_kr/prescriptive-guidance/latest/patterns/images/pattern-img/a55e7495-ec84-4d41-886e-5c37b37aac67/images/a958d52f-9072-40af-80cb-360f6c1c7fd5.png)


이 다이어그램은 다음 워크플로를 보여줍니다.

1. 사용자가 Amazon Bedrock의 파운데이션 모델에 쿼리를 제출합니다.

1. Amazon Bedrock은 IAM 서비스 역할을 수임합니다.

1. Amazon Bedrock은 로그 데이터를 생성하여 CloudWatch Logs 로그 그룹 및 Amazon S3 버킷에 저장합니다.

1. 사용자가 모델 간접 호출 로그가 포함된 Amazon S3 버킷의 파일을 읽거나 업로드하거나 삭제하는 경우 해당 활동은 서버 측 액세스 로그를 위해 다른 Amazon S3 버킷에 로깅됩니다.

**자동화 및 규모 조정**

이 솔루션을 확장하려면 CloudFormation 템플릿을 여러 AWS 리전 및 로 설정된 스택으로 배포할 수 있습니다 AWS 계정. 자세한 내용은 [StackSets를 사용하여 여러 계정 및 리전의 스택 관리](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/what-is-cfnstacksets.html)를 참조하세요.

## 도구
<a name="configure-bedrock-invocation-logging-cloudformation-tools"></a>

**AWS 서비스**
+ Amazon Bedrock은 선도적인 AI 기업과 Amazon의 고성능 파운데이션 모델(FM)을 통합 API를 통해 사용할 수 있게 해주는 완전 관리형 서비스입니다.
+ [AWS CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html)는 AWS 리소스를 설정하고, 빠르고 일관되게 프로비저닝하고, AWS 계정 및 전체 수명 주기 동안 리소스를 관리할 수 있도록 지원합니다 AWS 리전.
+ [Amazon CloudWatch Logs](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/WhatIsCloudWatchLogs.html)를 사용하면 모든 시스템, 애플리케이션 및의 로그를 중앙 집중화 AWS 서비스 하여 모니터링하고 안전하게 보관할 수 있습니다.
+ [AWS Identity and Access Management (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html)는 AWS 리소스에 대한 액세스를 인증하고 사용할 수 있는 권한을 부여받은 사용자를 제어하여 리소스에 대한 액세스를 안전하게 관리하는 데 도움이 됩니다.
+ [AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/welcome.html)는 서버를 프로비저닝하거나 관리할 필요 없이 코드를 실행하는 데 도움이 되는 컴퓨팅 서비스입니다. 필요할 때만 코드를 실행하며 자동으로 확장이 가능하므로 사용한 컴퓨팅 시간만큼만 비용을 지불합니다.
+ [AWS Key Management Service (AWS KMS)](https://docs.aws.amazon.com/kms/latest/developerguide/overview.html)를 사용하면 암호화 키를 생성하고 제어하여 데이터를 보호할 수 있습니다.
+ Amazon Simple Storage Service(Amazon S3)는 업계 최고의 확장성, 데이터 가용성, 보안 및 성능을 제공하는 객체 스토리지 서비스입니다.

**기타 도구**
+ [Git](https://git-scm.com/docs)은 오픈 소스 분산 버전 제어 시스템입니다.

**코드 리포지토리**

이 패턴의 코드는 GitHub [enable-bedrock-logging-using-cloudformation](https://github.com/aws-samples/enable-bedrock-logging-using-cloudformation) 리포지토리에서 사용할 수 있습니다.

## 에픽
<a name="configure-bedrock-invocation-logging-cloudformation-epics"></a>

### CloudFormation 스택을 생성하십시오.
<a name="create-the-cfnshort-stack"></a>


| 작업 | 설명 | 필요한 기술 | 
| --- | --- | --- | 
| CloudFormation 템플릿을 다운로드하십시오. | GitHub [리포지토리](https://github.com/aws-samples/enable-bedrock-logging-using-cloudformation/blob/main/enable-bedrock-logging-using-cloudformation.yaml)에서 CloudFormation 템플릿을 다운로드합니다. | 클라우드 아키텍트 | 
|  템플릿을 배포합니다. | 대상 계정 및 리전에 스택을 생성합니다. **파라미터** 섹션에서 템플릿에 정의된 파라미터의 값을 지정합니다. 자세한 지침은 CloudFormation 설명서의 [스택 생성](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-console-create-stack.html)을 참조하세요. | 클라우드 아키텍트 | 

### 솔루션 테스트
<a name="test-the-solution"></a>


| 작업 | 설명 | 필요한 기술 | 
| --- | --- | --- | 
| 모델 액세스를 활성화합니다. | Amazon Bedrock 파운데이션 모델에 대한 액세스 추가 또는 제거 지침은 Amazon Bedrock 설명서의 [Amazon Bedrock 파운데이션 모델에 대한 액세스 추가 또는 제거](https://docs.aws.amazon.com/bedrock/latest/userguide/model-access-modify.html)를 참조하세요. | 클라우드 아키텍트 | 
| 샘플 프롬프트를 실행합니다. | Amazon Bedrock 플레이그라운드에서 샘플 프롬프트를 실행합니다. 지침은 Amazon Bedrock 설명서[의 플레이그라운드를 사용하여 콘솔에서 응답 생성을 참조하세요](https://docs.aws.amazon.com/bedrock/latest/userguide/playgrounds.html). | 클라우드 아키텍트 | 
| 로깅 구성을 검토합니다. | [See the AWS documentation website for more details](http://docs.aws.amazon.com/ko_kr/prescriptive-guidance/latest/patterns/configure-bedrock-invocation-logging-cloudformation.html) | 클라우드 아키텍트 | 
| 다음과 같이 Amazon S3 버킷을 생성합니다. | [See the AWS documentation website for more details](http://docs.aws.amazon.com/ko_kr/prescriptive-guidance/latest/patterns/configure-bedrock-invocation-logging-cloudformation.html) | 클라우드 아키텍트 | 
| 로그 그룹을 검토합니다. | [See the AWS documentation website for more details](http://docs.aws.amazon.com/ko_kr/prescriptive-guidance/latest/patterns/configure-bedrock-invocation-logging-cloudformation.html) | 클라우드 아키텍트 | 

## 관련 리소스
<a name="configure-bedrock-invocation-logging-cloudformation-resources"></a>

**AWS 설명서**
+ [Amazon S3 버킷 액세스](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-bucket-intro.html)(Amazon S3 설명서)
+ [스택 생성 및 관리](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacks.html)(CloudFormation 설명서)
+ [모델 간접 호출 모니터링](https://docs.aws.amazon.com/bedrock/latest/userguide/model-invocation-logging.html)(Amazon Bedrock 설명서)
+ [로그 그룹 및 로그 스트림 작업](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/Working-with-log-groups-and-streams.html)(CloudWatch Logs 설명서)

**AWS 블로그 게시물**
+ [Amazon Bedrock 및 Amazon CloudWatch 통합을 사용하여 생성형 AI 애플리케이션 모니터링](https://aws.amazon.com/blogs/mt/monitoring-generative-ai-applications-using-amazon-bedrock-and-amazon-cloudwatch-integration/)
+ [Amazon Bedrock Agents를 사용하여 강력한 생성형 AI 애플리케이션을 빌드하는 모범 사례 - 1부](https://aws.amazon.com/blogs/machine-learning/best-practices-for-building-robust-generative-ai-applications-with-amazon-bedrock-agents-part-1/)
+ [Amazon Bedrock Agents를 사용하여 강력한 생성형 AI 애플리케이션을 구축하는 모범 사례 - 2부](https://aws.amazon.com/blogs/machine-learning/best-practices-for-building-robust-generative-ai-applications-with-amazon-bedrock-agents-part-2/)