を使用して Amazon Bedrock でモデル呼び出しログ記録を設定する AWS CloudFormation - AWS 規範ガイダンス

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

を使用して Amazon Bedrock でモデル呼び出しログ記録を設定する AWS CloudFormation

Amazon Web Services、Vikramaditya Bhatnagar

概要

Amazon Bedrock を設定することで、 AWS アカウント内のすべてのモデル呼び出しに対する呼び出しログ、モデル入力データ、モデル出力データを収集できます。これは、Amazon Bedrock を使用して堅牢な生成 AI アプリケーションを構築するためのベストプラクティスです。モデル呼び出しログは、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 の両方にログストレージを設定します。

前提条件と制限

前提条件

  • アクティブな AWS アカウント

  • 以下のアクセス許可:

    • CloudFormation スタックを作成するためのアクセス許可

    • Amazon Bedrock へのアクセス許可

    • Amazon S3 バケットを作成してアクセスするためのアクセス許可

    • CloudWatch Logs ロググループを作成してアクセスするためのアクセス許可

    • AWS Lambda 関数を作成してアクセスするためのアクセス許可

    • AWS Key Management Service (AWS KMS) キーを作成してアクセスするためのアクセス許可

制限事項

このパターンは、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 基盤モデルの呼び出しをログに記録するワークフロー。

この図は、次のワークフローを示しています。

  1. ユーザーが Amazon Bedrock の基盤モデルにクエリを送信します。

  2. Amazon Bedrock は IAM サービスロールを引き受けます。

  3. Amazon Bedrock はログデータを生成し、CloudWatch Logs ロググループと Amazon S3 バケットに保存します。

  4. モデル呼び出しログを含む 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 リポジトリで入手できます。

エピック

タスク説明必要なスキル

CloudFormation テンプレートをダウンロードします。

CloudFormation テンプレートを GitHub「リポジトリ」からダウンロードします。

クラウドアーキテクト

テンプレートのデプロイ

ターゲットアカウントとリージョンにスタックを作成します。[パラメータ] セクションで、テンプレートで定義されている各パラメータの値を指定します。手順については、「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」を参照してください。

クラウドアーキテクト

ログ記録の設定の確認

  1. Amazon Bedrock コンソールにサインインします。

  2. ナビゲーションバーで、CloudFormation スタックをデプロイした AWS リージョン を選択します。

  3. 左側のナビゲーションペインの [Bedrock 設定] で、[設定] を選択します。

  4. 次の点を確認します。

    • モデル呼び出しのログ記録が有効になっていること。

    • すべてのデータ型が選択されていること。

    • ログ記録の保存先として、S3 と CloudWatch Logs の両方が選択されていること。

クラウドアーキテクト

Amazon S3 バケットの確認

  1. [S3 の設定] セクションで、[S3 を参照] を選択します。これで、Amazon S3 コンソールにターゲットバケットが開きます。

  2. 以前に実行したサンプルプロンプトのログデータが保存されていることを確認します。

クラウドアーキテクト

ロググループの確認

  1. Amazon Bedrock コンソールの [設定] ページに戻ります。

  2. [CloudWatch Logs の設定] セクションで、CloudWatch Logs ロググループの設定を確認します。ロググループ名を書き留めます。

  3. CloudWatch コンソールを開きます。

  4. ナビゲーションペインの [ログ] で、[ロググループ] を選択します。

  5. Amazon Bedrock がログデータを発行するロググループの名前を選択します。

  6. 以前に実行したサンプルプロンプトのログデータが保存されていることを確認します。

クラウドアーキテクト

関連リソース

AWS ドキュメント

AWS ブログ投稿