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

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

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

作成者: Vikramaditya Bhatnagar (AWS)

概要

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 の高性能基盤モデル (FMs) を統一された 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「リポジトリ」からダウンロードします。

クラウドアーキテクト

テンプレートをデプロイします。

ターゲットアカウントとリージョンにスタックを作成します。Parameters セクションで、テンプレートで定義されているパラメータの値を指定します。手順については、「CloudFormation のドキュメント」の「スタックの作成」を参照してください。

クラウドアーキテクト
タスク説明必要なスキル

モデルアクセスを有効にします。

Amazon Bedrock で、基盤モデルへのアクセスを追加します。手順については、「Amazon Bedrock ドキュメント」の「Amazon Bedrock 基盤モデルへのアクセスの追加または削除」を参照してください。

クラウドアーキテクト

サンプルプロンプトを実行します。

Amazon Bedrock プレイグラウンドで、サンプルプロンプトを実行します。手順については、Amazon Bedrock ドキュメントの「プレイグラウンドを使用してコンソールでレスポンスを生成する」を参照してください。

クラウドアーキテクト

ログ記録設定を確認します。

  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. ナビゲーションペインで、[Logs] (ログ)、[Log groups] (ロググループ) の順に選択します。

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

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

クラウドアーキテクト

関連リソース

AWS ドキュメント

AWS ブログ投稿