概要
AWSの機械学習ブログで、「Amazon Bedrock AgentCore」を使って、複数の顧客(テナント)が同じインフラを共有しながらも、データやコストをきちんと分離する「マルチテナント型AIエージェント」の構築パターンが紹介されました。本記事は同シリーズの第2回で、医療分野のAIアシスタントを例に、実運用を見据えた設計手法を解説しています。
何が発表・更新されたのか
Amazon Bedrock AgentCoreのネイティブ機能を使い、「Tier(料金階層)→ Tenant(テナント)→ User(ユーザー)」の3階層で完全なテナント分離を実現する設計パターンが公開されました。
具体例として、複数のクリニックや病院に対応する医療AIエージェントが取り上げられています。料金階層は2つ用意されています。
- Basicティア:小規模クリニック向け。文書検索など軽い処理に適した小型モデル「Mistral Ministral 3 8B Instruct」を使用し、コストを抑えます。
- Premiumティア:病院・専門センター向け。高度な推論ができる「OpenAI GPT OSS 120B」を使用し、Premium限定のWeb検索ツールなども利用できます。
各ティア内では「プールモデル(Pool model)」を採用し、テナントがインフラを共有しつつ、スコープ付きID・アクセスポリシー・データ分割によって論理的に分離する仕組みです。サンプルコードはGitHubで公開されています。
なぜ重要なのか
複数の顧客に同じAIサービスを提供する場合、「他社のデータが見えてしまう」「コストが誰の分かわからない」といったリスクが生まれます。この記事で示される設計は、テナントごとのデータ分離・コスト按分・観測性(モニタリング)を、AWSのマネージドサービスで実現する方法を示しており、SaaS(クラウド型ソフト提供)事業者にとって実務的な指針になります。
誰に関係があるのか
- 複数の顧客向けにAIサービスを提供するSaaS事業者
- 複数の事業部門に社内AIを展開する企業のIT・開発担当者
- 顧客組織ごとにマネージドサービスを運用する事業者
医療を例にしていますが、設計パターンは業種を問わず幅広く応用できると説明されています。
仕事や業務でどう使えるのか
テナントごとに利用モデルや機能を切り替える「ティア(階層)戦略」を取り入れることで、コスト効率を保ちつつ顧客ごとに差別化したサービスを提供できます。記事では以下のAWSサービスを組み合わせた構成が紹介されています。
- Amazon Cognito:ユーザー認証とテナント情報(ティア、clinic_id、役割)をJWT(認証トークン)に格納
- API Gateway:ティア別のレート制限
- AWS Lambda:テナント情報の抽出とエージェント呼び出し
- AgentCore各機能:Runtime(実行)、Memory(会話状態)、Identity(認証)、Gateway(ツール連携)、Policy(行動範囲の制御)
- Amazon S3 / Bedrock Knowledge Bases:テナント単位で分離した文書管理と検索
- Bedrockプロジェクト:コスト配分タグによるティア別のコスト管理
注意点
本記事は技術者向けのアーキテクチャ解説であり、コード抜粋は仕組みの説明用です(そのまま実行する必要はないとされています)。また、紹介されているモデルやサービスの日本での提供状況、対象プラン、料金の詳細については、公式情報上では確認できませんでした。実装の際は最新の公式ドキュメントとGitHubサンプルを確認してください。
公式情報
関連キーワード
- Amazon Bedrock AgentCore
- マルチテナント(Pool model)
- AWS(Cognito / Lambda / S3)
- AIエージェント
- Mistral / OpenAI GPT OSS

