View a markdown version of this page

アーキテクチャの概要 - AWS での生成 AI アプリケーションビルダー

アーキテクチャの概要

このセクションでは、このソリューションでデプロイされるコンポーネントのリファレンス実装アーキテクチャ図を示します。

アーキテクチャ図

さまざまなユースケースとビジネスニーズをサポートするために、このソリューションでは 6 つの AWS CloudFormation テンプレートが用意されています。

  1. デプロイダッシュボード - デプロイダッシュボードは、管理者ユーザーがユースケースを表示、管理、作成するための管理コンソールとして機能するウェブインターフェイスです。このダッシュボードにより、LLM を活用したさまざまな AI/ML ワークロードを迅速に実験および反復して本番稼働化できます。

  2. Text ユースケース - Text ユースケースでは、生成 AI を使用して自然言語インターフェイスを体験できます。このユースケースは、新規または既存のアプリケーションに統合でき、デプロイダッシュボードからデプロイすることも、提供された URL を通じて個別にデプロイすることもできます。

  3. Bedrock エージェントユースケース - Bedrock エージェントユースケースでは、既存の Bedrock エージェントを使用してタスクを完了したり、繰り返しワークフローを自動化したりできます。

  4. MCP サーバー - MCP サーバーのユースケースにより、AI アプリケーションへの標準化されたツールとリソースアクセスを提供するモデルコンテキストプロトコルサーバーのデプロイと管理が可能になります。既存の Lambda 関数、API、外部 MCP サーバーをラップするためのゲートウェイメソッドと、カスタムコンテナ化された MCP サーバーをデプロイするためのランタイムメソッドの両方をサポートします。

  5. エージェントビルダー - エージェントビルダーを使用すると、完全な設定制御、MCP サーバー統合、メモリ管理機能を使用して、Amazon Bedrock AgentCore で本番稼働対応の AI エージェントを作成およびデプロイできます。

  6. ワークフロービルダー - ワークフロービルダーを使用すると、複雑なマルチエージェントワークフローの Agents as Tools 委任パターンを使用して複数のエージェントビルダーエージェントをオーケストレーションするスーパーバイザーエージェントを作成できます。

デプロイダッシュボード

デプロイダッシュボードのアーキテクチャを示しています (VPC オプションを無効にしてデプロイした場合)

デプロイダッシュボードの図

デプロイダッシュボードアーキテクチャを示しています (VPC オプションを有効にしてデプロイした場合)

デプロイダッシュボード VPC アーキテクチャ図
注記

AWS CloudFormation のリソースは、AWS Cloud Development Kit (AWS CDK) のコンストラクトで作成されています。

AWS CloudFormation テンプレートを使用してデプロイされたこのソリューションコンポーネントの大まかなプロセスフローは次のとおりです。

  1. 管理者ユーザーは、デプロイダッシュボードのユーザーインターフェイス (UI) にログインします。

  2. Amazon CloudFront が、Amazon Simple Storage Service (Amazon S3) バケットでホストされているウェブ UI を提供します。

  3. AWS WAF は API を攻撃から保護します。このソリューションでは、ウェブアクセスコントロールリスト (ウェブ ACL) と呼ばれる一連のルールを設定して、設定可能なユーザー定義のウェブセキュリティルールと条件に基づき、ウェブリクエストを許可、ブロック、またはカウントします。

  4. ウェブ UI は、Amazon API Gateway を使用して公開される一連の REST API を活用します。

  5. Amazon Cognito はユーザーを認証し、CloudFront ウェブ UI と API Gateway の両方をサポートします。

  6. AWS Lambda は、REST エンドポイントのビジネスロジックを提供します。このバッキング Lambda 関数は、AWS CloudFormation を使用してユースケースのデプロイを実行するために必要なリソースを管理および作成します。

  7. Amazon DynamoDB はデプロイのリストを保存します。

  8. 管理者ユーザーが新しいユースケースを作成すると、バッキング Lambda 関数は、リクエストされたユースケースの CloudFormation スタック作成イベントを開始します。

  9. デプロイウィザードで管理者ユーザーが提供するすべての LLM 設定オプションは、DynamoDB に保存されます。デプロイでは、この DynamoDB テーブルを使用して、実行時に LLM を設定します。

  10. このソリューションは、Amazon CloudWatch を使用してさまざまなサービスから運用メトリクスを収集し、ソリューションのパフォーマンスと運用状態をモニタリングできるカスタムダッシュボードを生成します。

