Bedrock講座
この講座では、AWSの生成AI基盤サービスである Amazon Bedrock について学びます。個々のハンズオンに入る前に、Bedrockが「何を提供しているサービスなのか」「どんな料金体系で動くのか」を整理しておくことで、後続のハンズオンで迷わずに進められます。
- Bedrockの概要とマネージドサービスとしての位置づけ
- Bedrockから利用できるモデルの種類
- モデルへのアクセスと制御(自動有効化・IAM/SCP・Anthropic FTU)
- 料金体系(オンデマンド/プロビジョンドスループット/バッチ)
- リージョンとクロスリージョン推論
- BedrockのAPI(InvokeModelとConverse)
- 周辺サービス(Knowledge Bases・Guardrails・AgentCore)の位置づけ
1. Bedrockとは
Amazon Bedrock は、Anthropic Claude・Amazon Nova・Meta Llama など、複数の基盤モデル(Foundation Model)を単一のエンドポイントから呼び出せるフルマネージド型の生成AIサービスです。モデルを動かすための実行環境を自前で用意する必要はなく、APIを叩けばモデルが応答を返してくれます。
生成AIをアプリケーションに組み込む際、選択肢としては主に以下の3パターンがあります。
| 方法 | 詳細 | 特徴 |
|---|---|---|
| プロバイダが提供する画面やAPIを使う | AnthropicのClaude DesktopやClaude Code、OpenAIのChatGPTなど、各プロバイダが用意したインターフェースを利用する | 手軽だが、各社が用意した機能や利用ポリシーに従う必要があり、個別のサービスに取り込みにくい |
| 自前でモデルをホストする | ローカル環境やEC2などのサーバに、LLMを直接インストールして動かす | 柔軟に構築できるが、サーバや実行環境を自分で構築・維持管理する必要がある |
| Bedrockを使う | AWSアカウント内から、単一のエンドポイントで複数プロバイダのモデルを呼び出す | AWSのIAM・VPC・CloudWatchと同じ土台で運用でき、自分のシステムに柔軟に取り込める。従量課金で使える |
Bedrockの価値は「モデルの中身を作ること」ではなく、AWSの基盤の上で複数モデルを統一的に扱えることにあります。IAMポリシーで呼び出し権限を絞り、CloudWatchで呼び出しを可視化し、VPCエンドポイントで通信を閉域化する、といったAWSと同じ運用モデルがそのまま使えます。
1.1 他のAWSのAI/MLサービスとの違い
AWSにはBedrock以外にも、さまざまなAI/MLサービスがあります。位置づけごとに整理すると以下のようになります。
| 分類 | 主なサービス | 詳細 | 特徴 |
|---|---|---|---|
| 特定タスク向けサービス | Rekognition、Comprehend、Textract など | 画像解析・自然言語処理・OCRなど、決まったタスクを完成品として提供する | プロンプト設計は不要ですぐ使えるが、対応タスクの範囲は事前に決まっている |
| モデル開発基盤 | SageMaker | モデルの学習・デプロイまでのフルセットを提供する | 自前モデルを扱えるが、利用には機械学習やモデル運用まわりの深い知識が必要になる |
| 開発者向けアシスタント/IDE | Amazon Q Developer、Kiro など | AWS環境やIDEに統合され、コード生成・仕様化・レビューなどを支援する | 開発者の生産性向上に特化した完成品として提供される |
| 特定領域エージェント | AWS Security Agent、AWS DevOps Agent など | セキュリティレビューやインシデント調査・SREタスクなど、特定領域の業務を自律的にこなす | 領域固有のワークフローと知識が組み込まれた完成品として提供される |
| 基盤モデル呼び出し | Bedrock | 各社が用意した汎用の基盤モデルを、単一のエンドポイントから呼び出す | プロンプトで用途を柔軟に切り替えられ、特定の知識を持たせたり、AIエージェント開発の土台にもできる |
Bedrockは、これらの中で「基盤モデルそのものをAPIで呼び出せる場所」を提供している点が大きな違いです。Amazon QやKiro、AWS Security Agent・AWS DevOps Agentのように用途が固定された完成品ではなく、モデルをプロンプトで自由に扱えるため、自分のアプリケーションに合わせて挙動を組み立てられます。
1.2 Bedrockで使えるモデル
Bedrockからは、Anthropic・Amazon・Metaなど、複数のプロバイダのモデルを呼び出せます。用途別に代表的なものをまとめると以下のようになります。
| 用途 | 代表的なモデルファミリ |
|---|---|
| 汎用テキスト生成・対話 | Anthropic Claude、Amazon Nova、Meta Llama |
| 埋め込み(Embeddings) | Amazon Titan Embeddings、Cohere Embed |
| 画像生成 | Amazon Nova Canvas、Stability AI Stable Diffusion |
「モデル」と一口に言ってもファミリの中に複数のバリエーションがあり、性能・コスト・レイテンシのバランスが異なります。用途に対して過剰な性能のモデルを使うと料金が跳ね上がるため、まず小さいモデルで試して、必要に応じて上位モデルに切り替える進め方が現実的です。
なお、Bedrockから利用できるモデルの一覧と各モデルのモデルIDは、Supported foundation models in Amazon Bedrock(AWS公式ドキュメント) に記載があります。
2. Bedrockの特徴
Bedrockを実際に使う際に押さえておきたいポイントを、以下の観点で整理します。
2.1 モデルへのアクセスと制御
Bedrockでは、リージョンで提供されているサーバーレスの基盤モデルは、SDKやAPI・コンソールから呼び出すと自動的にアクセスが有効化される仕組みになっています。以前は「モデルアクセス」画面から1つずつ有効化する運用でしたが、この画面は2025年に廃止されました。
一方、Anthropic Claude モデル だけは例外で、初回利用時に「First Time Use (FTU) フォーム」の提出が1回だけ必要です。用途と関連URLを申告するフォームで、1アカウント(または組織の管理アカウント)で1回提出すれば、以降は自動的に呼び出せる状態になります。
アクセスの細かい制御は、IAM ポリシーや SCP で行います。特定のモデルだけを許可・拒否したり、特定のリージョンに絞るといった運用も、通常のAWSサービスと同じ考え方で組めます。
なお、モデルの利用可否はリージョンごとに異なります。呼び出したいモデルが対象リージョンで提供されていない場合はエラーになるため、事前に提供リージョンを確認しておく必要があります。
実際にAnthropic Claudeを初めて呼び出す手順は、Bedrockを使ってみよう のハンズオンで扱います。
2.2 料金体系
Bedrockの料金は、モデルとリクエストの種類によって決まります。主な課金モードは3つです。
| モード | 概要 | 向いているケース |
|---|---|---|
| オンデマンド | トークン数に応じた従量課金。事前予約は不要 | 呼び出し量が読めない検証・小〜中規模の本番利用 |
| プロビジョンドスループット | 一定のスループットを時間単位で予約する | 大量呼び出しが恒常的に発生する本番利用 |
| バッチ | 大量のリクエストをまとめて非同期実行する。オンデマンドより安い単価 | リアルタイム性が要らない大量処理 |
まず学習・検証段階ではオンデマンドを選ぶのが基本です。本章のハンズオンもすべてオンデマンドを前提とします。
なお、モデルごとの単価は入力トークン単価と出力トークン単価が別に定められています。詳しい価格はAmazon Bedrock Pricing(AWS公式ドキュメント) に記載があります。
2.3 リージョンとクロスリージョン推論
Bedrockはリージョンごとに提供されているサービスで、利用できるモデルもリージョンによって異なります。新しいモデルはまずバージニア北部リージョン(us-east-1)で提供され、時間差で他リージョンに展開されるパターンが多く見られます。
そのままでは「東京リージョンで最新モデルが使えない」という制約に当たることがありますが、この課題に対する仕組みがクロスリージョン推論(Cross-region Inference)です。推論プロファイル(Inference Profile)と呼ばれる仮想的なモデルIDを指定すると、Bedrockが裏側で複数リージョンにトラフィックを振り分けて処理してくれます。
呼び出し側から見ると単一のモデルIDに投げているだけですが、実際の推論は複数リージョンで実行されるため、スロットリング耐性が高くなる利点もあります。
| 💡 ポイント |
|---|
| クロスリージョン推論を使う場合、データが自分のリージョン外で処理されることがあります。データ所在の要件がある場合は、対象リージョンが要件を満たしているか事前に確認しておく必要があります。 |
2.4 主要API
Bedrockの主要な推論APIは2つあります。
| API | 特徴 |
|---|---|
| InvokeModel | モデルごとに異なるリクエスト/レスポンスフォーマットをそのまま受け付ける低レベルAPI |
| Converse | 主要なモデルで共通化されたメッセージ形式で対話を扱えるAPI。ツール呼び出し(Tool use)にも対応 |
Converseは「モデルを差し替えても呼び出し側のコードを大きく変えずに済む」設計になっており、対話やエージェントを作るときの標準的な選択肢です。本章のハンズオンでも、対話を扱う場面ではConverseを使います。
3. 周辺サービスの位置づけ
Bedrockはモデル呼び出しのAPIを中心に、その周辺でRAGやエージェント・安全性フィルタなどの機能を提供しています。素のInvokeModel/Converseだけでもアプリは作れますが、規模が大きくなるほどこれらの周辺サービスに寄せるメリットが増していきます。
3.1 Knowledge Bases
Amazon Bedrock Knowledge Bases は、RAG(Retrieval-Augmented Generation)に必要な一連のワークフローをマネージドで提供する仕組みです。
RAGは、ユーザーからの質問に対して、あらかじめ用意した独自ドキュメント(社内マニュアルやFAQなど)から関連する情報を検索し、モデルに渡した上で回答を生成する手法です。これによって、モデルが学習していない情報や自社独自の内容にも答えられるようになります。
RAGを実現するには、以下のような処理が必要になります。
- データソースからドキュメントを取り込む
- 大きなドキュメントを検索単位に分割する(チャンク分割)
- テキストを意味を表す数値ベクトルに変換する(埋め込み)
- ベクトルDBに格納し、質問との意味的な近さで検索する
Bedrock Knowledge Basesは、S3などのデータソースを指定するだけで、これら一連の処理をBedrock側が自動で行ってくれます。
呼び出し側はRetrieveAndGenerate APIを叩くだけで、関連ドキュメントの検索と回答生成を一気通貫に済ませられます。回答には参照した元データが引用情報(citations)として付くため、根拠を辿れる形で受け取れる点も特徴です。
詳しくは Bedrockにナレッジをもたせよう で扱います。
3.2 Guardrails
Amazon Bedrock Guardrails は、モデル呼び出しの入出力に安全性フィルタを差し込める仕組みです。モデルとは独立して設定でき、InvokeModel・Converse など主要な推論APIから Guardrail ID を指定するだけで、既存の呼び出しに紐づけて動かせます。
設定できる主なポリシーは以下です。
Content filters: 暴力・差別・性的な有害コンテンツをブロックするDenied topics: アプリ上でNGとするトピックを定義してブロックするWord filters: 禁止語・不適切語をブロックするSensitive information filters: PII(個人情報)を遮断・マスクする
Bedrock AgentsやKnowledge Basesと組み合わせて使うこともでき、AI基盤の安全性を統一的に担保できます。
詳しくは AI基盤の運用を整えよう で扱います。
3.3 AgentCore
Amazon Bedrock AgentCore は、AIエージェントの実行環境・状態管理・観測性をマネージドに提供する上位レイヤーです。LangGraph・Strandsなど任意のフレームワークで書いたエージェントを載せて動かせる柔軟性が特徴で、新規に構築するエージェントの標準的な選択肢として位置づけられています。
主な構成要素は以下です。
Runtime: エージェント本体を実行する環境を提供するMemory: セッションを跨いだ会話履歴やコンテキストを保持するGateway: エージェントが呼び出す外部ツールを管理するObservability: 実行トレースやメトリクスをOpenTelemetry互換でCloudWatchに出力するIdentity: エージェントの認証・認可を扱う
| 💡 ポイント |
|---|
| Bedrockでエージェントを構築する仕組みとしては、以前はAmazon Bedrock Agentsが主流でしたが、現在は「Bedrock Agents Classic」に位置づけ直されたレガシー扱いとなっており、新規構築はAgentCoreを使うのが公式の推奨方針です。ネット上の古い記事やサンプルではBedrock Agentsが使われていることがあるため、参照時は時期に注意する必要があります。 |
詳しくは AgentCore講座 で扱います。
本章では、素のモデル呼び出しからKnowledge Bases、AgentCoreと段階的に積み上げていきます。
4. まとめ
この講座では、AWSのBedrockについて学びました。
- Bedrockは、複数プロバイダの基盤モデルを単一のエンドポイントから呼び出せるフルマネージドサービス
- サーバーレスモデルは初回呼び出しで自動的に利用可能になり、Anthropic Claudeのみ初回のFTUフォーム提出が必要
- 料金モードにはオンデマンド・プロビジョンドスループット・バッチがあり、まずはオンデマンドで始めるのが基本
- クロスリージョン推論を使うと、リージョン差の制約を推論プロファイル経由で吸収できる
- 主要APIは
InvokeModelとConverseで、対話・エージェントにはConverseが向く - Knowledge Bases・Guardrails・AgentCoreといった周辺サービスがBedrockの上に積まれている