CloudWatch ログを使用してモデルの呼び出しをモニタリングする - Amazon Bedrock

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

CloudWatch ログを使用してモデルの呼び出しをモニタリングする

モデル呼び出しログ記録を使用して、Amazon Bedrock AWS アカウント で使用される のすべての呼び出しの呼び出しログ、モデル入力データ、モデル出力データを収集できます。

呼び出しのログ記録を使用すると、アカウントで実行したすべての呼び出しに関連する完全なリクエストデータ、応答データ、およびメタデータを収集できます。ログ記録は、ログデータが公開される送信先リソースを出力するように設定できます。サポートされている送信先には、Amazon CloudWatch Logs と Amazon Simple Storage Service (Amazon S3) が含まれます。同じアカウントとリージョンの送信先のみがサポートされます。

モデル呼び出しログ記録はデフォルトで無効になっています。

次のオペレーションでは、モデル呼び出しをログに記録できます。

を使用する場合 Converse APIでは、渡したイメージまたはドキュメントデータは Amazon S3 に記録されます (Amazon S3 で配信とイメージのログ記録を有効にしている場合)。

呼び出しログ記録を有効にする前に、Amazon S3 または CloudWatch Logs の送信先を設定する必要があります。コンソールまたは を使用して、呼び出しログ記録を有効にできますAPI。

Amazon S3 送信先をセットアップする

Amazon Bedrock にログインするために S3 送信先をセットアップするには、以下の手順に従います。

  1. ログが配信される S3 バケットを作成します。

  2. バケットポリシーを次のように追加します (accountId、、regionbucketName、およびオプションで の値に置き換えます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必要があります。詳細については、「すべての新しいバケットACLsの無効化」および「オブジェクト所有権の適用」を参照してください。

CloudWatch ログ送信先を設定する

Amazon Bedrock にログインするための Amazon CloudWatch Logs 送信先は、次の手順で設定できます。

  1. CloudWatch ログが発行されるロググループを作成します。

  2. CloudWatch Logs に対して次のアクセス許可を持つ 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の設定の詳細については、「 を使用して CloudWatch ログのログデータを暗号化する AWS Key Management Service」を参照してください。

コンソールを使用したモデル呼び出しログ記録

モデル呼び出しのログ記録を有効にするには、[設定] ページの [ログ記録] トグルスイッチの横にあるスライダーボタンをドラッグします。ログ記録用の追加構成設定がパネルに表示されます。

ログに公開するデータリクエストとレスポンスを選択します。以下の出力オプションの任意の組み合わせを選択することもできます。

  • テキスト

  • イメージ

  • 埋め込み

ログを公開する場所を選択します。

  • Amazon S3 のみ

  • CloudWatch ログのみ

  • Amazon S3 と CloudWatch ログの両方

Amazon S3 および CloudWatch Logs の送信先は、呼び出しログと小さな入出力データでサポートされています。大量の入出力データやバイナリイメージ出力には、Amazon S3 のみが対応しています。以下の詳細は、ターゲット送信先でのデータの表示方法をまとめたものです。

  • S3 送信先 — それぞれに呼び出しログレコードのバッチを含む Gzipped JSON ファイルは、指定された S3 バケットに配信されます。 CloudWatch Logs イベントと同様に、各レコードには呼び出しメタデータと、最大 JSON 100 KB のサイズの入出力本文が含まれます。100 KB を超えるバイナリデータまたはJSON本文は、データプレフィックスの下の指定された Amazon S3 バケットに個別のオブジェクトとしてアップロードされます。Amazon S3 Select と Amazon Athena を使用してデータをクエリし、ETL使用のためにカタログ化できます AWS Glue。データは OpenSearch サービスにロードすることも、Amazon EventBridge ターゲットで処理することもできます。

  • CloudWatch ログの送信先 — JSON 呼び出しログイベントは、 CloudWatch ログの指定されたロググループに配信されます。ログイベントには、呼び出しメタデータと、最大 JSON 100 KB のサイズの入出力本文が含まれます。大規模なデータ配信用の Amazon S3 の場所が指定されている場合、代わりにバイナリデータまたは JSON 100 KB を超える本文がデータプレフィックスの下の Amazon S3 バケットにアップロードされます。 データは CloudWatch Logs Insights を使用してクエリでき、 CloudWatch Logs を使用してさまざまなサービスにリアルタイムでさらにストリーミングできます。

を使用した呼び出しログ記録のモデル化 API

モデル呼び出しのログ記録は、次の を使用して設定できますAPIs。