
【Amazon Bedrock入門①】Amazon Bedrockとは何か——AWSのAI基盤を理解する
AWSでAIを使いたいとき、最初に選ぶサービスがAmazon Bedrock。
「名前は聞いたことあるけど何ができるのかよくわからない」という状態から、実際にAPIを叩くところまでをこの記事でカバーする。
Amazon Bedrockとは
Amazon Bedrockは、AWSが提供するフルマネージドの生成AI基盤サービス。
特徴は「モデルを自分で持たなくていい」こと。Claude(Anthropic)・Llama(Meta)・Mistral・Titan(Amazon)といった複数の基盤モデルを、API経由でそのまま使える。
アプリ / Lambda / Python
↓ API
Amazon Bedrock
↓
Claude 3 / Llama 3 / Mistral / Titan ...
GPUインフラの調達もモデルの管理も不要。リクエストを送ればレスポンスが返ってくる。
何ができるのか
Bedrockで実現できる主なことは4つ。
① テキスト生成・会話
チャットボット・文書要約・コード生成・翻訳など。Claude 3やLlama 3を使うのが一般的。
② RAG(検索拡張生成)
社内ドキュメントや製品マニュアルをKnowledge Baseに登録して、「自社データに基づいた回答」を生成させる。LLMの知識だけでは答えられない質問に対応できる。
③ Agents(エージェント)
複数のツール(Lambda・APIなど)をLLMに組み合わせさせて、タスクを自律実行させる。「在庫を確認して発注メールを送る」といった複数ステップの処理を自動化できる。
④ 画像生成
Stable Diffusionを使った画像生成もBedrock経由でできる。
SageMakerとの使い分け
AWSのAI関連サービスで混乱しやすいのがSageMakerとの違い。
| Amazon Bedrock | Amazon SageMaker | |
|---|---|---|
| 目的 | 既存の基盤モデルを使う | モデルを自分で学習・ファインチューニングする |
| 対象 | アプリ開発者 | MLエンジニア・データサイエンティスト |
| インフラ | 完全マネージド | インスタンス管理が必要 |
| 主な用途 | チャットボット・RAG・エージェント | カスタムモデルの構築・実験 |
「既存のLLMをそのまま使いたい」→ Bedrock
「自社データでモデルを独自に学習したい」→ SageMaker
ほとんどのWebアプリやバックエンド開発のユースケースではBedrockで十分。
Bedrockが選ばれる理由
データがAWSの外に出ない
デフォルトでBedrockに送ったデータはモデルの学習に使われない。プロバイダー(Anthropicなど)のサーバーを経由しない構成になっている。医療・金融・行政など、データの取り扱いが厳しい領域でも採用しやすい。
AWSサービスとの統合がシンプル
Lambda・S3・CloudWatch・IAM・VPCといった既存のAWSサービスとそのまま組み合わせられる。boto3(AWS SDK for Python)から数行でAPIを叩ける。
従量課金でインフラ不要
使った分だけ払う。入力トークン・出力トークンに対して課金される。インスタンスの常時起動コストがない。
使える主なモデル
2026年3月時点でBedrockから使えるモデルの代表例。
| モデル | 提供元 | 得意なこと |
|---|---|---|
| Claude 3 Haiku / Sonnet / Opus | Anthropic | 高品質なテキスト生成・推論 |
| Llama 3 | Meta | オープンソース系、コスト重視 |
| Mistral | Mistral AI | 軽量・高速 |
| Titan Text / Embeddings | Amazon | AWSネイティブ、埋め込みベクトル生成 |
| Stable Diffusion | Stability AI | 画像生成 |
モデルの詳細な比較は次回(Day 02)でカバーする。
最小構成のコード例
boto3 をインストールしてPythonから直接叩ける。
pip install boto3
import boto3
import json
client = boto3.client("bedrock-runtime", region_name="us-east-1")
response = client.invoke_model(
modelId="anthropic.claude-3-haiku-20240307-v1:0",
body=json.dumps({
"anthropic_version": "bedrock-2023-05-31",
"max_tokens": 512,
"messages": [
{"role": "user", "content": "AWSとは何ですか?"}
]
}),
contentType="application/json",
)
result = json.loads(response["body"].read())
print(result["content"][0]["text"])
実行前提:
- Claudeモデルを使う場合は、コンソール(Amazon Bedrock → モデルアクセス)からAnthropicの利用規約に同意してアクセス申請が必要(審査あり)
- IAMロールまたはユーザーに
bedrock:InvokeModel権限が必要 us-east-1またはap-northeast-1(東京)でモデルが使えるか確認する
コードの中心は invoke_model の呼び出しだけ。S3やLambdaと違うAPIがない——これがBedrockのシンプルさ。
まとめ
- Amazon Bedrockは複数の基盤モデルをAPI経由で使えるフルマネージドサービス
- モデル・インフラの管理不要、従量課金
- データがAWSの外に出ないのでプライバシー要件の厳しい用途にも向いている
- SageMakerはモデルを自分で学習させたい場合、Bedrockは既存モデルをそのまま使う場合
boto3のinvoke_modelだけで最小構成が動く
次回はBedrockで使えるモデルをClaudeとLlamaを中心に比較する。