ソフトウェア・アズ・ア・サービス(SaaS)プロバイダーがマルチテナントエージェントアプリケーションを構築する際には、セキュリティ、ガバナンス、応答精度といった典型的な懸念事項を超えたアーキテクチャ上の課題に対処する必要があります。これには、テナントの分離、テナントのアイデンティティ、テナントの可観測性、データの分離、コスト属性、ノイジーネイバーの緩和が含まれます。実用的なデモから本番導入へのギャップを埋めるには、マルチテナント環境向けに構築されたインフラストラクチャが必要です。
Amazon Bedrock AgentCoreは、AWSでエージェントアプリケーションを構築、デプロイ、安全に運用するためのマネージドサーバーレスサービスです。これは、エージェントのデプロイとMCPサーバーのホスティングのための構造を提供し、アイデンティティ管理、メモリ、可観測性、評価のための組み込みサポートを備えており、マルチテナントエージェントアーキテクチャを簡単に構築できるように設計されています。
この記事は、ブログシリーズのパート1であり、Amazon Bedrock AgentCoreを使用したマルチテナントエージェントアプリケーションの設計上の考慮事項と、SaaSアーキテクチャの課題に対処するために必要なフレームワークを探求します。
安全なマルチテナントエージェントアプリケーションを構築するには、特定の主要コンポーネントにわたる注意深いアーキテクチャ上の決定が必要です。各コンポーネントは、セキュリティとコンプライアンス基準を維持しながら、テナントの分離、運用効率、コスト最適化のバランスを取らなければなりません。これらの設計上の考慮事項は、3つのテナント分離パターン(Silo、Pool、Bridge)を中心に展開され、それらを選択する際の階層化戦略が重要な考慮事項となります。
- エージェントランタイムのデプロイメント:専用対共有。マルチテナントエージェントアーキテクチャにおける重要な決定は、テナントに対してエージェントランタイムをどのようにプロビジョニングするかです。テナントごとの専用ランタイムは、それぞれの実行環境をインスタンス化し、最強のノイジーネイバー保護とコンプライアンス監査の簡素化を実現します。共有ランタイムは、すべてのテナントのエージェントを同じコンテナイメージとプロセスプール内でホストし、インフラストラクチャコストと運用オーバーヘッドを削減しますが、プロセス内のテナントコンテキストの厳格な伝播が必要です。Amazon Bedrock AgentCoreランタイムは、セッション分離されたマイクロVMベースの計算を通じてこの問題を解決し、セッションごとに軽量なマイクロVMを起動し、永続ファイルシステムを提供することで、クロスセッションのデータ漏洩のリスクを低減します。
- 共有モデル対階層別モデル対微調整モデル。共有基盤モデル(FM)は、ほとんどのマルチテナントデプロイメントの推奨開始点であり、単一モデルのメンテナンスによる運用の効率化を提供します。テナント階層に基づくモデル選択は柔軟性を提供し、コスト、パフォーマンス、精度のバランスを取ります。テナント固有の微調整モデルは、特殊な用語、規制遵守、またはパフォーマンスSLAを必要とするユースケースに必要ですが、運用の複雑さが増します。ハイブリッドアプローチは、コスト効率とカスタマイズのニーズのバランスを取ります。
- ワークフロー:Silo、Pool、Bridgeパターン。マルチテナントエージェントアプリケーションは、各エージェントがテナントの要件とビジネスロジックに基づいて異なるステップのシーケンスを実行する柔軟なワークフロー管理を必要とします。Siloパターンは、テナント固有のスキルを使用し、最大のカスタマイズと完全な独立性を提供します。Poolパターンは、共有エージェントスキルを使用します。Bridgeパターンは、共通のワークフローステップを共有エージェントスキルに埋め込み、ビジネスクリティカルなロジックのために実行時にテナント固有のスキルを呼び出します。
- マルチテナントRAG。検索拡張生成(RAG)システムは、データ分離の決定を必要とします。Siloパターンはテナントごとの専用ベクターデータベースを使用し、最大のセキュリティを提供します。Poolパターンは、メタデータベースのテナントフィルタリングを使用した共有ベクターデータベースを使用し、多くの中小テナントにサービスを提供するSaaSプラットフォームにとってコスト効率の高い運用をサポートします。Amazon Bedrock Knowledge Basesは、完全マネージドRAG機能を提供し、サイロ化または共有のベクターデータベースを作成できます。
- テナントコンテキスト、代理パターン、トークンの伝播。マルチテナントのアイデンティティ管理は、サービスチェーン全体でテナントコンテキストを慎重に処理する必要があります。決定論的なソフトウェアAPIとは異なり、AIエージェントは非決定論的であり、潜在的に自律的であるため、セキュリティの考慮事項は重要な点で異なります。代理パターン(委任)が推奨され、各サービス境界でスコープ制限された資格情報を持つトークンを変換します。AgentCore Identityでの代理トークン交換により、エージェントは認証されたユーザーに代わって保護されたリソースにアクセスできます。
- MCPツールとAPIのきめ細かいアクセス制御。マルチテナントエージェントアプリケーションでは、ポリシーを使用したMCPサーバーへのアクセス制限、ツール呼び出し層でのきめ細かいアクセス制御、データアクセス層でのテナント分離が必要です。AgentCoreポリシーは、ツールアクセスを許可する前にすべてのエージェントリクエストをインターセプトし評価し、ユーザーIDとツール入力パラメータに基づくきめ細かい制御を提供します。
まとめると、Amazon Bedrock AgentCoreを使用したマルチテナントエージェントの構築には、ランタイムデプロイメント、モデル選択、ワークフロー設計、RAG戦略、アイデンティティ管理、アクセス制御などの側面を総合的に考慮し、安全でスケーラブルかつ効率的なSaaSエージェントアプリケーションを構築する必要があります。