生成 AI プラットフォーム - Amazon Bedrock で構築するエンタープライズ AI 基盤

Amazon Bedrock を活用した生成 AI アプリケーションの構築方法を解説します。基盤モデルの選択、RAG パターンの実装、ガードレールによる安全性確保、SageMaker との連携など、エンタープライズレベルの AI 基盤設計を紹介します。

生成 AI の課題と Bedrock の位置づけ

生成 AI をエンタープライズアプリケーションに組み込むには、基盤モデルの選定、インフラの構築、セキュリティの確保、コストの管理など多くの課題があります。自前で大規模言語モデル (LLM) をホスティングする場合、GPU インスタンスの調達、モデルの最適化、推論エンドポイントのスケーリング、モデルバージョンの管理が必要です。Amazon Bedrock はこれらの課題を解決するフルマネージドの生成 AI サービスです。Anthropic Claude、Amazon Nova、Meta Llama、Mistral AI、OpenAI、Cohere、Stability AI など複数プロバイダーの基盤モデルを API 経由で利用でき、モデルのホスティングやインフラ管理は一切不要です。利用できるモデルはプロバイダーの追加とモデルの世代交代によって頻繁に入れ替わるため、設計時には ListFoundationModels API か Bedrock コンソールのモデルカタログで、そのリージョンで実際に呼び出せるモデルを確認してください。Bedrock は複数プロバイダーのモデルを統一的な API で利用できるため、Anthropic Claude の長文コンテキスト処理 (既定は 200K トークン、Sonnet 4 世代以降は最大 100 万トークンに対応するモデルもあります) や Meta Llama のオープンウェイトモデルなど、タスクに最適なモデルを柔軟に選択・切り替えできます。データは AWS のセキュリティ基盤で保護され、モデルのトレーニングに使用されることはありません。

RAG パターンと Knowledge Bases

Bedrock の Knowledge Bases 機能は、検索拡張生成 (RAG) パターンをフルマネージドで実装します。RAG は基盤モデルの回答精度を向上させる手法であり、ユーザーの質問に関連する情報を外部データソースから検索し、その情報をコンテキストとしてモデルに提供します。Knowledge Bases では、取り込んだドキュメント (PDF、Word、HTML、テキスト) を自動的にチャンク分割し、ベクトル埋め込みに変換してベクトルストアに格納します。データソースは S3 だけでなく、Web クローラー、Confluence、Salesforce、SharePoint、独自の取り込み経路を使うカスタムデータソースも選べます。ベクトルストアも 1 種類に固定されておらず、代表例として Amazon OpenSearch Serverless、Amazon OpenSearch マネージドクラスター、Amazon Aurora PostgreSQL、Amazon Neptune Analytics、Amazon S3 Vectors、Pinecone、Redis Enterprise Cloud、MongoDB Atlas を StorageConfiguration の type で指定できます。既存の検索基盤があるならそれを流用し、保管コストを抑えたいなら S3 Vectors を選ぶといった判断ができます。以下は Knowledge Bases を使った RAG クエリの例です。

import boto3
client = boto3.client('bedrock-agent-runtime', region_name='ap-northeast-1')
# 現行世代のモデルは推論プロファイル経由で呼び出す (プロファイル ID は最新の Active を確認)
response = client.retrieve_and_generate(
    input={'text': '社内規定について教えてください'},
    retrieveAndGenerateConfiguration={
        'type': 'KNOWLEDGE_BASE',
        'knowledgeBaseConfiguration': {
            'knowledgeBaseId': 'KB_ID',
            'modelArn': 'arn:aws:bedrock:ap-northeast-1:123456789012:inference-profile/jp.anthropic.claude-sonnet-4-5-20250929-v1:0'
        }
    }
)
print(response['output']['text'])

モデル ID は世代交代が早く、EOL を迎えた ID への呼び出しはリクエスト自体が失敗します。実装前に Bedrock のモデルライフサイクル表 (Active / Legacy / EOL) で最新の Active なモデルを確認してください。現行世代の Anthropic モデルはクロスリージョン推論プロファイル (jp. や us. などのプレフィックス) 経由で呼び出すため、素の foundation-model ARN ではなく推論プロファイルの ARN またはプロファイル ID を渡します。データソースの同期は自動または手動で実行でき、ドキュメントの追加・更新時にベクトルストアを最新の状態に保てます。

ガードレールとモデルカスタマイズ