注記
  • このソリューションを Amazon VPC にデプロイする場合、データはプライベートネットワーク内でルーティングされます。

  • デプロイダッシュボードはほとんどの AWS リージョンで起動できますが、デプロイされたユースケースには、サービスの可用性に基づいて特定の制限があります。詳細については、「サポートされている AWS リージョン」を参照してください。

Text ユースケース

Text ユースケースのアーキテクチャを示しています (VPC オプションを無効にしてデプロイした場合)

Text ユースケースの図

Text ユースケースのアーキテクチャを示しています (VPC オプションを有効にしてデプロイした場合)

Text ユースケース VPC アーキテクチャ図

AWS CloudFormation テンプレートを使用してデプロイされたこのソリューションコンポーネントの大まかなプロセスフローは次のとおりです。

  1. 管理者ユーザーは、デプロイダッシュボードを使用してユースケースをデプロイします。ビジネスユーザーは、ユースケースの UI にログインします。

  2. CloudFront は、S3 バケットでホストされているウェブ UI を提供します。

  3. ウェブ UI は、API Gateway を使用して構築された WebSocket 統合を活用します。API Gateway は、認証ユーザーが属する Amazon Cognito グループに基づいて適切な AWS Identity and Access Management (IAM) ポリシーを返すカスタム Lambda オーソライザー関数によってサポートされています。ポリシーは DynamoDB に保存されます。

  4. Amazon Cognito はユーザーを認証し、CloudFront ウェブ UI と API Gateway の両方をサポートします。

  5. ビジネスユーザーからの受信リクエストは、API Gateway から Amazon SQS キューに渡され、その後 LangChain Orchestrator に渡されます。LangChain Orchestrator は、ビジネスユーザーからのリクエストに応えるためのビジネスロジックを提供する Lambda 関数とレイヤーのコレクションです。キューにより、API Gateway と Lambda 統合の非同期操作が可能になります。キューは Lambda 関数に接続情報を渡し、その結果を API Gateway WebSocket 接続に直接送信して、長時間実行される推論呼び出しをサポートします。

  6. LangChain Orchestrator は、Amazon DynamoDB を使用して、設定された LLM オプションと必要なセッション情報 (チャット履歴など) を取得します。

  7. デプロイでナレッジベースが有効になっている場合、LangChain OrchestratorAmazon Kendra または Amazon Bedrock ナレッジベースを利用して検索クエリを実行し、ドキュメントの抜粋を取得します。

  8. LangChain Orchestrator は、ナレッジベースのチャット履歴、クエリ、コンテキストを使用して最終プロンプトを作成し、Amazon Bedrock または Amazon SageMaker AI でホストされている LLM にリクエストを送信します。

  9. LLM から応答が返されると、LangChain Orchestrator は API Gateway WebSocket 経由で応答をストリーミングし、クライアントアプリケーションで使用できるようにします。

  10. このソリューションは、Amazon CloudWatch を使用してさまざまなサービスから運用メトリクスを収集し、デプロイのパフォーマンスと運用状態をモニタリングできるカスタムダッシュボードを生成します。

  11. フィードバック収集が有効になっている場合、Amazon API Gateway を活用した REST API エンドポイントがユーザーフィードバックの収集に使用できます。

  12. フィードバックバッキング Lambda は、送信されたフィードバックを追加のユースケース固有のメタデータ (使用されているモデルなど) で補強し、後で DevOps ユーザーによる分析とレポートのために Amazon S3 にデータを保存します。

注記

このソリューションを Amazon VPC にデプロイする場合、データはプライベートネットワークにルーティングされます。

Bedrock エージェントユースケース

Bedrock エージェントユースケースのアーキテクチャを示しています (VPC オプションを無効にしてデプロイした場合)

エージェントユースケースの図

Bedrock エージェントユースケースのアーキテクチャを示しています (VPC オプションを有効にしてデプロイした場合)

Agent ユースケースの VPC アーキテクチャ図

