

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

# を使用して Amazon Bedrock でモデル呼び出しログ記録を設定する AWS CloudFormation
<a name="configure-bedrock-invocation-logging-cloudformation"></a>

*Amazon Web Services、Vikramaditya Bhatnagar*

## 概要
<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 リージョン または長期ストレージのデータのレプリケートに最適です。

このパターンは、Infrastructure as Code (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 への[アクセス許可](https://docs.aws.amazon.com/bedrock/latest/userguide/security-iam-awsmanpol.html#security-iam-awsmanpol-updates)
  + Amazon S3 バケットを作成してアクセスするための[アクセス許可](https://docs.aws.amazon.com/AmazonS3/latest/userguide/example-policies-s3.html)
  + CloudWatch Logs ロググループを作成してアクセスするための[アクセス許可](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/iam-identity-based-access-control-cwl.html)
  +  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 の両方にモデル呼び出しをログ記録します。この 2 つのサービスのうち、どちらか 1 つのみを選択することはサポートされていません。

## アーキテクチャ
<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/ja_jp/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 アカウント。詳細については、CloudFormation ドキュメントの「[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](https://docs.aws.amazon.com/bedrock/latest/userguide/what-is-bedrock.html) は、主要な 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)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html) は業界をリードするスケーラビリティ、データ可用性、セキュリティ、およびパフォーマンスを提供するオブジェクトストレージサービスです。

**その他のツール**
+ [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 テンプレートをダウンロードします。 | CloudFormation テンプレートを GitHub「[リポジトリ](https://github.com/aws-samples/enable-bedrock-logging-using-cloudformation/blob/main/enable-bedrock-logging-using-cloudformation.yaml)」からダウンロードします。 | クラウドアーキテクト | 
| テンプレートのデプロイ | ターゲットアカウントとリージョンにスタックを作成します。**[パラメータ]** セクションで、テンプレートで定義されている各パラメータの値を指定します。手順については、「CloudFormation ドキュメント」の「[スタックの作成](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-console-create-stack.html)」を参照してください。 | クラウドアーキテクト | 

### ソリューションをテストする
<a name="test-the-solution"></a>


| タスク | 説明 | 必要なスキル | 
| --- | --- | --- | 
| モデルアクセスの有効化 | Amazon Bedrock に、基盤モデルへのアクセスを追加します。この手順については、Amazon Bedrock ドキュメントの「[Add or remove access to Amazon Bedrock foundation models](https://docs.aws.amazon.com/bedrock/latest/userguide/model-access-modify.html)」を参照してください。 | クラウドアーキテクト | 
| サンプルプロンプトの実行 | Amazon Bedrock プレイグラウンドで、サンプルプロンプトを実行します。この手順については、Amazon Bedrock ドキュメントの「[Generate responses in the console using playgrounds](https://docs.aws.amazon.com/bedrock/latest/userguide/playgrounds.html)」を参照してください。 | クラウドアーキテクト | 
| ログ記録の設定の確認 | [See the AWS documentation website for more details](http://docs.aws.amazon.com/ja_jp/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/ja_jp/prescriptive-guidance/latest/patterns/configure-bedrock-invocation-logging-cloudformation.html) | クラウドアーキテクト | 
| ロググループの確認 | [See the AWS documentation website for more details](http://docs.aws.amazon.com/ja_jp/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 ドキュメント)
+ [CloudFormation スタックを使用した単一ユニットとしての AWS リソースの管理](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacks.html) (CloudFormation ドキュメント)
+ [Monitor model invocation](https://docs.aws.amazon.com/bedrock/latest/userguide/model-invocation-logging.html) (Amazon Bedrock ドキュメント)
+ [Working with log groups and log streams](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/Working-with-log-groups-and-streams.html) (CloudWatch Logs ドキュメント)

**AWS ブログ投稿**
+ [Monitoring Generative AI applications using Amazon Bedrock and Amazon CloudWatch integration](https://aws.amazon.com/blogs/mt/monitoring-generative-ai-applications-using-amazon-bedrock-and-amazon-cloudwatch-integration/)
+ [Best practices for building robust generative AI applications with Amazon Bedrock Agents – Part 1](https://aws.amazon.com/blogs/machine-learning/best-practices-for-building-robust-generative-ai-applications-with-amazon-bedrock-agents-part-1/)
+ [Best practices for building robust generative AI applications with Amazon Bedrock Agents – Part 2](https://aws.amazon.com/blogs/machine-learning/best-practices-for-building-robust-generative-ai-applications-with-amazon-bedrock-agents-part-2/)