

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

# 관찰성
<a name="observability"></a>

Amazon Bedrock의 관찰성은 성능을 추적하고 리소스를 관리하며 배포를 자동화하는 데 도움이 됩니다.

**Topics**
+ [Amazon Bedrock의 성능 모니터링](monitoring.md)
+ [Amazon Bedrock 리소스 태그 지정](tagging.md)

# Amazon Bedrock의 성능 모니터링
<a name="monitoring"></a>

원시 데이터를 수집하여 읽기 가능하고 실시간에 가까운 지표로 처리하는 Amazon CloudWatch를 사용해 Amazon Bedrock 애플리케이션의 모든 부분을 모니터링할 수 있습니다. CloudWatch 콘솔을 사용하여 지표를 그래프로 작성할 수 있습니다. 특정 임계값을 감시하다가 해당 임계값을 초과할 경우 알림을 전송하거나 조치를 취하도록 경보를 설정할 수도 있습니다.

자세한 내용은 **Amazon CloudWatch 사용 설명서에서 [Amazon CloudWatch란 무엇인가요?](https://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/WhatIsCloudWatch.html)를 참조하세요.

Amazon Bedrock은 애플리케이션의 다양한 구성 요소에 걸쳐 포괄적인 모니터링 기능을 제공합니다.
+ [CloudWatch Logs 및 Amazon S3를 사용하여 모델 간접 호출 모니터링](model-invocation-logging.md) - CloudWatch Logs 및 Amazon S3를 사용하여 모델 호출을 추적하고 분석합니다.
+ [CloudWatch Logs를 사용하여 지식 기반 모니터링](knowledge-bases-logging.md) - 지식 기반 운영 및 성능을 모니터링합니다.
+ [CloudWatch 지표를 사용하여 Amazon Bedrock Guardrails 모니터링](monitoring-guardrails-cw-metrics.md) - 가드레일 평가 및 정책 적용을 추적합니다.
+ [CloudWatch 지표를 사용하여 Amazon Bedrock Agents 모니터링](monitoring-agents-cw-metrics.md) - 에이전트 호출 및 성능 지표를 모니터링합니다.
+ [Amazon Bedrock 런타임 지표](#runtime-cloudwatch-metrics) - 호출, 지연 시간, 오류 및 토큰 수를 포함한 주요 런타임 지표를 봅니다.
+ [Amazon EventBridge를 사용하여 Amazon Bedrock 작업 상태 변경 모니터링이벤트 변경 모니터링](monitoring-eventbridge.md) - 작업 상태 변경을 추적하고 이벤트에 대한 응답을 자동화합니다.
+ [CloudTrail을 사용하여 Amazon Bedrock API 직접 호출 모니터링](logging-using-cloudtrail.md) - API 호출을 감사하고 사용자 활동을 추적합니다.

**Topics**
+ [CloudWatch Logs 및 Amazon S3를 사용하여 모델 간접 호출 모니터링](model-invocation-logging.md)
+ [CloudWatch Logs를 사용하여 지식 기반 모니터링](knowledge-bases-logging.md)
+ [CloudWatch 지표를 사용하여 Amazon Bedrock Guardrails 모니터링](monitoring-guardrails-cw-metrics.md)
+ [CloudWatch 지표를 사용하여 Amazon Bedrock Agents 모니터링](monitoring-agents-cw-metrics.md)
+ [Amazon Bedrock 런타임 지표](#runtime-cloudwatch-metrics)
+ [Amazon Bedrock에 대한 CloudWatch 지표](#br-cloudwatch-metrics)
+ [Amazon EventBridge를 사용하여 Amazon Bedrock 작업 상태 변경 모니터링](monitoring-eventbridge.md)
+ [CloudTrail을 사용하여 Amazon Bedrock API 직접 호출 모니터링](logging-using-cloudtrail.md)

# CloudWatch Logs 및 Amazon S3를 사용하여 모델 간접 호출 모니터링
<a name="model-invocation-logging"></a>

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

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

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

다음 작업은 모델 간접 호출을 로깅할 수 있습니다.
+ [Converse](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_Converse.html)
+ [ConverseStream](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_ConverseStream.html)
+ [InvokeModel](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InvokeModel.html)
+ [InvokeModelWithResponseStream](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InvokeModelWithResponseStream.html)

[Converse API를 사용](conversation-inference-call.md)할 때, 전달한 이미지 또는 문서 데이터는 Amazon S3에 기록됩니다(Amazon S3에서 전송 및 이미지 로깅을 [활성화](#model-invocation-logging-console)한 경우).

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

**Topics**
+ [Amazon S3 대상 설정](#setup-s3-destination)
+ [CloudWatch Logs 대상 설정](#setup-cloudwatch-logs-destination)
+ [콘솔을 사용한 모델 간접 호출 로깅](#model-invocation-logging-console)
+ [API를 사용한 모델 간접 호출 로깅](#using-apis-logging)

## Amazon S3 대상 설정
<a name="setup-s3-destination"></a>

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

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

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

1. 아래와 같이 버킷 정책을 추가합니다(*accountId*, *region*, *bucketName*, *prefix*(선택 사항)의 값을 바꿉니다).
**참고**  
`S3:GetBucketPolicy` 및 `S3: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:*"
                   }
               }
           }
       ]
   }
   ```

------

1. (선택 사항) 버킷에 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 암호화 지정](https://docs.aws.amazon.com/AmazonS3/latest/userguide/specifying-kms-encryption.html)을 참조하세요.

**참고**  
버킷 정책을 적용하려면 버킷 ACL을 비활성화해야 합니다. 자세한 내용은 [모든 새 버킷에 대해 ACL 사용 중지 및 객체 소유권 시행](https://docs.aws.amazon.com/AmazonS3/latest/userguide/ensure-object-ownership.html)을 참조하세요.

## CloudWatch Logs 대상 설정
<a name="setup-cloudwatch-logs-destination"></a>

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

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

1. 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으로 암호화하기](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/encrypt-log-data-kms.html)를 참조하세요.

## 콘솔을 사용한 모델 간접 호출 로깅
<a name="model-invocation-logging-console"></a>

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

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

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

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

1. 로그에 게시하려는 데이터 요청 및 응답의 형식을 선택합니다. 다음 출력 옵션의 조합을 선택할 수 있습니다.
   + 텍스트
   + 이미지
   + 임베딩
   + 비디오
**참고**  
선택한 양식(입력 또는 출력)을 지원하는 *모든* 모델에 대해 데이터가 기록됩니다. 예를 들어 **이미지를** 선택하면 이미지 입력, 이미지 출력 또는 둘 다를 지원하는 모든 모델에 대해 모델 호출이 로깅됩니다.

1. 로그를 게시할 위치를 선택합니다.
   + 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를 사용한 모델 간접 호출 로깅
<a name="using-apis-logging"></a>

다음과 같은 API를 사용하여 모델 간접 호출 로깅을 구성할 수 있습니다.
+ [PutModelInvocationLoggingConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_PutModelInvocationLoggingConfiguration.html)
+ [GetModelInvocationLoggingConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_GetModelInvocationLoggingConfiguration.html)
+ [DeleteModelInvocationLoggingConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_DeleteModelInvocationLoggingConfiguration.html)

# CloudWatch Logs를 사용하여 지식 기반 모니터링
<a name="knowledge-bases-logging"></a>

Amazon Bedrock은 모니터링 시스템을 지원하므로 지식 기반에 대한 모든 데이터 수집 작업의 실행을 이해하는 데 도움이 됩니다. 다음 섹션에서는 및 CloudWatch API를 모두 사용하여 Amazon Bedrock 지식 기반에 대한 로깅 시스템을 활성화 AWS Management Console 하고 구성하는 방법을 다룹니다. 이 로깅 시스템을 사용하여 지식 기반 리소스의 데이터 수집을 확인할 수 있습니다.

## 콘솔을 사용한 지식 기반 로깅
<a name="knowledge-bases-logging-console"></a>

 AWS Management Console을 사용하여 Amazon Bedrock 지식 기반에 대한 로깅을 활성화하는 방법:

1. **지식 기반 생성**: Amazon Bedrock AWS Management Console 용를 사용하여 [새 지식 기반을 생성합니다](https://docs.aws.amazon.com/bedrock/latest/userguide/knowledge-base-create.html).

1. **로그 전송 옵션 추가**: 지식 기반을 만든 후 지식 기반을 편집하거나 업데이트하여 로그 전송 옵션을 추가합니다.
**참고**  
구조화된 데이터 스토어 또는 Kendra GenAI 인덱스를 사용하여 지식 기반을 생성할 때는 로그 전송이 지원되지 않습니다.

   **로그 전송 세부 정보 구성**: 다음을 포함하여 로그 전송에 대한 세부 정보를 입력합니다.
   + 로깅 대상(CloudWatch Logs, Amazon S3, Amazon Data Firehose 중 하나)
   + (CloudWatch Logs를 로깅 대상으로 사용하는 경우) 로그 그룹 이름
   + (Amazon S3를 로깅 대상으로 사용하는 경우) 버킷 이름
   + (Amazon Data Firehose를 로깅 대상으로 사용하는 경우) Firehose 스트림

1. **액세스 권한 포함**: 콘솔에 로그인한 사용자는 수집된 로그를 선택한 대상에 쓰는 데 필요한 권한이 있어야 합니다.

   다음 예제 IAM 정책을 콘솔에 로그인한 사용자에게 연결하여 CloudWatch Logs를 사용할 때 필요한 권한을 부여할 수 있습니다

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": "logs:CreateDelivery",
               "Resource": [
                   "arn:aws:logs:us-east-1:123456789012:delivery-source:*",
                   "arn:aws:logs:us-east-1:123456789012:delivery:*",
                   "arn:aws:logs:us-east-1:123456789012:delivery-destination:*"
               ]
           }
       ]
   }
   ```

------

1. **전송 상태 확인**: 콘솔에서 로그 전송 상태가 “전송 활성화”인지 확인합니다.

## CloudWatch API를 사용한 지식 기반 로깅
<a name="knowledge-bases-logging-cloudwatch-api"></a>

CloudWatch API를 사용하여 Amazon Bedrock 지식 기반에 대한 로깅을 활성화하는 방법:

1. **지식 기반의 ARN 가져오기**: Amazon Bedrock API 또는 Amazon Bedrock 콘솔을 사용하여 [지식 기반을 만든](https://docs.aws.amazon.com/bedrock/latest/userguide/knowledge-base-create.html) 후, 지식 기반의 Amazon 리소스 이름(ARN)을 가져옵니다. [GetKnowledgeBase](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_GetKnowledgeBase.html) API를 직접적으로 호출하여 Amazon 리소스 이름(ARN)을 가져올 수 있습니다. 지식 기반 Amazon 리소스 이름(ARN)은 *arn:aws:bedrock:your-region:your-account-id:knowledge-base/knowledge-base-id* 형식을 따릅니다

1. **`PutDeliverySource` 직접 호출**: Amazon CloudWatch에서 제공하는 [PutDeliverySource](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_PutDeliverySource.html) API를 사용하여 지식 기반에 대한 전송 소스를 만듭니다. 지식 기반 Amazon 리소스 이름(ARN)을 `resourceArn`으로 전달합니다. `logType`은 수집되는 로그 유형을 `APPLICATION_LOGS`로 지정합니다. `APPLICATION_LOGS`는 수집 작업 중에 파일의 현재 상태를 추적합니다.

   ```
   {
       "logType": "APPLICATION_LOGS",
       "name": "my-knowledge-base-delivery-source",
       "resourceArn": "arn:aws:bedrock:your-region:your-account-id:knowledge-base/knowledge_base_id"
   }
   ```

1. **`PutDeliveryDestination` 직접 호출**: Amazon CloudWatch에서 제공하는 [PutDeliveryDestination](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_PutDeliveryDestination.html) API를 사용하여 로그가 저장될 위치를 구성합니다. CloudWatch Logs, Amazon S3 또는 Amazon Data Firehose 중 하나를 로그 저장 대상으로 선택할 수 있습니다. 로그가 저장될 대상 옵션 중 하나의 Amazon 리소스 이름(ARN)을 지정해야 합니다. 로그의 `outputFormat`을 `json`, `plain`, `w3c`, `raw`, `parquet` 중 하나로 선택할 수 있습니다. 다음은 Amazon S3 버킷에 JSON 형식으로 저장할 로그를 구성하는 예제입니다.

   ```
   {
      "deliveryDestinationConfiguration": { 
         "destinationResourceArn": "arn:aws:s3:::bucket-name"
      },
      "name": "string",
      "outputFormat": "json",
      "tags": { 
         "key" : "value" 
      }
   }
   ```

   교차 계정 로그를 전송하는 경우 `PutDeliveryDestinationPolicy` API를 사용하여 대상 계정에 AWS Identity and Access Management (IAM) 정책을 할당해야 합니다. IAM 정책은 한 계정에서 다른 계정으로의 전송을 허용합니다.

1. **`CreateDelivery` 직접 호출**: [CreateDelivery](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_CreateDelivery.html) API 직접 호출을 사용하여 이전 단계에서 만든 대상에 전송 소스를 연결합니다. 이 API 작업은 전송 소스를 최종 대상과 연결합니다.

   ```
   {
      "deliveryDestinationArn": "string",
      "deliverySourceName": "string",
      "tags": { 
         "string" : "string" 
      }
   }
   ```

**참고**  
를 사용하려면 다음을 사용할 CloudFormation수 있습니다.  
[Delivery](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-delivery.html)
[DeliveryDestination](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-deliverydestination.html)
[DeliverySource](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-deliverysource.html)
`ResourceArn`은 `KnowledgeBaseARN`이며 `LogType`은 지원되는 로그 유형의 `APPLICATION_LOGS`여야 합니다.

## 지원되는 로그 유형
<a name="knowledge-bases-logging-log-types"></a>

Amazon Bedrock 지식 기반은 다음 로그 유형을 지원합니다.
+ `APPLICATION_LOGS`: 데이터 수집 작업 중에 특정 파일의 현재 상태를 추적하는 로그입니다.

## 사용자 권한 및 제한
<a name="knowledge-bases-logging-permissions-other-requirements"></a>

Amazon Bedrock 지식 기반에 대한 로깅을 활성화하려면 콘솔에 로그인한 사용자 계정에 다음 권한이 필요합니다.

1. `bedrock:AllowVendedLogDeliveryForResource` - 지식 기반 리소스에 대한 로그 전달을 허용하는 데 필요합니다.

   특정 로깅 대상에 필요한 모든 권한이 포함된 IAM 역할/권한 정책의 예를 확인할 수 있습니다. [다양한 전달 대상에 대한 제공 로그 권한](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AWS-logs-and-resource-policy.html#AWS-vended-logs-permissions-V2)을 참조하고, 특정 로깅 대상 리소스(CloudWatch Logs, Amazon S3 또는 Amazon Data Firehose)에 대한 업데이트 허용을 포함하여 로깅 대상에 대한 IAM 역할/권한 정책 예제를 따릅니다.

[CloudWatch Logs 서비스 할당량 설명서](https://docs.aws.amazon.com/general/latest/gr/cwl_region.html)에서 CloudWatch Logs 전송 관련 API 직접 호출을 수행하는 데 할당량 제한이 있는지 확인할 수도 있습니다. 할당량 제한은 API를 직접적으로 호출하거나 리소스를 만들 수 있는 최대 횟수를 설정합니다. 한도를 초과하면 `ServiceQuotaExceededException` 오류가 발생합니다.

## 지식 기반 로그 예제
<a name="knowledge-bases-logging-example-logs"></a>

Amazon Bedrock 지식 기반에는 데이터 수집 수준 로그와 리소스 수준 로그가 있습니다.

다음은 데이터 수집 작업 로그의 예제입니다.

```
{
    "event_timestamp": 1718683433639,
    "event": {
        "ingestion_job_id": "<IngestionJobId>",
        "data_source_id": "<IngestionJobId>",
        "ingestion_job_status": "INGESTION_JOB_STARTED" | "STOPPED" | "COMPLETE" | "FAILED" | "CRAWLING_COMPLETED"
        "knowledge_base_arn": "arn:aws:bedrock:<region>:<accountId>:knowledge-base/<KnowledgeBaseId>",
        "resource_statistics": {
            "number_of_resources_updated": int,
            "number_of_resources_ingested": int,
            "number_of_resources_scheduled_for_update": int,
            "number_of_resources_scheduled_for_ingestion": int,
            "number_of_resources_scheduled_for_metadata_update": int,
            "number_of_resources_deleted": int,
            "number_of_resources_with_metadata_updated": int,
            "number_of_resources_failed": int,
            "number_of_resources_scheduled_for_deletion": int
        }
    },
    "event_version": "1.0",
    "event_type": "StartIngestionJob.StatusChanged",
    "level": "INFO"
}
```

다음은 리소스 수준 로그의 예제입니다.

```
{
    "event_timestamp": 1718677342332,
    "event": {
        "ingestion_job_id": "<IngestionJobId>",
        "data_source_id": "<IngestionJobId>",
        "knowledge_base_arn": "arn:aws:bedrock:<region>:<accountId>:knowledge-base/<KnowledgeBaseId>",
        "document_location": {
            "type": "S3",
            "s3_location": {
                "uri": "s3:/<BucketName>/<ObjectKey>"
            }
        },
        "status": "<ResourceStatus>"
        "status_reasons": String[],
        "chunk_statistics": {
            "ignored": int,
            "created": int,
            "deleted": int,
            "metadata_updated": int,
            "failed_to_create": int,
            "failed_to_delete": int,
            "failed_to_update_metadata": int  
        },
    },
    "event_version": "1.0",
    "event_type": "StartIngestionJob.ResourceStatusChanged",
    "level": "INFO" | "WARN" | "ERROR"
}
```

리소스의 `status`는 다음 중 하나일 수 있습니다.
+ `SCHEDULED_FOR_INGESTION`, `SCHEDULED_FOR_DELETION`, `SCHEDULED_FOR_UPDATE`, `SCHEDULED_FOR_METADATA_UPDATE`: 이러한 상태 값은 지식 기반의 현재 상태와 데이터 소스의 변경 사항 간의 차이를 계산한 후 리소스 처리가 예약되었음을 나타냅니다.
+ `RESOURCE_IGNORED`: 이 상태 값은 리소스가 처리에서 무시되었음을 나타내며, 그 이유는 `status_reasons` 속성 내에 자세히 설명되어 있습니다.
+ `EMBEDDING_STARTED` 및 `EMBEDDING_COMPLETED`: 이러한 상태 값은 리소스에 대한 벡터 임베딩이 시작되고 완료된 시기를 나타냅니다.
+ `INDEXING_STARTED` 및 `INDEXING_COMPLETED`: 이러한 상태 값은 리소스에 대한 인덱싱이 시작되고 완료된 시기를 나타냅니다.
+ `DELETION_STARTED` 및 `DELETION_COMPLETED`: 이러한 상태 값은 리소스에 대한 삭제가 시작되고 완료된 시기를 나타냅니다.
+ `METADATA_UPDATE_STARTED` 및 `METADATA_UPDATE_COMPLETED`: 이러한 상태 값은 리소스에 대한 메타데이터 업데이트가 시작되고 완료된 시기를 나타냅니다.
+ `EMBEDDING_FAILED`, `INDEXING_FAILED`, `DELETION_FAILED`, `METADATA_UPDATE_FAILED`: 이러한 상태 값은 리소스 처리가 실패했음을 나타내며, 그 이유는 `status_reasons` 속성 내에 자세히 설명되어 있습니다.
+ `INDEXED`, `DELETED`, `PARTIALLY_INDEXED`, `METADATA_PARTIALLY_INDEXED`, `FAILED`: 문서 처리가 완료되면 문서의 최종 상태와 `chunk_statistics` 속성 내 처리 요약이 포함된 로그가 게시됩니다.

## 지식 기반 로그를 디버깅하기 위한 일반적인 쿼리의 예
<a name="knowledge-bases-logging-example-queries"></a>

쿼리를 사용하여 로그와 상호 작용할 수 있습니다. 예를 들어, 문서 또는 데이터를 수집하는 동안 `RESOURCE_IGNORED` 이벤트 상태의 모든 문서를 쿼리할 수 있습니다.

다음은 CloudWatch Logs Insights를 사용하여 생성된 로그를 디버깅하는 데 사용할 수 있는 몇 가지 일반적인 쿼리입니다.
+ 특정 S3 문서에 대해 생성된 모든 로그를 쿼리합니다.

  `filter event.document_location.s3_location.uri = "s3://<bucketName>/<objectKey>"`
+ 데이터 수집 작업 중에 무시된 모든 문서를 쿼리합니다.

  `filter event.status = "RESOURCE_IGNORED"`
+ 문서의 벡터 임베딩 중에 발생한 모든 예외를 쿼리합니다.

  `filter event.status = "EMBEDDING_FAILED"`
+ 문서를 벡터 데이터베이스로 인덱싱하는 동안 발생한 모든 예외를 쿼리합니다.

  `filter event.status = "INDEXING_FAILED"`
+ 벡터 데이터베이스에서 문서를 삭제하는 동안 발생한 모든 예외를 쿼리합니다.

  `filter event.status = "DELETION_FAILED"`
+ 벡터 데이터베이스에서 문서의 메타데이터를 업데이트하는 동안 발생한 모든 예외를 쿼리합니다.

  `filter event.status = "DELETION_FAILED"`
+ 데이터 수집 작업을 실행하는 동안 발생한 모든 예외를 쿼리합니다.

  `filter level = "ERROR" or level = "WARN"`

# CloudWatch 지표를 사용하여 Amazon Bedrock Guardrails 모니터링
<a name="monitoring-guardrails-cw-metrics"></a>

다음 테이블에서는 Amazon CloudWatch 지표로 모니터링할 수 있는 Amazon Bedrock Guardrails에서 제공하는 런타임 지표를 설명합니다.

**런타임 지표**


| 지표 이름 | 단위 | 설명 | 
| --- | --- | --- | 
| Invocations | SampleCount | ApplyGuardrail API 작업에 대한 요청 수 | 
| InvocationLatency | MilliSeconds | 간접 호출 지연 시간 | 
| InvocationClientErrors | SampleCount | 클라이언트 측 오류가 발생하는 간접 호출 수 | 
| InvocationServerErrors | SampleCount |  AWS 서버 측 오류가 발생하는 호출 수 | 
| InvocationThrottles | SampleCount | 시스템이 제한된 호출 수. 스로틀링한 요청은 간접 호출 또는 오류로 간주되지 않습니다. | 
| TextUnitCount | SampleCount | 가드레일 정책에서 사용하는 텍스트 단위 수 | 
| InvocationsIntervened | SampleCount | 가드레일이 개입된 간접 호출 수 | 
| FindingCounts | SampleCount | InvokeAutomatedReasoningCheck의 각 조사 결과 유형에 대한 수 | 
| TotalFindings | SampleCount | 각 InvokeAutomatedReasoningCheck 요청에 대해 생성된 조사 결과 수 계산 | 
| Invocations | SampleCount | InvokeAutomatedReasoningCheck에 대한 요청 수 | 
| Latency | MilliSeconds | 자동 추론 정책을 사용한 확인 지연 시간 | 

아래 테이블을 기반으로 CloudWatch 콘솔에서 가드레일 차원을 확인할 수 있습니다.

**차원**


| 차원 이름 | 차원 값 | 다음 지표에 사용 가능 | 
| --- | --- | --- | 
| 연산 | ApplyGuardrail |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/bedrock/latest/userguide/monitoring-guardrails-cw-metrics.html)  | 
| GuardrailContentSource |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/bedrock/latest/userguide/monitoring-guardrails-cw-metrics.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/bedrock/latest/userguide/monitoring-guardrails-cw-metrics.html)  | 
| GuardrailPolicyType |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/bedrock/latest/userguide/monitoring-guardrails-cw-metrics.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/bedrock/latest/userguide/monitoring-guardrails-cw-metrics.html)  | 
| GuardrailArn, GuardrailVersion |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/bedrock/latest/userguide/monitoring-guardrails-cw-metrics.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/bedrock/latest/userguide/monitoring-guardrails-cw-metrics.html)  | 
| FindingType \$1 PolicyArn \$1 PolicyVersion | FindingType \$1 PolicyArn \$1 PolicyVersion |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/bedrock/latest/userguide/monitoring-guardrails-cw-metrics.html)  | 
| FindingType \$1 GuardrailArn \$1 GuardrailVersion | FindingType \$1 GuardrailArn \$1 GuardrailVersion |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/bedrock/latest/userguide/monitoring-guardrails-cw-metrics.html)  | 
| PolicyArn \$1 PolicyVersion | PolicyArn \$1 PolicyVersion |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/bedrock/latest/userguide/monitoring-guardrails-cw-metrics.html)  | 
| GuardrailArn \$1 GuardrailVersion | GuardrailArn \$1 GuardrailVersion |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/bedrock/latest/userguide/monitoring-guardrails-cw-metrics.html)  | 

**가드레일에 CloudWatch 지표 받기**

 AWS 관리 콘솔, AWS CLI 또는 CloudWatch API를 사용하여 가드레일에 대한 지표를 가져올 수 있습니다. AWS 소프트웨어 개발 키트(SDKs) 또는 CloudWatch API 도구 중 하나를 통해 CloudWatch API를 사용할 수 있습니다.

CloudWatch의 가드레일 지표 네임스페이스는 `AWS/Bedrock/Guardrails`입니다.

**참고**  
CloudWatch를 사용하여 가드레일을 모니터링하려면 적절한 CloudWatch 권한이 있어야 합니다. 자세한 내용은 CloudWatch 사용 설명서의 [CloudWatch의 인증 및 액세스 제어](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/auth-and-access-control-cw.html)를 참조하세요.

**CloudWatch 콘솔에서 가드레일 지표 보기**

1.  AWS Management Console에 로그인하고 https://console.aws.amazon.com/cloudwatch/ CloudWatch 콘솔을 엽니다.

1. `AWS/Bedrock/Guardrails` 네임스페이스를 선택합니다.

# CloudWatch 지표를 사용하여 Amazon Bedrock Agents 모니터링
<a name="monitoring-agents-cw-metrics"></a>

다음 테이블에서는 Amazon CloudWatch 지표로 모니터링할 수 있는 Amazon Bedrock Agents에서 제공하는 런타임 지표를 설명합니다.

**런타임 지표**


****  

| 지표 이름 | 단위 | 설명 | 
| --- | --- | --- | 
| InvocationCount | SampleCount | API 작업에 대한 요청 수 | 
| TotalTime | 밀리초 | 서버가 요청을 처리하는 데 걸린 시간 | 
| TTFT | 밀리초 | 첫 번째 토큰까지의 시간 지표. invokeAgent 또는 invokeInlineAgent 요청에 대해 스트리밍 구성이 활성화된 경우 내보내짐 | 
| InvocationThrottles | SampleCount | 시스템이 제한된 호출 수. 스로틀링한 요청 및 기타 간접 호출 오류는 간접 호출 또는 오류로 간주되지 않습니다. | 
| InvocationServerErrors | SampleCount |  AWS 서버 측 오류가 발생하는 호출 수 | 
| InvocationClientErrors | SampleCount | 클라이언트 측 오류가 발생하는 간접 호출 수 | 
| ModelLatency | 밀리초 | 모델의 지연 시간 | 
| ModelInvocationCount | SampleCount | 에이전트가 모델에 요청한 요청 수 | 
| ModelInvocationThrottles | SampleCount | Amazon Bedrock 코어가 스로틀링한 모델 간접 호출 수입니다. 스로틀링한 요청 및 기타 간접 호출 오류는 간접 호출 또는 오류로 간주되지 않습니다. | 
| ModelInvocationClientErrors | SampleCount | 클라이언트 측 오류가 발생하는 모델 간접 호출 수 | 
| ModelInvocationServerErrors | SampleCount |  AWS 서버 측 오류가 발생하는 모델 호출 수 | 
| InputTokenCount | SampleCount | 모델에 입력되는 토큰 수입니다. | 
| outputTokenCount | SampleCount | 모델에서 출력된 토큰 수입니다. | 

아래 테이블을 기반으로 CloudWatch 콘솔에서 에이전트 차원을 확인할 수 있습니다.

**차원**


****  

| 차원 이름 | 차원 값 | 다음 지표에 사용 가능 | 
| --- | --- | --- | 
| 연산 | [InvokeAgent](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_InvokeAgent.html), [InvokeInlineAgent](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_InvokeInlineAgent.html) |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/bedrock/latest/userguide/monitoring-agents-cw-metrics.html)  | 
| Operation, ModelId | 모든 Amazon Bedrock 코어 모델의 Operation 차원 및  modelId에 나열된 모든 Amazon Bedrock Agents 작업 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/bedrock/latest/userguide/monitoring-agents-cw-metrics.html)  | 
| Operation, AgentAliasArn, ModelId | Operation 차원에 나열된 모든 Amazon Bedrock Agents 작업 및 에이전트 별칭의 agentAliasArn으로 그룹화된 Amazon Bedrock 모델의 모든 modelId  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/bedrock/latest/userguide/monitoring-agents-cw-metrics.html)  | 

**에이전트에 CloudWatch 지표 사용**

 AWS Management Console, AWS CLI 또는 CloudWatch API를 사용하여 에이전트에 대한 지표를 가져올 수 있습니다. AWS 소프트웨어 개발 키트(SDKs) 또는 CloudWatch API 도구 중 하나를 통해 CloudWatch API를 사용할 수 있습니다.

CloudWatch에서 에이전트 지표의 네임스페이스는 `AWS/Bedrock/Agents`입니다.

CloudWatch를 사용하여 에이전트를 모니터링하려면 적절한 CloudWatch 권한이 있어야 합니다. 자세한 내용은 CloudWatch 사용 설명서의 [CloudWatch의 인증 및 액세스 제어](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/auth-and-access-control-cw.html)를 참조하세요.

**중요**  
CloudWatch가 CloudWatch 서비스 개선을 위해 수집된 데이터를 사용하지 않도록 하려면 옵트아웃 정책을 생성할 수 있습니다. 자세한 내용은 [AI 서비스 옵트아웃 정책](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_ai-opt-out.html)을 참조하세요.

CloudWatch 대시보드에 게시된 지표가 보이지 않는 경우 에이전트를 [생성](agents-create.md)하는 데 사용한 IAM 서비스 역할에 다음 정책이 있는지 확인합니다.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": {
        "Effect": "Allow",
        "Resource": "*",
        "Action": "cloudwatch:PutMetricData",
        "Condition": {
            "StringEquals": {
                "cloudwatch:namespace": "AWS/Bedrock/Agents"
            }
        }
    }
}
```

------

## Amazon Bedrock 런타임 지표
<a name="runtime-cloudwatch-metrics"></a>

아래 표에서는 Amazon Bedrock에서 제공하는 런타임 지표를 설명합니다.


| 지표 이름 | 단위 | 설명 | 
| --- | --- | --- | 
| Invocations | SampleCount | [Converse](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_Converse.html), [ConverseStream](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_ConverseStream.html), [InvokeModel](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InvokeModel.html), [InvokeModelWithResponseStream](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InvokeModelWithResponseStream.html) API 작업에 성공한 요청의 수입니다. | 
|  InvocationLatency  | MilliSeconds |  요청이 전송된 시점부터 마지막 토큰이 수신된 시점까지의 시간입니다.    | 
|  InvocationClientErrors  | SampleCount |  클라이언트 측 오류가 발생하는 호출 수.  | 
|  InvocationServerErrors  | SampleCount |   AWS 서버 측 오류가 발생하는 호출 수입니다.  | 
|  InvocationThrottles  | SampleCount |  시스템이 제한된 호출 수. 스로틀링한 요청 및 기타 간접 호출 오류는 간접 호출 또는 오류로 간주되지 않습니다. 표시되는 스로틀 수는 SDK의 재시도 설정에 따라 달라집니다. 자세한 내용은 SDK 및 도구 참조 안내서의 [재시도 동작을](https://docs.aws.amazon.com/sdkref/latest/guide/feature-retry-behavior.html) 참조하세요. AWS SDKs   | 
|  InputTokenCount  | SampleCount |  입력의 토큰 수입니다.  | 
| LegacyModelInvocations | SampleCount | [레거시](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_FoundationModelLifecycle.html) 모델을 사용한 간접 호출 수  | 
|  OutputTokenCount  | SampleCount |  출력의 토큰 수입니다.  | 
|  OutputImageCount  | SampleCount |  출력의 이미지 수입니다(이미지 생성 모델에만 해당).  | 
|  TimeToFirstToken  | MilliSeconds |  [ConverseStream](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_ConverseStream.html) 및 [InvokeModelWithResponseStream](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InvokeModelWithResponseStream.html) 스트리밍 API 작업에 대해 첫 번째 토큰이 수신된에 요청이 전송된 시간입니다.  | 
|  EstimatedTPMQuotaUsage  | SampleCount |  [Converse](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_Converse.html), [ConverseStream](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_ConverseStream.html), [InvokeModel](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InvokeModel.html) 및 [InvokeModelWithResponseStream](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InvokeModelWithResponseStream.html) API 작업 전반의 분당 예상 토큰 수(TPM) 할당량 소비입니다.  | 

[Amazon Bedrock Guardrails](monitoring-guardrails-cw-metrics.md) 및 [Amazon Bedrock Agents](monitoring-agents-cw-metrics.md)에 대한 지표도 있습니다.

## Amazon Bedrock에 대한 CloudWatch 지표
<a name="br-cloudwatch-metrics"></a>

전송이 성공 또는 실패할 때마다 네임스페이스 `AWS/Bedrock` 및 `Across all model IDs` 차원 아래에 다음과 같은 Amazon CloudWatch 지표가 생성됩니다.
+ `ModelInvocationLogsCloudWatchDeliverySuccess`
+ `ModelInvocationLogsCloudWatchDeliveryFailure`
+ `ModelInvocationLogsS3DeliverySuccess`
+ `ModelInvocationLogsS3DeliveryFailure`
+ `ModelInvocationLargeDataS3DeliverySuccess`
+ `ModelInvocationLargeDataS3DeliveryFailure`

Amazon Bedrock 작업의 지표를 검색하려면 다음 정보를 지정해야 합니다.
+ 지표 측정기준. *차원*은 지표를 식별하는 데 사용하는 이름-값 페어 집합입니다. Amazon Bedrock은 다음과 같은 차원을 지원합니다.
  + `ModelId` - 모든 지표
  + `ModelId + ImageSize + BucketedStepSize` – OutputImageCount
+ `InvocationClientErrors`와 같은 지표 이름.

 AWS CLI, 또는 CloudWatch API를 사용하여 Amazon Bedrock AWS Management Console에 대한 지표를 가져올 수 있습니다. AWS 소프트웨어 개발 키트(SDKs) 또는 CloudWatch API 도구 중 하나를 통해 CloudWatch API를 사용할 수 있습니다.

CloudWatch 콘솔에서 Amazon Bedrock 지표를 보려면 탐색 창의 지표 섹션으로 이동하여 모든 지표 옵션을 선택한 다음 모델 ID를 검색합니다.

CloudWatch를 사용하여 Amazon Bedrock을 모니터링하려면 적절한 CloudWatch 권한이 있어야 합니다. 자세한 내용은 *Amazon CloudWatch 사용 설명서*의 [Amazon CloudWatch에 대한 인증 및 액세스 제어](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/auth-and-access-control-cw.html) 섹션을 참조하세요.

# Amazon EventBridge를 사용하여 Amazon Bedrock 작업 상태 변경 모니터링
<a name="monitoring-eventbridge"></a>

Amazon EventBridge는 다른 AWS 서비스의 이벤트를 거의 실시간으로 모니터링하는 AWS 서비스입니다. Amazon EventBridge를 사용하여 Amazon Bedrock의 이벤트를 모니터링하고 정의한 규칙과 일치할 때 이벤트 정보를 전송할 수 있습니다. 그런 다음 이러한 이벤트에 자동으로 응답하도록 애플리케이션을 구성할 수 있습니다. Amazon EventBridge는 Amazon Bedrock에서 다음 이벤트의 모니터링을 지원합니다.
+ [모델 사용자 지정 작업](custom-models.md) - 작업 상태는 AWS Management Console 또는 [GetModelCustomizationJob](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_GetModelCustomizationJob.html) 응답의 작업 세부 정보에서 확인할 수 있습니다. 자세한 내용은 [모델 사용자 지정 작업 모니터링](model-customization-monitor.md) 단원을 참조하십시오.
+ [배치 추론 작업](batch-inference.md) - 작업 상태는 AWS Management Console 또는 [GetModelInvocationJob](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_GetModelInvocationJob.html) 응답의 작업 세부 정보에서 확인할 수 있습니다. 자세한 내용은 [배치 추론 작업 모니터링](batch-inference-monitor.md) 단원을 참조하십시오.

Amazon Bedrock은 최선의 방식으로 이벤트를 생성합니다. Amazon Bedrock의 이벤트는 거의 실시간으로 Amazon EventBridge로 전송됩니다. 이벤트에 대한 응답으로 프로그래밍 동작을 트리거하는 규칙을 생성할 수 있습니다. Amazon EventBridge를 사용하면 다음을 수행할 수 있습니다.
+ 향후 새로운 비동기식 워크플로를 추가하는지 여부와 관계없이, 제출한 작업에 상태 변경 이벤트가 발생할 때마다 알림을 게시합니다. 알림은 다운스트림 워크플로의 이벤트에 대응할 수 있는 충분한 정보를 제공해야 합니다.
+ Get API를 간접적으로 호출하지 않고도 작업 상태 업데이트를 제공할 수 있습니다. 이는 API 속도 제한 문제, API 업데이트, 추가 컴퓨팅 리소스 감소를 처리하는 데 도움이 됩니다.

Amazon EventBridge에서 AWS 이벤트를 수신하는 데는 비용이 들지 않습니다. Amazon EventBridge에 대한 자세한 내용은 [Amazon EventBridge](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-what-is.html)를 참조하세요.

**Topics**
+ [Amazon Bedrock용 EventBridge 작동 방식](monitoring-eventbridge-how-it-works.md)
+ [[예제] Amazon Bedrock 상태 변경 이벤트를 처리하기 위한 규칙 생성](monitoring-eventbridge-create-rule-ex.md)

# Amazon Bedrock용 EventBridge 작동 방식
<a name="monitoring-eventbridge-how-it-works"></a>

Amazon EventBridge는 AWS 서비스, SaaS 파트너 및 고객 애플리케이션에서 상태 변경 이벤트를 수집하는 서버리스 이벤트 버스입니다. 생성한 규칙 또는 패턴을 기반으로 이벤트를 처리하고 이러한 이벤트를 AWS Lambda Amazon Simple Queue Service 및 Amazon Simple Notification Service와 같이 선택한 하나 이상의 *대상으로* 라우팅합니다. 이벤트의 내용을 기반으로 다운스트림 워크플로를 구성할 수 있습니다.

Amazon Bedrock용 Amazon EventBridge 사용 방법을 알아보기 전에 Amazon EventBridge 사용 설명서의 다음 페이지를 검토하세요.
+ [Amazon EventBridge의 이벤트 버스 개념](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-what-is-how-it-works-concepts.html) - *이벤트*, *규칙*, *대상*의 개념을 검토합니다.
+ [Amazon EventBridge에서 이벤트에 대응하는 규칙 생성](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-create-rule.html) - 규칙을 만드는 방법을 알아봅니다.
+ [Amazon EventBridge 이벤트 패턴](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-event-patterns.html) - 이벤트 패턴을 정의하는 방법을 알아봅니다.
+ [Amazon EventBridge 대상](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-targets.html) - 이벤트를 전송할 수 있는 대상에 대해 알아봅니다.

Amazon Bedrock은 제출한 작업의 상태가 변경될 때마다 Amazon EventBridge를 통해 이벤트를 게시합니다. 모든 경우마다 새 이벤트가 만들어지고 Amazon EventBridge로 전송됩니다. 그 다음에는 이벤트가 기본 이벤트 버스로 전송됩니다. 이벤트는 어떤 작업의 상태가 변경되었는지, 작업의 현재 상태는 어떠한지 보여줍니다.

Amazon Bedrock 이벤트는 이벤트에서 `source` 값이 `aws.bedrock`인 방식으로 식별됩니다. Amazon Bedrock의 이벤트에 대한 `detail-type`에는 다음이 포함됩니다.
+ `Model Customization Job State Change`
+ `Batch Inference Job State Change`

탭을 선택하여 Amazon Bedrock에 제출된 작업에 대한 샘플 이벤트를 확인합니다.

------
#### [ Model Customization Job State Change ]

다음 JSON 객체는 모델 사용자 지정 작업의 상태가 변경되었을 때의 샘플 이벤트를 보여줍니다.

```
{
  "version": "0",
  "id": "UUID",
  "detail-type": "Model Customization Job State Change",
  "source": "aws.bedrock",
  "account": "123456789012",
  "time": "2023-08-11T12:34:56Z",
  "region": "us-east-1",
  "resources": ["arn:aws:bedrock:us-east-1:123456789012:model-customization-job/abcdefghwxyz"],
  "detail": {
    "version": "0.0",
    "jobName": "abcd-wxyz",
    "jobArn": "arn:aws:bedrock:us-east-1:123456789012:model-customization-job/abcdefghwxyz",
    "outputModelName": "dummy-output-model-name",
    "outputModelArn": "arn:aws:bedrock:us-east-1:123456789012:dummy-output-model-name",
    "roleArn": "arn:aws:iam::123456789012:role/JobExecutionRole",
    "jobStatus": "Failed",
    "failureMessage": "Failure Message here.",
    "creationTime": "2023-08-11T10:11:12Z",
    "lastModifiedTime": "2023-08-11T12:34:56Z",
    "endTime": "2023-08-11T12:34:56Z",
    "baseModelArn": "arn:aws:bedrock:us-east-1:123456789012:base-model-name",
    "hyperParameters": {
      "batchSize": "1",
      "epochCount": "5",
      "learningRate": "0.05",
      "learningRateWarmupSteps": "10"
    },
    "trainingDataConfig": {
      "s3Uri": "s3://bucket/key"
    },
    "validationDataConfig": {
      "s3Uri": "s3://bucket/key"
    },
    "outputDataConfig": {
      "s3Uri": "s3://bucket/key"
    }
  }
}
```

모델 사용자 지정과 관련된 **detail** 객체의 필드에 대해 알아보려면 [GetModelCustomizationJob](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_GetModelCustomizationJob.html)을 참조하세요.

------
#### [ Batch Inference Job State Change ]

다음 JSON 객체는 모델 사용자 지정 작업의 상태가 변경되었을 때의 샘플 이벤트를 보여줍니다.

```
{
  "version": "0",
  "id": "a1b2c3d4",
  "detail-type": "Batch Inference Job State Change",
  "source": "aws.bedrock",
  "account": "123456789012",
  "time": "Wed Aug 28 22:58:30 UTC 2024",
  "region": "us-east-1",
  "resources": ["arn:aws:bedrock:us-east-1:123456789012:model-invocation-job/abcdefghwxyz"],
  "detail": {
    "version": "0.0",
    "accountId": "123456789012",
    "batchJobName": "dummy-batch-job-name",
    "batchJobArn": "arn:aws:bedrock:us-east-1:123456789012:model-invocation-job/abcdefghwxyz",
    "batchModelId": "arn:aws:bedrock:us-east-1::foundation-model/anthropic.claude-3-sonnet-20240229-v1:0",
    "status": "Completed",
    "failureMessage": "",
    "creationTime": "Aug 28, 2024, 10:47:53 PM"
  }
}
```

배치 추론과 관련된 **detail** 객체의 필드에 대해 알아보려면 [GetModelInvocationJob](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_GetModelInvocationJob.html)을 참조하세요.

------
#### [ Bedrock Data Automation sample event ]

다음 JSON 객체는 모델 BDA 처리 작업의 상태가 변경되었을 때의 샘플 이벤트를 보여줍니다.

```
{
    "version": "0",
    "id": "0cc3eaf7-dff6-6f67-0ee0-ae572fccfe84",
    "detail-type": "Bedrock Data Automation Job Succeeded",
    "source": "aws.bedrock",
    "account": "123456789012",
    "time": "2025-05-27T22:48:36Z",
    "region": "us-west-2",
    "resources": [],
    "detail": {
        "job_id": "25010344-03f7-4167-803a-837afdc7ce98",
        "job_status": "SUCCESS",
        "semantic_modality": "Document",
        "input_s3_object": {
            "s3_bucket": "input-s3-bucket-name",
            "name": "key/name"
        },
        "output_s3_location": {
            "s3_bucket": "output-s3-bucket-name",
            "name": "key"
        },
        "error_message": ""
    }
}
```

------

# [예제] Amazon Bedrock 상태 변경 이벤트를 처리하기 위한 규칙 생성
<a name="monitoring-eventbridge-create-rule-ex"></a>

이 주제의 예제에서는 Amazon Bedrock 상태 변경 이벤트에 대한 알림을 설정할 수 있도록 Amazon Simple Notification Service 주제를 구성하고, 주제를 구독하고, Amazon EventBridge에서 주제를 통해 Amazon Bedrock 상태 변경을 알리는 규칙을 만드는 방법을 안내합니다. 다음 절차를 수행합니다.

1. 주제를 만들려면 Amazon Simple Notification Service 개발자 안내서의 [Amazon SNS 주제 생성](https://docs.aws.amazon.com/sns/latest/dg/sns-create-topic.html)을 참조하세요.

1. 만든 주제를 구독하려면 Amazon Simple Notification Service 개발자 안내서의 [Amazon SNS 주제에 대한 구독 생성](https://docs.aws.amazon.com/sns/latest/dg/sns-create-subscribe-endpoint-to-topic.html)의 단계를 따르거나. [Amazon SNS 엔드포인트](https://docs.aws.amazon.com/general/latest/gr/sns.html)를 사용해 [Subscribe](https://docs.aws.amazon.com/sns/latest/api/API_Subscribe.html) 요청을 보내고 만든 주제의 Amazon 리소스 이름(ARN)을 지정합니다.

1. Amazon Bedrock의 작업 상태가 변경되었을 때 이를 알려주는 규칙을 만들려면 이 예제에 대한 다음 특정 작업을 고려하여 [Amazon EventBridge의 이벤트에 대응하는 규칙 생성](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-create-rule.html)의 단계를 따르세요.
   + 이벤트 패턴으로 규칙 세부 정보를 정의하려면 선택합니다.
   + 이벤트 패턴을 빌드할 때 다음을 수행할 수 있습니다.
     + 패턴을 정의할 때 사용할 수 있는 Amazon Bedrock 이벤트의 필드를 파악하려면 Amazon Bedrock **샘플 이벤트**를 선택하여 **샘플 이벤트** 섹션에서 샘플 이벤트를 확인합니다. [Amazon Bedrock용 EventBridge 작동 방식](monitoring-eventbridge-how-it-works.md)에서도 샘플 이벤트를 확인할 수 있습니다.
     + **생성 방법** 섹션에서 **패턴 사용**을 선택한 다음, Amazon Bedrock을 **AWS 서비스**로 선택하고 캡처하려는 **이벤트 유형**을 선택하여 시작합니다. 이벤트 패턴을 정의하는 방법을 알아보려면 [Amazon EventBridge 이벤트 패턴](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-event-patterns.html)을 참조하세요.
   + 예를 들어, 다음 이벤트 패턴을 사용하여 배치 추론 작업이 완료되면 캡처할 수 있습니다.

     ```
     {
      "source": ["aws.bedrock"],
      "detail-type": ["Batch Inference Job State Change"],
      "detail": {
       "status": ["Completed"]
      }
     }
     ```
   + **SNS 주제**를 대상으로 선택하고 만든 주제를 선택합니다.

1. 규칙을 만든 후 배치 추론 작업이 완료되면 Amazon SNS를 통해 알림을 받게 됩니다.

# CloudTrail을 사용하여 Amazon Bedrock API 직접 호출 모니터링
<a name="logging-using-cloudtrail"></a>

Amazon Bedrock은 Amazon Bedrock에서 사용자 AWS CloudTrail, 역할 또는 서비스가 수행한 작업에 대한 레코드를 제공하는 AWS 서비스와 통합됩니다. CloudTrail은 Amazon Bedrock에 대한 모든 API 직접 호출을 이벤트로 캡처합니다. 캡처되는 직접 호출에는 Amazon Bedrock 콘솔로부터의 직접 호출과 Amazon Bedrock API 작업에 대한 코드 직접 호출이 포함됩니다. 추적을 생성하면 Amazon Bedrock 이벤트를 포함한 CloudTrail 이벤트를 지속적으로 Amazon S3 버킷에 배포할 수 있습니다.

추적을 구성하지 않은 경우에도 **이벤트 기록**에서 CloudTrail 콘솔의 최신 이벤트를 볼 수 있습니다.

CloudTrail에서 수집한 정보를 사용하여 Amazon Bedrock에 수행된 요청, 요청이 수행된 IP 주소, 요청을 수행한 사람, 요청이 수행된 시간 및 추가 세부 정보를 확인할 수 있습니다.

CloudTrail에 대한 자세한 내용은 [AWS CloudTrail 사용 설명서](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html)를 참조하세요.

## CloudTrail의 Amazon Bedrock 정보
<a name="service-name-info-in-cloudtrail"></a>

CloudTrail은 계정을 생성할 AWS 계정 때에서 활성화됩니다. Amazon Bedrock에서 활동이 발생하면 해당 활동이 **이벤트 기록**의 다른 AWS 서비스 이벤트와 함께 CloudTrail 이벤트에 기록됩니다. 에서 최근 이벤트를 보고 검색하고 다운로드할 수 있습니다 AWS 계정. 자세한 내용은 [CloudTrail 이벤트 기록을 사용하여 이벤트 보기](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/view-cloudtrail-events.html)를 참조하세요.

Amazon Bedrock에 대한 이벤트를 AWS 계정포함하여에 이벤트를 지속적으로 기록하려면 추적을 생성합니다. CloudTrail은 *추적*을 사용하여 Amazon S3 버킷으로 로그 파일을 전송할 수 있습니다. 콘솔에서 트레일을 생성하면 기본적으로 모든 AWS 리전에 트레일이 적용됩니다. 추적은 AWS 파티션의 모든 리전에서 이벤트를 로깅하고 지정한 Amazon S3 버킷으로 로그 파일을 전송합니다. 또한 CloudTrail 로그에서 수집된 이벤트 데이터를 추가로 분석하고 조치를 취하도록 다른 AWS 서비스를 구성할 수 있습니다. 자세한 내용은 다음 자료를 참조하세요.
+ [추적 생성 개요](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-create-and-update-a-trail.html)
+ [CloudTrail 지원 서비스 및 통합](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-aws-service-specific-topics.html)
+ [CloudTrail에 대한 Amazon SNS 알림 구성](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/configure-sns-notifications-for-cloudtrail.html)
+ [여러 리전에서 CloudTrail 로그 파일 수신](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/receive-cloudtrail-log-files-from-multiple-regions.html) 및 [여러 계정에서 CloudTrail 로그 파일 수신](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-receive-logs-from-multiple-accounts.html)

모든 이벤트 또는 로그 항목에는 요청을 생성했던 사용자에 관한 정보가 포함됩니다. ID 정보를 이용하면 다음을 쉽게 판단할 수 있습니다.
+ 요청이 루트 또는 AWS Identity and Access Management (IAM) 사용자 자격 증명으로 이루어졌는지 여부입니다.
+ 역할 또는 페더레이션 사용자의 임시 자격 증명을 사용하여 요청이 생성되었는지 여부.
+ 요청이 다른 AWS 서비스에서 이루어졌는지 여부입니다.

자세한 내용은 [CloudTrail userIdentity 요소](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-event-reference-user-identity.html)를 참조하세요.

## CloudTrail의 Amazon Bedrock 데이터 이벤트
<a name="service-name-data-events-cloudtrail"></a>

[데이터 이벤트](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-data-events-with-cloudtrail.html#logging-data-events)는 리소스 기반 또는 리소스에서 수행된 리소스 작업에 대한 정보를 제공합니다(예: Amazon S3 객체 읽기 또는 쓰기). 이를 데이터 플레인 작업이라고도 합니다. 데이터 이벤트는 CloudTrail이 기본적으로 로그하지 않는 대량 활동입니다.

Amazon Bedrock은 [Amazon Bedrock 런타임 API 작업](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_Operations_Amazon_Bedrock_Runtime.html)(`InvokeModel`, `InvokeModelWithResponseStream`, `Converse`, `ConverseStream`, `ListAsyncInvokes` 등)을 [관리 이벤트](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-management-events-with-cloudtrail.html#logging-management-events)로 로그합니다.

Amazon Bedrock은 [Amazon Bedrock 런타임 API 작업](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_Operations_Amazon_Bedrock_Runtime.html)(`InvokeModelWithBidirectionalStream`, `GetAsyncInvoke`, `StartAsyncInvokes` 등)을 데이터 이벤트로 로그합니다.

Amazon Bedrock은 [Amazon Bedrock Agents 런타임 API 작업](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_Operations_Agents_for_Amazon_Bedrock_Runtime.html)(`InvokeAgent` 및 `InvokeInlineAgent` 등)에 대한 모든 동작을 CloudTrail에 데이터 이벤트로 로그합니다.
+ [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_InvokeAgent.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_InvokeAgent.html) 직접 호출을 로그하려면 `AWS::Bedrock::AgentAlias` 리소스 유형에 대한 데이터 이벤트를 기록하도록 고급 이벤트 선택기를 구성합니다.
+ [https://docs.aws.amazon.com//bedrock/latest/APIReference/API_agent-runtime_InvokeInlineAgent.html](https://docs.aws.amazon.com//bedrock/latest/APIReference/API_agent-runtime_InvokeInlineAgent.html) 직접 호출을 로그하려면 `AWS::Bedrock::InlineAgent` 리소스 유형에 대한 데이터 이벤트를 기록하도록 고급 이벤트 선택기를 구성합니다.
+ [InvokeModelWithBidirectionalStream](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InvokeModelWithBidirectionalStream.html) 직접 호출을 로그하려면 `AWS::Bedrock::Model` 리소스 유형과 `AWS:Bedrock::AsyncInvoke`에 대한 데이터 이벤트를 기록하도록 고급 이벤트 선택기를 구성합니다.
+ [GetAsyncInvoke](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_GetAsyncInvoke.html) 및 [StartAsyncInvoke](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_StartAsyncInvoke.html) 직접 호출을 로그하려면 `AWS::Bedrock::Model` 리소스 유형과 `AWS:Bedrock::AsyncInvoke`에 대한 데이터 이벤트를 기록하도록 고급 이벤트 선택기를 구성합니다.
+ [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Retrieve.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Retrieve.html) 및 [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html) 직접 호출을 로그하려면 `AWS::Bedrock::KnowledgeBase` 리소스 유형에 대한 데이터 이벤트를 기록하도록 고급 이벤트 선택기를 구성합니다.
+ [InvokeFlow](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_InvokeFlow.html) 직접 호출을 로그하려면 `AWS::Bedrock::FlowAlias` 리소스 유형에 대한 데이터 이벤트를 기록하도록 고급 이벤트 선택기를 구성합니다.
+ `RenderPrompt` 직접 호출을 로그하려면 `AWS::Bedrock::Prompt` 리소스 유형에 대한 데이터 이벤트를 기록하도록 고급 이벤트 선택기를 구성합니다. `RenderPrompt`는 모델 간접 호출(`InvokeModel(WithResponseStream)` 및 `Converse(Stream)`)을 위해 [프롬프트 관리](prompt-management.md)를 사용하여 생성된 프롬프트를 렌더링하는 권한 전용 [작업](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonbedrock.html#amazonbedrock-actions-as-permissions)입니다.

CloudTrail 콘솔에서 **데이터 이벤트 유형**으로 **Bedrock 에이전트 별칭** 또는 **Bedrock 지식 기반**을 선택합니다. 사용자 지정 로그 선택기 템플릿을 선택하여 `eventName` 및 `resources.ARN` 필드를 추가로 필터링할 수 있습니다. 자세한 내용은 [AWS Management Console을 사용하여 데이터 이벤트 로깅을](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-data-events-with-cloudtrail.html) 참조하세요.

에서 `resource.type` 값을 AWS CLI, `AWS::Bedrock::KnowledgeBase`또는 로 설정하고 `AWS::Bedrock::AgentAlias`를 `eventCategory`로 `AWS::Bedrock::FlowAlias` 설정합니다`Data`. 자세한 내용은 [AWS CLI를 사용한 데이터 이벤트 로깅](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-data-events-with-cloudtrail.html#creating-data-event-selectors-with-the-AWS-CLI) 섹션을 참조하세요.

다음 예제는 AWS CLI에 모든 Amazon Bedrock 리소스 유형의 모든 Amazon Bedrock 데이터 이벤트를 로그하는 추적 기능을 구성하는 방법을 보여 줍니다.

```
aws cloudtrail put-event-selectors --trail-name trailName \
--advanced-event-selectors \
'[
  {
    "Name": "Log all data events on an alias of an agent in Amazon Bedrock.",
    "FieldSelectors": [
      { "Field": "eventCategory", "Equals": ["Data"] },
      { "Field": "resources.type", "Equals": ["AWS::Bedrock::AgentAlias"] }
    ]
  },
  {
    "Name": "Log all data events on a knowledge base in Amazon Bedrock.",
    "FieldSelectors": [
      { "Field": "eventCategory", "Equals": ["Data"] },
      { "Field": "resources.type", "Equals": ["AWS::Bedrock::KnowledgeBase"] }
    ]
  },
  {
    "Name": "Log all data events on a flow in Amazon Bedrock.",
    "FieldSelectors": [
      { "Field": "eventCategory", "Equals": ["Data"] },
      { "Field": "resources.type", "Equals": ["AWS::Bedrock::FlowAlias"] }
    ]
  }
  {
    "Name": "Log all data events on a guardrail in Amazon Bedrock.",
    "FieldSelectors": [
      { "Field": "eventCategory", "Equals": ["Data"] },
      { "Field": "resources.type", "Equals": ["AWS::Bedrock::Guardrail"] }
    ]
  }
]'
```

`eventName` 및 `resources.ARN` 필드를 추가로 필터링할 수 있습니다. 필드에 대한 자세한 내용은 [https://docs.aws.amazon.com/awscloudtrail/latest/APIReference/API_AdvancedFieldSelector.html](https://docs.aws.amazon.com/awscloudtrail/latest/APIReference/API_AdvancedFieldSelector.html) 섹션을 참조하세요.

데이터 이벤트에는 추가 요금이 적용됩니다. CloudTrail 요금에 관한 자세한 내용은 [AWS CloudTrail 요금](https://aws.amazon.com/cloudtrail/pricing/)을 참조하세요.

## CloudTrail의 Amazon Bedrock 관리 이벤트
<a name="bedrock-management-events-cloudtrail"></a>

[관리 이벤트](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-management-events-with-cloudtrail.html#logging-management-events)는 AWS 계정의 리소스에 대해 수행되는 관리 작업에 대한 정보를 제공합니다. 이를 컨트롤 플레인 작업이라고도 합니다. CloudTrail은 기본적으로 관리 이벤트 API 작업을 로깅합니다.

Amazon Bedrock은 [Amazon Bedrock 런타임 API 작업](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_Operations_Amazon_Bedrock_Runtime.html)(`InvokeModel`, `InvokeModelWithResponseStream`, `Converse`, `ConverseStream`)을 [관리 이벤트](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-management-events-with-cloudtrail.html#logging-management-events)로 로그합니다.

Amazon Bedrock은 나머지 Amazon Bedrock API 작업을 관리 이벤트로 로그합니다. Amazon Bedrock이 CloudTrail에 로그하는 Amazon Bedrock API 작업의 목록은 Amazon Bedrock API 참조에 있는 다음 페이지를 참조하세요.
+ [Amazon Bedrock](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_Operations_Amazon_Bedrock.html).
+ [Amazon Bedrock Agents](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_Operations_Agents_for_Amazon_Bedrock.html).
+ [Amazon Bedrock Agents Runtime](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_Operations_Agents_for_Amazon_Bedrock_Runtime.html).
+ [Amazon Bedrock Runtime](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_Operations_Amazon_Bedrock_Runtime.html).

모든 [Amazon Bedrock API 작업](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_Operations_Amazon_Bedrock.html) 및 [Amazon Bedrock Agents API 작업](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_Operations_Agents_for_Amazon_Bedrock.html)은 CloudTrail에 로그되며 [Amazon Bedrock API 참조](https://docs.aws.amazon.com/bedrock/latest/APIReference/)에 나와 있습니다. 예를 들어 `InvokeModel`, `StopModelCustomizationJob` 및 `CreateAgent` 작업을 직접적으로 호출하면 CloudTrail 로그 파일에 항목이 생성됩니다.

[Amazon GuardDuty](https://aws.amazon.com/guardduty/)는 CloudTrail 관리 및 이벤트 로그를 지속적으로 모니터링하고 분석하여 잠재적 보안 문제를 탐지합니다. AWS 계정에 대해 Amazon GuardDuty를 활성화하면 CloudTrail 로그를 자동으로 분석하여 사용자가 새 위치에서 로그인하고 Amazon Bedrock APIs를 사용하여 Amazon Bedrock 가드레일을 제거하거나 모델 훈련 데이터에 대한 Amazon S3 버킷 세트를 변경하는 등 Amazon Bedrock APIs에서 의심스러운 활동을 탐지하기 시작합니다.

## Amazon Bedrock 로그 파일 항목 이해
<a name="understanding-bedrock-entries"></a>

트레일이란 지정한 S3 버킷에 이벤트를 로그 파일로 입력할 수 있게 하는 구성입니다. CloudTrail 로그 파일에는 하나 이상의 로그 항목이 포함될 수 있습니다. 이벤트는 모든 소스로부터의 단일 요청을 나타내며 요청 작업, 작업 날짜와 시간, 요청 파라미터 등에 대한 정보가 들어 있습니다. CloudTrail 로그 파일은 퍼블릭 API 직접 호출의 주문 스택 트레이스가 아니므로 특정 순서로 표시되지 않습니다.

다음은 `InvokeModel` 작업을 보여주는 CloudTrail 로그 항목이 나타낸 예시입니다.

```
{
    "eventVersion": "1.08",
    "userIdentity": {
        "type": "IAMUser",
        "principalId": "AROAICFHPEXAMPLE",
        "arn": "arn:aws:iam::111122223333:user/userxyz",
        "accountId": "111122223333",
        "accessKeyId": "AKIAIOSFODNN7EXAMPLE",
        "userName": "userxyz"
    },
    "eventTime": "2023-10-11T21:58:59Z",
    "eventSource": "bedrock.amazonaws.com",
    "eventName": "InvokeModel",
    "awsRegion": "us-west-2",
    "sourceIPAddress": "192.0.2.0",
    "userAgent": "Boto3/1.28.62 md/Botocore#1.31.62 ua/2.0 os/macos#22.6.0 md/arch#arm64 lang/python#3.9.6 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.62",
    "requestParameters": {
        "modelId": "stability.stable-diffusion-xl-v0"
    },
    "responseElements": null,
    "requestID": "a1b2c3d4-5678-90ab-cdef-EXAMPLE22222",
    "eventID": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111 ",
    "readOnly": false,
    "eventType": "AwsApiCall",
    "managementEvent": true,
    "recipientAccountId": "111122223333",
    "eventCategory": "Management",
    "tlsDetails": {
        "tlsVersion": "TLSv1.2",
        "cipherSuite": "cipher suite",
        "clientProvidedHostHeader": "bedrock-runtime.us-west-2.amazonaws.com"
    }
}
```

# Amazon Bedrock 리소스 태그 지정
<a name="tagging"></a>

Amazon Bedrock 리소스 관리를 지원하려면 각 리소스에 메타데이터를 태그로 할당할 수 있습니다. 태그는 AWS 리소스에 할당하는 레이블입니다. 각 태그는 키와 값으로 구성됩니다.

태그를 사용하면 용도, 소유자 또는 애플리케이션 등 다양한 방식으로 AWS 리소스를 분류할 수 있습니다. 태그 지정에 대한 모범 사례 및 제한은 [AWS 리소스 태그 지정을 참조하세요](https://docs.aws.amazon.com/tag-editor/latest/userguide/tagging.html).

태그는 다음을 지원합니다.
+  AWS 리소스를 식별하고 구성합니다. 많은 AWS 리소스가 태그 지정을 지원하므로 다른 서비스의 리소스에 동일한 태그를 할당하여 리소스가 동일함을 나타낼 수 있습니다.
+ 비용을 할당합니다. AWS 결제 및 비용 관리 대시보드에서 태그를 활성화합니다. AWS 는 태그를 사용하여 비용을 분류하고 월별 비용 할당 보고서를 제공합니다. 자세한 내용은 *AWS 결제 및 비용 관리 사용자 가이드*의 [비용 할당 태그 사용](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html)을 참조하세요.
+  리소스에 대한 액세스를 제어합니다. Amazon Bedrock과 함께 태그를 사용하여 Amazon Bedrock 리소스에 대한 액세스를 제어하는 정책을 생성할 수 있습니다. 이러한 정책을 IAM 역할 또는 사용자에 연결하여 태그 기반 액세스 제어를 활성화할 수 있습니다.

**Topics**
+ [콘솔을 사용합니다.](#tagging-console)
+ [API 사용](#tagging-api)

## 콘솔을 사용합니다.
<a name="tagging-console"></a>

지원되는 리소스를 만들거나 편집하는 동안 언제든지 태그를 추가, 수정 및 제거할 수 있습니다.

## API 사용
<a name="tagging-api"></a>

태깅 작업을 수행하려면, 태깅 작업을 수행하려는 리소스의 Amazon 리소스 이름(ARN)이 필요합니다. 태그를 추가하거나 관리하는 리소스에 따라 두 세트의 태깅 작업을 사용할 수 있습니다.

다음 표에는 다양한 사용 사례와 이에 사용할 태그 지정 작업이 요약되어 있습니다.


****  

| 사용 사례: | [Amazon Bedrock](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_Operations_Amazon_Bedrock.html) API 작업으로 생성된 리소스 | [Amazon Bedrock Agents](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_Operations_Agents_for_Amazon_Bedrock.html) API 작업으로 생성된 리소스 | Amazon Bedrock Data Automation API로 생성된 리소스 | 
| --- | --- | --- | --- | 
| 리소스에 태그 지정 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/bedrock/latest/userguide/tagging.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/bedrock/latest/userguide/tagging.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/bedrock/latest/userguide/tagging.html)  | 
| 리소스에서 태그 제거 | [Amazon Bedrock 컨트롤 플레인 엔드포인트](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#br-cp)를 사용하여 [UntagResource](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_UntagResource.html)를 요청합니다. | [Amazon Bedrock Agents 빌드 타임 엔드포인트](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-bt)를 사용하여 [UntagResource](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_UntagResource.html)를 요청합니다. | Amazon Bedrock Data Automation 빌드 타임 엔드포인트를 사용하여 UntagResource를 요청합니다. | 
| 리소스에 대한 태그 나열 | [Amazon Bedrock 컨트롤 플레인 엔드포인트](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#br-cp)를 사용하여 [ListTagsForResource](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_ListTagsForResource.html)를 요청합니다. | [Amazon Bedrock Agents 빌드 타임 엔드포인트](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-bt)를 사용하여 [ListTagsForResource](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_ListTagsForResource.html)를 요청합니다. | Amazon Bedrock Data Automation 빌드 타임 엔드포인트를 사용하여 ListTagsForResource를 요청합니다. | 

**참고**  
CloudTrail에서 이러한 작업을 볼 때 이벤트 세부 정보에서 요청 파라미터를 확인하여 태그가 지정된 특정 리소스를 식별할 수 있습니다.

탭을 선택하면 인터페이스 또는 해당 언어로 된 코드 예제를 볼 수 있습니다.

------
#### [ AWS CLI ]

에이전트에 두 개의 태그를 추가합니다. 키/값 페어는 공백으로 구분합니다.

```
aws bedrock-agent tag-resource \
    --resource-arn "arn:aws:bedrock:us-east-1:123456789012:agent/AGENT12345" \
    --tags key=department,value=billing key=facing,value=internal
```

에이전트에서 태그를 제거합니다. 키는 공백으로 구분합니다.

```
aws bedrock-agent untag-resource \
    --resource-arn "arn:aws:bedrock:us-east-1:123456789012:agent/AGENT12345" \
    --tag-keys key=department facing
```

에이전트에 대한 태그를 나열합니다

```
aws bedrock-agent list-tags-for-resource \
    --resource-arn "arn:aws:bedrock:us-east-1:123456789012:agent/AGENT12345"
```

------
#### [ Python (Boto) ]

에이전트에 두 개의 태그를 추가합니다.

```
import boto3

bedrock = boto3.client(service_name='bedrock-agent')

tags = [
    {
        'key': 'department',
        'value': 'billing'
    },
    {
        'key': 'facing',
        'value': 'internal'
    }
]

bedrock.tag_resource(resourceArn='arn:aws:bedrock:us-east-1:123456789012:agent/AGENT12345', tags=tags)
```

에이전트에서 태그를 제거합니다.

```
bedrock.untag_resource(
    resourceArn='arn:aws:bedrock:us-east-1:123456789012:agent/AGENT12345', 
    tagKeys=['department', 'facing']
)
```

에이전트에 대한 태그를 나열합니다

```
bedrock.list_tags_for_resource(resourceArn='arn:aws:bedrock:us-east-1:123456789012:agent/AGENT12345')
```

------