

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# 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 リージョン と同じ にバケットを作成する必要があります。

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 設定の詳細については、「[AWS KMS (SSE−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"
           }
       ]
   }
   ```

------

SSE 向け CloudWatch Logs の設定詳細については、「[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>

**モデル呼び出しログ記録を有効にするには**

Amazon Bedrock コンソールを使用するアクセス許可を持つ IAM ID AWS マネジメントコンソール を使用して にサインインします。Amazon Bedrock コンソール ([https://console.aws.amazon.com/bedrock](https://console.aws.amazon.com/bedrock)) を開きます。

1. 左側のナビゲーションペインから、**設定**を選択します。

1. **モデル呼び出しログ**記録ページで、**モデル呼び出しログ記録**を選択します。ログ記録用の追加の設定が表示されます。

1. ログに発行するデータリクエストとレスポンスのモダリティを選択します。次の出力オプションの任意の組み合わせを選択できます。
   + テキスト
   + イメージ
   + 埋め込み
   + 動画
**注記**  
選択したモダリティ (入力または出力) をサポートする*すべての*モデルのデータがログに記録されます。例えば、**イメージ**を選択すると、イメージ入力、イメージ出力、またはその両方をサポートするすべてのモデルに対してモデル呼び出しがログに記録されます。

1. ログを発行する場所を選択します。
   + Amazon S3 のみ
   + CloudWatch Logs のみ
   + Amazon S3 と CloudWatch Logs の両方 

**ログ記録の送信先**  
送信先として、Amazon S3 と CloudWatch Logs は、呼び出しのログ記録と小さな入出力データに対応しています。大量の入出力データやバイナリイメージ出力には、Amazon S3 のみが対応しています。以下の詳細は、ターゲット送信先でのデータの表示方法をまとめたものです。
+ **送信先: S3** - 指定された S3 バケットには、Gzip 圧縮された JSON ファイルが配信されます。各ファイルには、呼び出しのログレコードのバッチが含まれています。CloudWatch Logs イベントと同様に、各レコードには呼び出しメタデータ、および入出力 JSON 本文 (最大サイズ 100 KB) が含まれます。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)