AWS CloudFormation テンプレートを使用してデプロイされたこのソリューションコンポーネントの大まかなプロセスフローは次のとおりです。

  1. 管理者ユーザーは、デプロイダッシュボードを使用してユースケースをデプロイします。ビジネスユーザーは、ユースケースの UI にサインインします。

  2. CloudFront は、S3 バケットでホストされているウェブ UI を提供します。

  3. ウェブ UI は、API Gateway を使用して構築された WebSocket 統合を活用します。API Gateway は、認証ユーザーが属する Amazon Cognito グループに基づいて適切な AWS Identity and Access Management (IAM) ポリシーを返すカスタム Lambda オーソライザー関数によってサポートされています。ポリシーは DynamoDB に保存されます。

  4. Amazon Cognito はユーザーを認証し、CloudFront ウェブ UI と API Gateway の両方をサポートします。

  5. ビジネスユーザーからの受信リクエストは、API Gateway から Amazon SQS キューに渡され、AWS Lambda 関数に渡されます。キューにより、API Gateway と Lambda 統合の非同期操作が可能になります。キューは Lambda 関数に接続情報を渡し、その結果を API Gateway WebSocket 接続に直接送信して、長時間実行される推論呼び出しをサポートします。

  6. AWS Lambda 関数は Amazon DynamoDB を使用して、必要に応じてユースケース設定を取得します。

  7. ユーザー入力と関連するユースケース設定に基づき、AWS Lambda 関数はリクエストペイロードを作成し、設定済みの Amazon Bedrock エージェントに送信してユーザーの意図を実行します。

  8. Amazon Bedrock エージェントから応答が返されると、Lambda 関数は API Gateway WebSocket を介して応答をストリーミングし、クライアントアプリケーションで使用できるようにします。

  9. このソリューションは、Amazon CloudWatch を使用してさまざまなサービスから運用メトリクスを収集し、デプロイのパフォーマンスと運用状態をモニタリングできるカスタムダッシュボードを生成します。

  10. フィードバック収集が有効になっている場合、Amazon API Gateway を活用した REST API エンドポイントがユーザーフィードバックの収集に使用できます。

  11. フィードバックバッキング Lambda は、送信されたフィードバックを追加のユースケース固有のメタデータで補足し、後で DevOps ユーザーによる分析とレポートのために Amazon S3 にデータを保存します。

注記

このソリューションを Amazon VPC にデプロイする場合、データはプライベートネットワーク内でルーティングされます。

MCP サーバーのユースケース

MCP サーバーのユースケースアーキテクチャを示しています

mcp サーバーのユースケース図

MCP サーバーのユースケースにより、Amazon Bedrock AgentCore でのモデルコンテキストプロトコルサーバーのデプロイと管理が可能になります。MCP サーバーは、AI アプリケーションがツール、リソース、エンタープライズデータソースにアクセスするための標準化されたインターフェイスを提供します。

このソリューションは、次の 2 つのデプロイ方法をサポートします。

  • ゲートウェイメソッド: 既存の Lambda 関数、REST API、または外部 MCP サーバーを MCP ツールとしてラップし、プロトコル変換を自動的に処理します。

  • ランタイムメソッド: Amazon ECR イメージからカスタムコンテナ化された MCP サーバーをデプロイします。

MCP サーバーデプロイの大まかなプロセスフローは次のとおりです。

  1. 管理者ユーザーは、ゲートウェイまたはランタイムデプロイ方法を選択して、デプロイダッシュボードを使用して MCP サーバーのユースケースをデプロイします。

  2. このアクションは Amazon Cognito で認証されます。

  3. ゲートウェイデプロイの場合、ソリューションは既存の Lambda 関数、APIs、または外部 MCP サーバーを MCP 準拠のツールに変換する Amazon Bedrock AgentCore Gateway を作成します。ランタイムデプロイの場合、ソリューションは、提供された ECR イメージを使用してコンテナ化された MCP サーバーを Amazon Bedrock AgentCore Runtime にデプロイします。

  4. ゲートウェイデプロイは、Amazon S3 にアップロードされた場所から必要な API/Lambda/Smithy スキーマを取得するか、または MCP サーバー URL エンドポイントに直接接続します。

  5. ランタイムデプロイは、Amazon Elastic Container Registry (ECR) からユーザーが提供するコンテナ化された MCP サーバーを取得します。

  6. MCP サーバーは Amazon Bedrock AgentCore Identity OAuth クライアントで計測されます。

  7. MCP サーバーは、エージェントが検出できるように、関連するツールを /mcp エンドポイントで利用できるようにします。

  8. Amazon CloudWatch は、モニタリングとトラブルシューティングのために MCP サーバーのデプロイから運用メトリクスとログを収集します。

エージェントビルダーのユースケース

