

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 使用 CloudWatch Logs 和 Amazon S3 監控模型調用
<a name="model-invocation-logging"></a>

您可以使用模型調用記錄來收集調用日誌、模型輸入資料，以及 區域中在 Amazon Bedrock AWS 帳戶 中使用的所有調用模型輸出資料。

透過調用記錄功能，您可以收集完整的請求資料、回應資料，以及與區域中帳戶中執行的所有呼叫相關聯的中繼資料。您可以設定記錄功能，以提供將發佈日誌資料的目的地資源。支援的目的地包括 Amazon CloudWatch Logs 和 Amazon Simple Storage Service (Amazon 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 區域 相同的 中建立儲存貯體。

您可以透過下列步驟設定 S3 目的地，以便在 Amazon Bedrock 中登入：

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 CloudWatch Logs 目的地，以便在 Amazon Bedrock 中進行記錄：

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 的 SSE 的詳細資訊，請參閱[使用 AWS Key Management Service加密 CloudWatch Logs 中的日誌資料](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/encrypt-log-data-kms.html)。

## 使用主控台的模型調用記錄
<a name="model-invocation-logging-console"></a>

**啟用模型調用記錄**

 AWS 管理主控台 使用具有使用 Amazon Bedrock 主控台之許可的 IAM 身分登入 。接著，開啟位於 [https://console.aws.amazon.com/bedrock](https://console.aws.amazon.com/bedrock) 的 Amazon Bedrock 主控台。

1. 從左側導覽窗格中，選取**設定**。

1. 在**模型調用記錄**頁面中，選取**模型調用記錄**。記錄的其他組態設定將會出現。

1. 選取您要發佈至日誌的資料請求和回應模式。您可以選取下列輸出選項的任意組合：
   + 文字
   + 影像
   + 內嵌項目
   + 影片
**注意**  
系統會針對支援您選擇的模態 （無論做為輸入或輸出） *的所有*模型記錄資料。例如，如果您選取**影像**，則會記錄支援影像輸入、影像輸出或兩者的所有模型的模型調用。

1. 選取要發佈日誌的位置：
   + 僅限 Amazon S3
   + 僅限 CloudWatch Logs
   + Amazon S3 和 CloudWatch Logs 

**記錄目的地**  
Amazon S3 和 CloudWatch Logs 目的地支援調用日誌，以及小型輸入和輸出資料。對於大型輸入和輸出資料或二進位映像輸出，僅支援 Amazon S3。下列詳細資訊摘要如何在目標位置中呈現資料。
+ **S3 目的地** — 壓縮的 JSON 檔案 (每個檔案都包含一批調用日誌記錄) 會傳送到指定的 S3 儲存貯體。與 CloudWatch Logs 事件類似，每筆記錄都包含調用中繼資料，以及大小不超過 100 KB 的輸入和輸出 JSON 主體。大於 100 KB 的二進位資料或 JSON 主體，會以個別物件形式上傳到指定的 Amazon S3 儲存貯體的資料字首下。可以使用 Amazon S3 Select 和 Amazon Athena 查詢資料，並且可以使用 AWS Glue為 ETL 編目。這些資料可以載入到 OpenSearch 服務，也可以由任何 Amazon EventBridge 目標處理。
+ **CloudWatch Logs 目的地** — JSON 調用日誌事件會傳送至 CloudWatch Logs 中的指定日誌群組。日誌事件包含調用中繼資料，以及大小不超過 100 KB 的輸入和輸出 JSON 主體。如果提供用於大型資料交付的 Amazon S3 位置，則大於 100 KB 的二進位資料或 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)