Bedrock Guardrails は、生成 AI アプリケーションの安全性を確保するための包括的な制御機能です。ガードレールは複数系統のポリシーを組み合わせて構成します。コンテンツフィルターにより、暴力、差別、性的コンテンツなど不適切な入出力をブロックできます。拒否トピックを定義すれば、特定の話題 (競合他社の情報、投資アドバイスなど) に関する回答を制限できます。単語フィルターでは、禁止語や自社固有の NG ワードを直接指定してブロックできます。個人情報 (PII) の検出とマスキング機能により、氏名、電話番号、メールアドレスなどの機密情報が出力に含まれることを防止します。さらに、根拠づけチェック (contextual grounding check) は RAG の参照ドキュメントに対する回答の忠実性と質問との関連性をスコアで判定してハルシネーションを抑制し、Automated Reasoning checks は数理論理に基づくポリシーで回答内容の正しさを検証します。モデルカスタマイズでは、ファインチューニング、継続的な事前トレーニング、そして大きなモデルの出力を小さなモデルに学習させる Model Distillation により、特定のドメインや業務に特化したモデルを作成できます。カスタマイズしたモデルはプロビジョンドスループットで専用のキャパシティを確保すれば安定したレイテンシとスループットを確保できますが、専用キャパシティが常に必須というわけではなく、対応するモデルではカスタムモデルのオンデマンドデプロイによって利用量に応じた課金のまま呼び出せます。SageMaker でトレーニングしたカスタムモデルを Bedrock にインポートして利用することも可能であり、既存の ML ワークフローとの統合が容易です。

Agents と SageMaker 連携によるアプリケーション構築

Bedrock Agents は、基盤モデルに外部ツールやデータソースへのアクセス能力を付与し、複雑なタスクを自律的に実行する AI エージェントを構築する機能です。エージェントは自然言語の指示を理解し、タスクを分解して必要な API 呼び出しやデータ検索を自動的に実行します。例えば、顧客からの問い合わせに対して、CRM システムから顧客情報を取得し、注文管理システムで注文状況を確認し、適切な回答を生成するエージェントを構築できます。アクショングループとして Lambda 関数を定義すれば、任意のビジネスロジックをエージェントのツールとして利用できます。なお、この初代 Bedrock Agents (現 Bedrock Agents Classic) は 2026 年 7 月 30 日に新規顧客向けの受付を終了しており、新規のエージェント開発では後継の Amazon Bedrock AgentCore が受け皿です (2026 年 8 月時点)。以下は Bedrock Agent のアクショングループを定義する CloudFormation の例です。FoundationModel には、その時点で Active なモデル ID か推論プロファイル ID を指定します。

Resources:
  BedrockAgent:
    Type: AWS::Bedrock::Agent
    Properties:
      AgentName: customer-support-agent
      FoundationModel: jp.anthropic.claude-sonnet-4-5-20250929-v1:0
      Instruction: 顧客サポートエージェントとして問い合わせに対応してください
      ActionGroups:
        - ActionGroupName: OrderLookup
          ActionGroupExecutor:
            Lambda: !GetAtt OrderLookupFunction.Arn

SageMaker との連携では、SageMaker でトレーニングした専用モデルを Bedrock のカスタムモデルインポート機能で取り込み、Bedrock の API 経由で推論を実行できます。SageMaker の MLOps パイプラインでモデルのトレーニング・評価・デプロイを自動化し、Bedrock でアプリケーションに統合するハイブリッドアーキテクチャにより、研究開発と本番運用の両方を効率化できます。

Bedrock の料金

Bedrock の料金はモデルごとの入出力トークン数で課金されます (2026 年 8 月時点・米国西部 (オレゴン) リージョン)。例えば Amazon Nova 2.0 Lite はオンデマンドで入力 1,000 トークンあたり 0.00033 USD、出力 1,000 トークンあたり 0.00275 USD です。Anthropic Claude をはじめ各プロバイダーのモデルは世代交代のたびに単価も改定されるため、採用するモデルの単価は AWS の Bedrock 料金ページで確認してください。レイテンシを問わない処理をバッチ推論に回すと単価が下がり (Nova 2.0 Lite では入力 0.0001595 USD、出力 0.0013255 USD / 1,000 トークン)、Provisioned Throughput でモデルユニットを事前確保すると安定したレイテンシと期間コミットの割引料金が適用されます。Guardrails はポリシー単位の課金で、1,000 テキストユニット (1 テキストユニットは最大 1,000 文字) あたりコンテンツフィルターが 0.15 USD、拒否トピックが 0.15 USD、機密情報フィルターが 0.10 USD、根拠づけチェックが 0.10 USD、Automated Reasoning checks が 0.17 USD で、単語フィルターは無料です。Knowledge Bases のベクトル化と検索、およびベクトルストア自体の利用料にも別途料金が発生します。

まとめ - 生成 AI プラットフォームの選択

Amazon Bedrock は、複数の基盤モデルを統一的な API で利用できるフルマネージドの生成 AI サービスです。Knowledge Bases による RAG パターンの実装、Guardrails による安全性の確保、Agents による自律的なタスク実行、SageMaker との連携によるカスタムモデルの統合は、エンタープライズレベルの AI アプリケーション構築に必要な機能を網羅しています。モデルプロバイダーへのロックインを回避しつつ、AWS のセキュリティ基盤でデータを保護できる Bedrock は、生成 AI の本番導入を検討する企業にとって有力なプラットフォームです。

参考資料 (AWS 公式)

本ページの一次情報は AWS 公式サイトおよび公式ドキュメントです。最新の仕様 / 料金は次の公式ページで確認できます。

本ページと公式ドキュメントの記述が食い違う場合は、公式ドキュメントを正としてください。