エージェントビルダーアーキテクチャを示しています

エージェントビルダーのデプロイ図

AWS CloudFormation テンプレートを使用してデプロイされたこのエージェントビルダーコンポーネントの大まかなプロセスフローは次のとおりです。

  1. 管理者ユーザーは、デプロイダッシュボードを使用してユースケースをデプロイします。ビジネスユーザーは、ユースケースの UI にサインインします。

  2. CloudFront は、S3 バケットでホストされているウェブ UI を提供します。

  3. ウェブ UI は、API Gateway を使用して構築された WebSocket 統合を活用します。API Gateway は、認証ユーザーが属する Amazon Cognito グループに基づいて適切な AWS Identity and Access Management (IAM) ポリシーを返すカスタム Lambda オーソライザー関数によってサポートされています。ポリシーは DynamoDB に保存されます。

  4. Amazon Cognito はユーザーを認証し、CloudFront ウェブ UI と API Gateway の両方をサポートします。

  5. ビジネスユーザーからの受信リクエストは、API Gateway から Amazon SQS キューに渡され、AWS Lambda 関数に渡されます。キューにより、API Gateway と Lambda 統合の非同期操作が可能になります。キューは Lambda 関数に接続情報を渡し、その結果を API Gateway WebSocket 接続に直接送信して、長時間実行される推論呼び出しをサポートします。

  6. AWS Lambda 関数は、DynamoDB からエージェント設定を取得します。

  7. ユーザー入力と関連するユースケース設定を使用して、AWS Lambda 関数は Amazon Bedrock AgentCore Runtime で実行されるリクエストペイロードを構築してエージェントに送信します。

  8. エージェントは関連付けられた MCP サーバーに接続し、ツールをストランドエージェントインスタンスに登録します。次に、エージェントはツールの説明とタスク要件に基づいてアクションを自律的に選択して実行します。

  9. Amazon Bedrock AgentCore Runtime から応答が返されると、Lambda 関数は API Gateway WebSocket を介して応答をストリーミングし、クライアントアプリケーションで使用できるようにします。

注記
  • エージェント処理は Lambda 実行タイムアウト (15 分) に制限されています。

ワークフロービルダーのユースケース

ワークフロービルダーアーキテクチャを示しています

ワークフローデプロイ図

AWS CloudFormation テンプレートを使用してデプロイされたこのワークフロービルダーコンポーネントの大まかなプロセスフローは次のとおりです。

  1. 管理者ユーザーは、デプロイダッシュボードを使用してワークフローをデプロイし、専門エージェントとして含める エージェントビルダーエージェントを選択します。

  2. CloudFront は、S3 バケットでホストされているウェブ UI を提供します。

  3. ウェブ UI は、API Gateway を使用して構築された WebSocket 統合を活用します。API Gateway は、認証ユーザーが属する Amazon Cognito グループに基づいて適切な AWS Identity and Access Management (IAM) ポリシーを返すカスタム Lambda オーソライザー関数によってサポートされています。ポリシーは DynamoDB に保存されます。

  4. Amazon Cognito はユーザーを認証し、CloudFront ウェブ UI と API Gateway の両方をサポートします。

  5. ビジネスユーザーからの受信リクエストは、API Gateway から Amazon SQS キューに渡され、AWS Lambda 関数に渡されます。キューにより、API Gateway と Lambda 統合の非同期操作が可能になります。

  6. AWS Lambda 関数は、特殊なエージェントビルダーのエージェントのリストなど、DynamoDB からワークフロー設定を取得します。

  7. ユーザー入力とワークフロー設定を使用して、Lambda はスーパーバイザーエージェントをホストする Amazon Bedrock AgentCore Runtime にリクエストを送信します。

  8. スーパーバイザーエージェントは、AgentCore Runtime 環境内のすべての特殊なエージェントビルダーエージェントのローカルインスタンスを作成します。これらの特殊なエージェントは、Agents as Tools パターンを使用してツールとして登録されます。その後、スーパーバイザーは、エージェントの説明とタスク要件に基づいて、作業を自律的に選択し、専門エージェントに委任します。

  9. スーパーバイザーエージェントは、特殊なエージェントから結果を集約し、最終レスポンスを定式化し、API Gateway Websocket を介してクライアントアプリケーションにストリーミングされるように Lambda に返します。

注記
  • ワークフロー処理は Lambda 実行タイムアウト (15 分) に制限されています。