翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
を使用して Amazon Bedrock でモデル呼び出しログ記録を設定する AWS CloudFormation
Amazon Web Services、Vikramaditya Bhatnagar
概要
Amazon Bedrock を設定することで、 AWS アカウント内のすべてのモデル呼び出しに対する呼び出しログ、モデル入力データ、モデル出力データを収集できます。これは、Amazon Bedrock を使用して堅牢な生成 AI アプリケーションを構築するためのベストプラクティス
このパターンは、Infrastructure as Code (IaC) アプローチを使用して Amazon Bedrock のモデル呼び出しログ記録を設定するサンプル AWS CloudFormation テンプレートを提供します。このテンプレートは、CloudWatch Logs と Amazon S3 の両方にログストレージを設定します。
前提条件と制限
前提条件
アクティブな AWS アカウント
以下のアクセス許可:
制限事項
このパターンは、CloudWatch Logs と Amazon S3 の両方にモデル呼び出しをログ記録します。この 2 つのサービスのうち、どちらか 1 つのみを選択することはサポートされていません。
アーキテクチャ
ターゲットアーキテクチャ
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 の基盤モデルにクエリを送信します。
Amazon Bedrock は IAM サービスロールを引き受けます。
Amazon Bedrock はログデータを生成し、CloudWatch Logs ロググループと Amazon S3 バケットに保存します。
モデル呼び出しログを含む Amazon S3 バケット内で、ユーザーがファイルの読み取り、アップロード、または削除を行うと、これらのアクティビティは、サーバー側のアクセスログ用の別の Amazon S3 バケットに記録されます。
自動化とスケール
このソリューションをスケールするには、CloudFormation テンプレートをスタックセットとして複数の AWS リージョン と にデプロイします AWS アカウント。詳細については、CloudFormation ドキュメントの「StackSets を使用したアカウントとリージョン全体でのスタックの管理」を参照してください。
ツール
AWS のサービス
Amazon Bedrock は、主要な AI 企業や Amazon が提供する高パフォーマンスな基盤モデル (FM) を、統合 API を通じて利用できるようにする完全マネージド型サービスです。
AWS CloudFormation は、 AWS リソースをセットアップし、迅速かつ一貫してプロビジョニングし、 AWS アカウント および 全体のライフサイクルを通じてリソースを管理するのに役立ちます AWS リージョン。
Amazon CloudWatch Logs を使用すると、すべてのシステム、アプリケーション、および からのログを一元化 AWS のサービス できるため、ログをモニタリングして安全にアーカイブできます。
AWS Identity and Access Management (IAM) は、誰が認証され、誰に使用を許可されているかを制御することで、 AWS リソースへのアクセスを安全に管理できます。
AWS Lambda は、サーバーのプロビジョニングや管理を行うことなくコードを実行できるコンピューティングサービスです。必要に応じてコードを実行し、自動的にスケーリングするため、課金は実際に使用したコンピューティング時間に対してのみ発生します。
AWS Key Management Service (AWS KMS) は、データの保護に役立つ暗号化キーの作成と制御に役立ちます。
Amazon Simple Storage Service (Amazon S3) は業界をリードするスケーラビリティ、データ可用性、セキュリティ、およびパフォーマンスを提供するオブジェクトストレージサービスです。
その他のツール
Git
は、オープンソースの分散バージョン管理システムです。
コードリポジトリ
このパターンのコードは、GitHub enable-bedrock-logging-using-cloudformation
エピック
| タスク | 説明 | 必要なスキル |
|---|---|---|
モデルアクセスの有効化 | Amazon Bedrock に、基盤モデルへのアクセスを追加します。この手順については、Amazon Bedrock ドキュメントの「Add or remove access to Amazon Bedrock foundation models」を参照してください。 | クラウドアーキテクト |
サンプルプロンプトの実行 | Amazon Bedrock プレイグラウンドで、サンプルプロンプトを実行します。この手順については、Amazon Bedrock ドキュメントの「Generate responses in the console using playgrounds」を参照してください。 | クラウドアーキテクト |
ログ記録の設定の確認 |
| クラウドアーキテクト |
Amazon S3 バケットの確認 |
| クラウドアーキテクト |
ロググループの確認 |
| クラウドアーキテクト |
関連リソース
AWS ドキュメント
Amazon S3 汎用バケットへのアクセス (Amazon S3 ドキュメント)
CloudFormation スタックを使用した単一ユニットとしての AWS リソースの管理 (CloudFormation ドキュメント)
Monitor model invocation (Amazon Bedrock ドキュメント)
Working with log groups and log streams (CloudWatch Logs ドキュメント)
AWS ブログ投稿