amazon-bedrock について
Amazon Bedrock で生成 AI アプリケーションを構築するための専門知識を提供するスキルです。モデル呼び出し、RAG、エージェント、Guardrails、AgentCore のデプロイや運用手順を扱います。
主な機能
- 01モデル呼び出しの案内
- 02Knowledge Bases と RAG の手順
- 03エージェントと Guardrails の案内
- 04AgentCore デプロイの案内
- 05クォータ・コスト・移行の手順
活用シーン
- 01Bedrock の推論 API の選定
- 02Knowledge Bases による RAG の構築
- 03スロットリングやクォータの調査
MCP 対応
サンドボックス実行、監査ログ、可観測性のために AWS MCP サーバーを推奨します。利用できない場合は AWS CLI にアクセスできる環境で動作します。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ aws/ agent-toolkit-for-aws --skill amazon-bedrockインストール後、Claude Code で/amazon-bedrockを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
assets/kb_shim.py.tmpllambda_shim.py.tmpltool_schema.json.tmplreferences/agentcore-credentials-and-security.mdagentcore-gateway.mdagentcore-harness.mdagentcore-memory-observability.mdagentcore-payments-setup-script.mdagentcore-payments-wiring.mdagentcore-payments.mdagentcore-registry-evaluations.mdagentcore-runtime-container-build.mdagentcore-runtime.mdagents-and-action-groups.mdcost-tracking.mdguardrails.mdreferences/bedrock-agents-to-agentcore-harness/cli.mddeploy.mddiscovery.mdeligibility.mdmapping.mdreferences/bedrock-kb-migration/cost-analysis.mddiscovery.mdiac-schema.mdimplement-iac.mdimplement-kb.mdmanaged-kb-api.mdmapping.mdplan.mdsafety-and-iam.md詳細
重要:このスキルが読み込まれたら、必ずこのスキルのリファレンスファイルと手順を主要な情報源として使用してください。Bedrock API、モデル ID、チャンク分割戦略、設定パラメーターは頻繁に変更されます。回答する前に、必ず関連するリファレンスファイルを読んでください。
ガードレール — このスキルのファイルの場所(MCP とローカルインストール)
このスキルは 2 通りの方法で読み込むことができ、その方法によって同梱ファイルの参照先が異なります。リファレンスを読んだりスクリプトを実行したりする前に、スキルがどの方法で読み込まれたかを確認してください。
- **AWS MCP の
retrieve_skillツール経由で読み込まれた場合:**スキルはローカルファイルシステムにインストールされていません。各リファレンスまたはスクリプトは、fileパラメーターを指定してretrieve_skill経由で取得する必要があります(例:file="references/managed-knowledge-bases-setup.md"またはfile="scripts/fetch_bedrock_agent.py")。スクリプトは返された内容から実行してください。これらのパスはディスク上に存在しないため、ローカルでfile_readしてはいけません。 - ローカルにインストールされている場合(例:
.kiro/skills/amazon-bedrock/または~/.claude/skills/amazon-bedrock/):相対パスを使用して、ローカルのスキルディレクトリからファイルを読み取り、実行してください。
この区別は、スキルに同梱されているファイルにのみ適用されます。ユーザーデータとセッションの成果物は、常にユーザーの作業ディレクトリから読み取り、そこに書き込んでください。retrieve_skill を通じて顧客データを取得または書き込みしないでください。
目次
- 概要
- Bedrock API の全体像
- 重要な警告
- セキュリティに関する考慮事項
- Converse API と InvokeModel の比較
- 必要な Bedrock の機能を選ぶ
- ナレッジベース(検索、エージェント型検索、RAG。Managed KB への移行を含む)
- 一般的なワークフロー(プロンプトキャッシュ、クォータの状態、コスト追跡、モデルの移行を含む)
- トラブルシューティング
- AgentCore サービス
- モデルの選択
- その他のリソース
Amazon Bedrock
概要
Amazon Bedrock を使用した生成 AI アプリケーションの構築に関するドメイン知識です。モデルの呼び出し、ナレッジベースを使用した RAG、エージェントの作成、Guardrails によるコンテンツの安全性確保、AgentCore によるエージェントのデプロイについて説明します。
推奨されるセットアップ: サンドボックス実行、監査ログ、エンタープライズ管理機能を利用するには、AWS MCP server を使用してください。
AWS MCP を使用しない場合: このスキルは、AWS CLI にアクセスできる任意のエージェントで動作します。すべてのコマンドで標準の AWS CLI 構文を使用します。
Bedrock API の全体像
Bedrock には5 つの独立した API エンドポイントがあります。誤ったエンドポイントを使用すると、エラーが発生することがよくあります。この一覧は網羅的ではない場合があります。最新情報については、Bedrock のエンドポイントとクォータおよびBedrock のサポート対象エンドポイントを参照してください。実行時に利用可能なモデルを確認するには、aws bedrock list-foundation-models を使用してください。
| エンドポイント | クライアント | 用途 |
|---|---|---|
bedrock | コントロールプレーン | モデルの一覧表示、アクセスの管理、プロビジョンドスループット |
bedrock-runtime | データプレーン | モデルの呼び出し(Converse、InvokeModel)。/openai/v1 パスを通じた Chat Completions にも対応しています(クライアント側のツール使用のみ)。新規の Chat Completions では bedrock-mantle を優先してください |
bedrock-mantle | データプレーン | OpenAI 互換 API:Responses API、Chat Completions(推奨)、Messages API。組み込みツールを使ったサーバー側のツール使用に対応しています。新規ユーザーに推奨 |
bedrock-agent | エージェントコントロール | エージェント、KB、アクショングループの作成・設定 |
bedrock-agent-runtime | エージェントデータ | エージェントの呼び出し、KB へのクエリ |
AgentCore は独立したサービスで、独自のエンドポイントを持ちます。最新情報については、AgentCore のエンドポイントとクォータを参照してください。
| エンドポイント | クライアント | 用途 |
|---|---|---|
bedrock-agentcore-control | コントロールプレーン | ランタイム、ゲートウェイ、レジストリ、評価の作成・管理 |
bedrock-agentcore | データプレーン | エージェントランタイムの呼び出し |
{gatewayId}.gateway.bedrock-agentcore | ゲートウェイデータプレーン | 特定のゲートウェイの呼び出し |
重要な警告
max_tokens:Converse/InvokeModel のすべての呼び出しで、必ず maxTokens を明示的に設定してください。設定しない場合はモデルの最大値(例:Claude Sonnet では 64K)がデフォルトで使用され、必要量を大幅に上回るクォータが気付かないうちに確保されます。これは、予期しない ThrottlingException が発生するよくある原因です。
Guardrails の PII ロギング:Guardrails による PII のマスキングは API のレスポンスにのみ適用されます。PII を含むマスキング前の元のコンテンツは、引き続き CloudWatch Logs に平文で記録されます。HIPAA/GDPR に準拠するには、KMS で CloudWatch Logs を暗号化し、IAM でログへのアクセスを制限して、PII の検出に Amazon Macie を使用してください。
SDK のバージョン:新しいバージョンの boto3(≥ 1.34.x)と AWS CLI v2 が必要です。古いバージョンには Converse API、Agents、AgentCore のサポートがありません。確認するには aws --version と pip show boto3 を実行してください。
従来の Bedrock Agents はメンテナンスモードです:従来の Bedrock Agents(bedrock-agent)はメンテナンスモードに移行しており、新規顧客の利用は受け付けていません(発表)。新しいエージェントのワークロードには AgentCore(Harness の管理ループ)を使用してください。既存のエージェントについては、AgentCore Harness への移行を推奨します。詳しくは移行ガイドを参照してください。
セキュリティ上の考慮事項
- Bedrock サービスへのすべてのアクセスには、IAM ユーザーではなくIAM ロールを使用してください
- IAM 権限は特定のアクションとリソース ARN に限定し、
bedrock:*やAmazonBedrockFullAccessは避けてください - API キーと OAuth シークレットは、自動ローテーションを有効にしたAWS Secrets Managerに保存してください
- Bedrock サービスのすべてのリソースベースポリシーに、混乱した代理人への保護(
aws:SourceAccount、aws:SourceArn条件)を含めてください - エージェントが生成したパラメーターはすべて信頼できない入力として扱い、Lambda ハンドラーやツールの実装で使用する前に検証してください
- Bedrock と AgentCore のすべての API 呼び出しについて、CloudTrail を有効にしてください
- PII を扱うワークロードでは、KMS で CloudWatch Logs を暗号化し、保持期間の上限を設定して、ログへのアクセスを制限してください
- セキュリティに関するガイダンスは、Bedrock のセキュリティのベストプラクティスを参照してください
Converse API と InvokeModel の比較
Bedrock のすべての推論 API(Responses API、Chat Completions、Converse、InvokeModel)の選択については、Amazon Bedrock でサポートされている APIを参照してください。
bedrock-runtime エンドポイントを使用する場合は、InvokeModel ではなく Converse API を使用してください。すべてのモデルで統一されたリクエスト/レスポンス形式を利用できます。
InvokeModel は、Converse では利用できないプロバイダー固有の機能が必要な場合に限り使用してください(まれです)。
InvokeModel では、プロバイダーごとに異なるリクエスト本文形式が必要です(Anthropic ≠ Titan ≠ Llama ≠ Nova)。誤った形式を使用すると、「Malformed input request」が発生します。モデル固有の形式とよくある間違いについては、モデル別のプロンプトエンジニアリングを参照してください。
どちらの API を使用する場合も、最大出力トークン数のパラメーターを必ず明示的に設定してください。未設定の場合、デフォルトでモデルの最大値が適用され、必要以上に多くのクォータが通知なく確保されるため、予期しない ThrottlingException が発生します。上記の重要な警告と、max_tokens のクォータの仕組みを参照してください。
ユーザーがモデル呼び出し用の SDK コードを必要としている場合は、コードを生成する前に、該当する SDK リファレンスを必ず読んでください。Python SDK リファレンス | TypeScript SDK リファレンス。リファレンスファイルのパターンを使用してください。
API の詳細とプロバイダー固有の本文形式については、回答する前にモデル呼び出しのリファレンスを読んでください。
必要な Bedrock の機能はどれですか?
| 目的 | 使用する機能 | リファレンス |
|---|---|---|
| モデルを呼び出す(テキスト、画像、動画) | Converse API | 上記とモデル呼び出しを参照 |
| RAG アプリケーションを構築する(Bedrock での RAG) | Knowledge Bases — デフォルトでは Managed KB(MKB)。ユーザーから明示的な要望がある場合のみ Customer-managed を使用 | Managed KB のセットアップ(KB の選択ガイドを参照) |
| アクションを実行するエージェントを作成する | Bedrock Agents | エージェントの作成 |
| 有害または機密性の高いコンテンツをフィルタリングする | Guardrails | Guardrails |
| AgentCore 上で設定ベースのマネージドエージェントループを実行する(コードもコンテナも不要) | AgentCore Harness | Harness |
| 既存の Bedrock Agent(classic)を AgentCore Harness に移行する | Bedrock Agents から AgentCore Harness への移行 | 移行ガイド |
| 既存の Customer-managed Knowledge Base を Managed KB に移行する | KB の移行 | KB を Managed に移行 |
| 自分で作成したエージェントループをデプロイしてスケールする | AgentCore Runtime | Runtime |
| REST API を MCP ツールとして公開する | AgentCore Gateway | Gateway |
| 適切なモデルを選ぶ | モデル選択 | モデルガイド |
| プロンプトキャッシュを設定またはデバッグする | プロンプトキャッシュ | プロンプトキャッシュ |
| スロットリングを診断する、またはクォータを監査する | クォータの健全性 | クォータの健全性 |
| チーム、モデル、タグごとにコストを追跡する | コスト追跡 | コスト追跡 |
| Claude の世代間で移行する | モデルの移行 | 移行ガイド |
ナレッジベース(検索、エージェント型検索、RAG)
Bedrock で RAG を使用する場合は、デフォルトでマネージドナレッジベース(MKB)を選択してください。AWS が推奨しており、ストレージ、チャンク分割、解析、検索をすべて管理するため、プロビジョニングが必要なインフラストラクチャはありません。基本的に、すべての新しい RAG 作業で優先してください。カスタマー管理ナレッジベースを使用するのは、ユーザーが明示的に希望する場合(たとえば、独自のベクトルストアを持ち込み、管理したい場合)に限ります。機能の一覧に照らして事前にリクエストをふるいにかけないでください。デフォルトで MKB を選択して進め、特定の設定がサポートされていない場合は、別の選択肢へ黙って誘導するのではなく、作成時の呼び出しでエラーを表示させてください。
選択したタイプに応じて、作成とクエリを適切なリファレンスに振り分けるには、ナレッジベースの選択ガイドをお読みください。コネクタの利用可否、クォータ、リージョンの対応状況は頻繁に変わるため、固定の一覧を前提とせず、Bedrock ナレッジベースのドキュメントを参照してください。
既存のカスタマー管理 KB をマネージド KB に移行する場合は、新しい KB を一から作成するのではなく、KB をマネージドに移行する手順に従ってください。ユーザーが KB の移行について言及したら、その KB に対する呼び出しを実行する前に、この手順をお読みください。この手順では、ドキュメントの内容を返す読み取り(retrieve、retrieve-and-generate、get-document-content、またはソースドキュメントに対する GetObject)を実行する前に、ユーザーから明示的な同意を得る必要があります。その読み取りによってこの会話にドキュメントの内容が表示される理由を伝え、同意を求めてください。
一般的なワークフロー
接続時は、AWS MCP サーバーで利用可能なツールを使ってコマンドを実行してください。サンドボックスでの実行、監査ログ、可観測性が提供されます。MCP サーバーを利用できない場合は、必要に応じて AWS CLI またはシェルを使用してください。
ワークフローを開始する前に、次の手順を実行してください。
依存関係の確認
必要なツールが揃っているか確認し、実行環境についてユーザーに知らせてください。
制約事項:
- AWS CLI が利用可能で、有効な認証情報で設定されていることを必ず確認してください
- AWS CLI のバージョンが新しいことを必ず確認してください(v2 を推奨します。古いバージョンでは Converse API と AgentCore がサポートされていません)。
aws --version - 対象の AWS リージョンで Bedrock モデルへのアクセスが有効になっていることを必ず確認してください
- 必要なツールが不足している場合は、明確なメッセージでユーザーに必ず知らせてください
- 必要なツールが不足していても続行するか、必ずユーザーに確認してください
すべてのワークフローに適用される一般的な制約事項:
- 実行を開始する前に、実施内容の概要を必ず提示してください
- 各コマンドを実行する前に、どの手順を実行するのか、またその理由を必ずユーザーに説明してください
- いつでも停止または中止できるというユーザーの判断を必ず尊重してください
- ユーザーが停止を希望した場合は、実行を続けてはいけません
- リソースの削除や設定の上書きなど、破壊的または取り消せない操作を行う前には、確認することを推奨します
例 — ユーザーの意図をワークフローに対応付ける
例 1:
ユーザーの問い合わせ:「Bedrock で ThrottlingException が発生しています」
アクション:maxTokens が明示的に設定されているか確認します。maxTokens を設定しないと、必要以上に多くのクォータが予約されます(「重大な警告」を参照)。すでに設定されている場合は、クォータを確認します:aws service-quotas get-service-quota --service-code bedrock --quota-code <code> --region <region>
例 2: ユーザーの問い合わせ:「PDF ドキュメント用の RAG をセットアップしたい」 アクション:「ナレッジベースの作成」ワークフローに従います。デフォルトでは マネージド KB を使用します(Bedrock がチャンク分割、解析、ベクトルストアを管理するため、プロビジョニングが必要なインフラストラクチャはありません)。マネージド KB のセットアップとKB の選択ガイドを参照してください。ユーザーが独自のベクトルストアまたはチャンク分割を管理したいと明示的に求めた場合にのみ、カスタマーマネージドの手順を使用します。
例 3: ユーザーの問い合わせ:「注文状況を照会できるエージェントを作成したい」 アクション:「アクショングループを使用したエージェントの作成」ワークフローに従います。エージェント作成手順を参照してください。
例 4:
ユーザーの問い合わせ:「Bedrock で Claude を呼び出す方法を教えてください」
アクション:Converse API を使用します(InvokeModel は使用しません)。maxTokens を明示的に設定します。aws bedrock list-foundation-models --region <region> でモデル ID を確認します。可用性を高めるには、us. プレフィックスを付けたクロスリージョンモデル ID を使用します:aws bedrock-runtime converse --model-id us.anthropic.claude-sonnet-4-6 --messages '[{"role":"user","content":[{"text":"Hello"}]}]' --inference-config '{"maxTokens":1024}'
例 5: ユーザーの問い合わせ:「エージェントを本番環境にデプロイしたい」 アクション:「エージェントを AgentCore にデプロイする」ワークフローに従います。最初にプロトコルを選択します(REST API には HTTP、ツール中心のエージェントには MCP)。正しい参照ファイルへの案内については、AgentCore サービスの表を参照してください。
例 6:
ユーザーの問い合わせ:「Claude アプリケーションでプロンプトキャッシュをセットアップしたい」
アクション:セットアップワークフロー、TTL の設定、最小トークン数のしきい値については、プロンプトキャッシュのリファレンスを参照してください。キャッシュが機能していることを確認するには、リファレンスを使用します(レスポンス内の cacheReadInputTokens を確認します)。
例 7:
ユーザーの問い合わせ:「リクエスト数は多くないのに、ThrottlingException が何度も発生します」
アクション:maxTokens が明示的に設定されているか確認します(「重大な警告」を参照)。maxTokens の予約の仕組み、CloudWatch メトリクス、監査ワークフローについては、クォータの健全性に関するリファレンスを参照してください。
例 8: ユーザーの問い合わせ:「チームごとに Bedrock のコストを追跡する方法を教えてください」 アクション:推論プロファイルのタグ付け、CUR 2.0 の方法、モデル/リージョン/タグ別の Cost Explorer クエリについては、コスト追跡のリファレンスを参照してください。
例 9: ユーザーの問い合わせ:「Claude 4.5 から 4.6 にアップグレードすると、何が動かなくなりますか?」 アクション:破壊的変更の表(プレフィルの削除、thinking の設定、コンテキストウィンドウ、キャッシュのしきい値)と移行チェックリストについては、モデル移行のリファレンスを参照してください。
モデルを呼び出す
- [ ] Step 1: Verify model access: `aws bedrock list-foundation-models --region us-east-1`
- [ ] Step 2: Invoke: `aws bedrock-runtime converse --model-id <model-id> --messages '[{"role":"user","content":[{"text":"<prompt>"}]}]' --inference-config '{"maxTokens":1024}'`
注 — ストリーミングレスポンス: AWS CLI は
ConverseStreamを含むストリーミング操作をサポートしていません。SDK(boto3 のconverse_stream()、JS SDK のConverseStreamCommand)を使用してください。
モード 使用する場面 Converse バッチ/バックエンドのパイプライン — 単一の完全なレスポンスで、ストリーム処理は不要です ConverseStream チャット UI/インタラクティブアプリ — 生成と同時にトークンが配信されます
ナレッジベースを作成する
デフォルトでは マネージド KB を使用します。マネージド KB のセットアップを必ず読み、順番どおりに実行してください(作成 → マネージドコネクターのデータソース → 取り込み → Retrieve で確認)。カスタマーマネージド KB のセットアップ(7 ステップの手順)は、ユーザーがカスタマーマネージド KB を明示的に求めた場合にのみ使用してください。手順を省略したり、言い換えたり、ツール呼び出しの代わりにコードスニペットを示したりしないでください。KB の選択ガイドを参照してください。
ナレッジベースにクエリを実行する
KB の種類を確認してください。クエリ API は種類によって異なります。
- マネージド KB(MKB):
Retrieve(単発のチャンク取得)またはAgenticRetrieveStream(エージェント型。ストリーミングは SDK 専用で、AWS CLI では使用できません)を使用してください。マネージド KB の取得をお読みください。 - カスタマーマネージド KB: retrieve-and-generate/retrieve/手動の各モードについては、カスタマーマネージド KB の取得をお読みください。
RetrieveAndGenerate(引用付きで完全に合成された回答)は、カスタマーマネージド KB の方法です。マネージド KB では Retrieve/AgenticRetrieveStream を使用してください。特に RetrieveAndGenerate の動作が必要な場合は、サポートされていると思い込まず、ドキュメントで MKB のサポート状況を確認してください。
アクショングループを使ってエージェントを作成する
回答する前に、必ずエージェント作成手順をお読みください。手順を一つずつ実行してください。設定を変更した後は、必ず prepare-agent を実行してください。これは必須ですが、エージェントは一貫してこの手順を省略します。
ガードレールを適用する
回答する前に、必ずガードレールのリファレンスをお読みください。設定に進む前に、3 つの統合モードと選択ガイドを最初に提示し、ユーザーが適切なモードを選べるようにしてください。PII フィルターを使用する場合は、PII ログ記録に関するコンプライアンス上のギャップについて、必ず警告を提示してください。guardrailConfig のスニペットを示すだけでは不十分です。ユーザーが、自分のユースケースにどのモードが適しているかを理解できるようにしてください。
エージェントを AgentCore にデプロイする
オーケストレーションコードを書かずにマネージドエージェントループを利用したいユーザーには、Harness(設定ベース)を案内してください。Harness(モデル、ツール、スキル、メモリを設定として扱う bedrock-agentcore の設定ベースループ)は、新しい AgentCore ビルドで推奨される選択肢です。これは従来の Bedrock Agents(bedrock-agent のアクショングループサービス。詳しくはエージェント作成を参照)とは別のものです。ユーザーから Harness の作成、呼び出し、デプロイ、または利用開始の方法を尋ねられた場合は、回答する前に必ずHarness の手順をお読みください。また、デプロイワークフローに沿って、一つずつ手順を実行してください。記憶や外部ドキュメントをもとに要約してはならず、手順を省略してもいけません。作成から呼び出しまでを網羅する回答には、必ず次の内容を含めてください。(1)必須の入力を指定した create-harness、(2)ステータスが READY になるまでの get-harness のポーリング、(3)データプレーンでの runtimeSessionId(33 文字以上)と messages リストを使った呼び出し(--input-text は使用しない)、(4)ストリーミング応答イベントの読み取り、(5)最速の方法としての AgentCore CLI(agentcore create/deploy/invoke)。このリファレンスは、外部ドキュメントよりも優先されます。ホストする独自のエージェントコード/ループがある場合は、Runtime を案内してください(以下のプロトコル選択ガイダンスは Runtime に固有です)。
以下の表で AgentCore サービスを特定し、回答する前に必ず対応するリファレンスファイルをお読みください。リファレンスに手順がある場合は、一つずつ実行してください。要約せず、実行してください。
プロンプトキャッシングを設定またはデバッグする
回答する前に、必ずプロンプトキャッシングのリファレンスをお読みください。設定ワークフロー、TTL の設定、最小トークンしきい値、損益分岐分析、およびキャッシュヒットがゼロの場合のデバッグチェックリストについて説明しています。
制約事項:
- キャッシュが機能しない場合は、デバッグチェックリスト(モデルのサポート、トークンしきい値、コンテンツの同一性、TTL、キャッシュポイントの配置)に沿って、必ずユーザーを案内してください。
- キャッシング設定が機能することを確認する前に、モデルごとの最小トークンしきい値を必ず確認してください。
クォータの健全性を確認する
回答する前に、必ずクォータの健全性に関するリファレンスをお読みください。maxTokens の予約の仕組み、CloudWatch メトリクス、およびスロットリングの解決策を選ぶための判断表について説明しています。
制約事項:
maxTokensとクォータ予約の関係を必ず説明してください。aws service-quotasとaws cloudwatch get-metric-statisticsを使って、上限とピーク使用量を比較できるよう、必ずユーザーを案内してください。
Bedrock のコストを分析する
回答する前に、必ずコスト追跡リファレンスを読んでください。推論プロファイルのタグ付け、CUR 2.0 によるコスト配賦、AWS Budgets の設定について説明しています。
制約:
- Cost Explorer のクエリを生成する前に、ユーザーが必要とする期間、グループ化、コスト配賦方法を必ず確認してください
ナレッジベースをマネージド KB に移行する
ユーザーが既存のカスタマー管理ナレッジベース(タイプ VECTOR。「セルフマネージド」と呼ばれる場合もあります)、またはそれを定義する IaC をマネージド KB に移動、変換、もしくは移行したい場合、あるいはマネージド KB のほうが安価か、アプリケーションにどのような変更があるかを尋ねた場合は、回答する前に必ずKB からマネージドへの移行リファレンスを読んでください。ゲート付きのフェーズ(Identify、Discover、Plan、Implement、Handoff)、読み取り専用の Explore モード、ソース KB を変更せずに維持するためのルールについて説明しています。references/bedrock-kb-migration/ 以下の各フェーズのリファレンスには、設定ごとのマッピング、マネージド KB の API 形式、IaC スキーマ、コスト分析の手順、IAM ポリシーが記載されています。対応するゲートを通過する前に、移行先 KB を作成したり、スクリプトを実行したり、記憶を頼りにコストを見積もったりしないでください。
Claude の世代間で移行する
回答する前に、必ずモデル移行リファレンスを読んでください。Bedrock 上の Claude 4.5、4.6、4.7 間の互換性を破る変更として、プレフィルの削除、思考設定の違い、コンテキストウィンドウの差、キャッシュのしきい値の変更について説明しています。
トラブルシューティング
ユーザーから Bedrock のエラー、例外、または予期しない動作について報告があった場合は、回答する前に必ずこのセクションと「重大な警告」セクションを確認してください。Bedrock にはサービス固有の根本原因があります(例:maxTokens が未設定だとクォータの 43 倍が暗黙に予約されて ThrottlingException が発生する、API エンドポイントが誤っていると UnknownOperationException が発生する、prepare-agent がないと古い動作が続くなど)。一般的な AWS のトラブルシューティングのアドバイスでは、こうした原因を見落とします。
AccessDeniedException
考えられる原因は複数あります。(1)IAM ユーザー/ロールに bedrock:InvokeModel または bedrock:InvokeModelWithResponseStream の権限がない、(2)対象リージョンでモデルアクセスが有効になっていない、(3)サービスコントロールポリシー(SCP)がアクセスをブロックしている(制限されたリージョンへのクロスリージョン推論ルーティングでよく発生します)、(4)一時的な認証情報の有効期限が切れている、(5)IAM ロールの伝播に時間がかかっている――IAM ロールを作成してすぐに Bedrock API 呼び出しで使用した場合、IAM の変更は結果整合性で反映されるため、ロールがまだ伝播していない可能性があります(IAM の結果整合性を参照してください)。エラーメッセージで詳細を確認してください。通常、明示的な拒否、許可の欠落、モデルアクセスの問題のいずれであるかが示されます。詳しい解決手順については、InvokeModel API エラーの解決を参照してください。
不正な入力リクエスト
リクエスト本文が想定されるスキーマと一致していません。よくある原因は、InvokeModel でプロバイダー固有の本文形式が誤っている(例:Cohere モデルに Titan 形式を使用している)、JSON が不正である、パラメーター名がサポートされていない、入力制約を超えている、などです。通常、エラーメッセージに詳細が含まれています。「schema violations」がないか確認し、モデルの API ドキュメントに従ってリクエスト形式を修正してください。
ThrottlingException
maxTokens を明示的に設定してください。未設定の場合、デフォルトでモデルの最大値が使われ、必要以上のクォータが気付かないうちに確保されます。アダプティブリトライモードを使用してください。クロスリージョン推論プロファイル(例:us.、eu.、apac.、global. のプレフィックス。全一覧はサポート対象の推論プロファイルを参照)を使用すると、リージョン間でトラフィックを分散し、スループットを向上できます。制限を確認してください:aws service-quotas get-service-quota --service-code bedrock --quota-code <code>。必要に応じてクォータの引き上げを申請してください。詳細な監査については、クォータ健全性のリファレンスをお読みください。
プロンプトキャッシュが機能しない(cacheReadInputTokens がゼロ)
診断チェックリストについては、プロンプトキャッシュのリファレンスをお読みください。モデルのサポート、トークンのしきい値、コンテンツの同一性、TTL、キャッシュポイントの配置を確認してください。よくある原因は、キャッシュ対象コンテンツ内のタイムスタンプ、空白、JSON キーの並べ替えによるキャッシュの断片化です。
Claude 4.6 のプリフィルで 400 エラーが発生する
Claude 4.6 ではプリフィルが削除されており、ハード 400 エラーが発生します。Claude の世代間における破壊的変更の全一覧については、モデル移行のリファレンスをお読みください。
エラーのリトライ分類
| リトライする | リトライしない |
|---|---|
| ThrottlingException | ValidationException |
| ModelTimeoutException | AccessDeniedException |
| ServiceUnavailableException | ResourceNotFoundException |
| InternalServerException |
アダプティブリトライを使用してください:Config(retries={"max_attempts": 5, "mode": "adaptive"})。
UnknownOperationException
クライアントが間違っています(bedrock を使用していて、bedrock-runtime を使用していない)、または SDK が古すぎます。上記の API 一覧表を確認してください。
エージェントが古い動作を返す
設定を変更した後は必ず prepare-agent を実行してください。これは必須です。
KB が空の結果を返す
start-ingestion-job を実行し、完了するまで待ってください。取り込みの完了前にクエリを実行すると、空の結果が返されます。
KB の検索品質が低い
チャンク分割戦略を見直してください。テーブルを含むドキュメントには、高度な解析(FM ベース)を使用してください。メタデータフィルタリングを設定してください。
クロスリージョンモデルが見つからない
呼び出し元のリージョンでは、そのモデルを利用できない可能性があります。サポート対象の基盤モデルで利用可能か確認してください。スループット向上のためにクロスリージョン推論が必要な場合は、推論プロファイル ID を使用してください。地理的プロファイル(データが境界内に留まるもの。例:US、EU)またはグローバルプロファイル(任意の商用リージョン)から選択します。プロファイルのプレフィックスは、データレジデンシーに関する選択です。利用可能なプロファイルとソース/宛先リージョンの対応については、サポート対象の推論プロファイルを参照してください。
オンデマンドスループットがサポートされていない
エラー:"Invocation of model ID with on-demand throughput isn't supported. Retry your request with the ID or ARN of an inference profile that contains this model." 特定のモデルは、ベースモデル ID を使った直接のオンデマンド呼び出しをサポートしていません。代わりに推論プロファイル ID が必要です。修正方法:aws bedrock list-inference-profiles --region <region> を使ってモデルの推論プロファイル ID を見つけ、エージェントまたは呼び出しで推論プロファイル ID を使うように更新します。利用可能なプロファイルについては、サポート対象の推論プロファイルを参照してください。エージェントの呼び出し中に発生した場合は、エージェントの foundationModel を推論プロファイル ID に更新し、prepare-agent を再実行してください。
KB のストレージ設定が無効
OpenSearch のデータアクセスポリシーに Bedrock サービスロールが含まれていることを確認してください。ベクトルインデックスのフィールド名が KB 設定と一致していることを確認してください。
エージェントのアクショングループエラー
Lambda の権限(bedrock.amazonaws.com に対するリソースベースのポリシー)を確認してください。アクショングループ名に二重アンダースコア(__)を使用しないでください。名前のパターンは ([0-9a-zA-Z][_-]?){1,100} です。
マルチエージェントのスーパーバイザーループ
エージェントは、アクショングループではなく、組み込みのコラボレーション機能を使用します。スーパーバイザーの指示では、エージェント間の通信をアクショングループとして説明しないでください。
モデルへのアクセス時に発生する INVALID_PAYMENT_INSTRUMENT
これは Bedrock の問題ではなく、アカウントの請求に関する問題です。一時的にクレジットカードをデフォルトの支払い方法に設定するか、組織の管理アカウントに USD の支払いプロファイルを追加してください。
ナレッジベースの取り込み失敗
S3 のアクセス許可を確認してください。KB サービスロールには s3:GetObject と s3:ListBucket が必要です。サポートされていないファイル形式は、通知なしでスキップされます。サイズ制限を超えるファイルは、エラーなしでスキップされます。
SharePoint データソースの同期失敗
同期は完了するもののファイルの処理に失敗する場合、ほとんどは認証の問題です。推奨:Microsoft Entra ID 認証(OAuth2 クライアント認証情報)。 authType を OAUTH2_CLIENT_CREDENTIALS に設定し、Microsoft Entra ID にアプリを登録して、Microsoft Graph のアプリケーションのアクセス許可 Sites.Read.All に管理者の同意を付与し、アプリの clientId と clientSecret を AWS Secrets Manager に保存してください(シークレットはナレッジベースと同じリージョンにある必要があります)。tenantId はデータソースの設定フィールドとして指定してください。シークレットには含めません。SharePoint App-Only 認証は使用しないでください。 Azure ACS SharePoint App-Only 認証は、2026年4月2日に Microsoft によって廃止され、現在は機能しません。従来の OAuth 2.0 委任フロー(SharePoint の AllSites.Read。Amazon Bedrock によるクロールがブロックされないよう、サービスアカウントの Security Defaults と MFA を無効にする必要がある場合があります)はレガシー方式です。Entra ID のクライアント認証情報を優先してください。要件については、SharePoint コネクタのドキュメントを参照してください。
AgentCore サービス
AgentCore に関する質問に回答する前に、該当するサービスのリンク先のリファレンスファイルを必ず読んでください。リファレンスに記載された手順に沿って、順番に進めてください。
| サービス | 用途 | リファレンス |
|---|---|---|
| Harness | マネージドな設定ベースのエージェントループです。オーケストレーションコードは不要で、設定からエージェントを実行するまでの最短経路です | harness procedure |
| Gateway | API、Lambda 関数、既存の MCP サーバーをエージェント向けのツールとして公開します | gateway procedure |
| Runtime | エージェントとツールをデプロイしてスケーリングします(サーバーレス、任意のフレームワーク) | runtime procedure |
| Runtime Container | Runtime 向けの ARM64 コンテナをビルドします | container build procedure |
| Memory | 短期(複数ターン)および長期(セッション間)のエージェントメモリです。エージェント間でメモリを共有できます | memory & observability |
| Identity | 外部 IdP(Okta、Entra ID、Cognito)を使用したエージェント認証です。ユーザーに代わって操作できます | credentials & security |
| Policy | 自然言語または Cedar ルールでエージェントの境界を適用します。Gateway のツール呼び出しをインターセプトします | AgentCore Policy に関する AWS ドキュメントを参照してください |
| Payments | マイクロトランザクション(Coinbase CDP、Stripe Privy)を通じて、x402 で保護された API、MCP ツール、コンテンツへの支払いをエージェントに可能にします | payments procedure |
| Observability | エージェントの実行をトレース、デバッグ、監視します(OTEL、CloudWatch) | memory & observability |
| Registry | 組織全体でエージェント、MCP サーバー、ツール、スキルをカタログ化し、検出します | registry & evaluations |
| Evaluations | エージェントの品質を自動評価します(LLM-as-a-Judge) | registry & evaluations |
| Code Interpreter | エージェント向けの安全なサンドボックスでコードを実行します | AgentCore Code Interpreter に関する AWS ドキュメントを参照してください |
| Browser | ウェブ自動化(移動、フォーム入力、データ抽出) | AgentCore Browser に関する AWS ドキュメントを参照してください |
モデルの選択
このセクションでは Bedrock のモデルを扱います。SageMaker のモデル検索、モデルのカスタマイズ、または SageMaker エンドポイントについては、aws-ai-ml スキルを使用してください。ユーザーがサービス名を指定せずに AWS のモデルについて尋ねた場合は、SageMaker と Bedrock を比較するか、どちらのサービスを使うかを一度だけ確認してください。デフォルトでサービスを選択してはいけません。2 つのサービスでは、モデルカタログ、デプロイ方法、料金が異なるため、デフォルトで選択するとユーザーを誤ったワークフローに誘導する可能性があります。
ユーザーから使用するモデルについての質問、モデルの比較、または Bedrock の Claude/Llama/Nova/Titan について質問された場合は、回答する前に必ずモデル選択ガイドを読んでください。このリファレンスには、モデル ID、クロスリージョン要件、アクセスのプロビジョニング手順が記載されています。
簡易的なデフォルト(利用可能かどうかは aws bedrock list-foundation-models --region <region> で確認してください):
- 汎用:Claude Sonnet(品質とコストのバランスに優れています)
- 高速+低コスト:Claude Haiku または Nova Micro
- ナレッジベース用の埋め込み:Titan Embeddings V2
- オープンソース/ファインチューニング:Llama
- 画像生成:Titan Image Generator
モデル ID、リージョンごとの利用可能性、クロスリージョン推論プロファイル、サポートされる機能については、Amazon Bedrock でサポートされる基盤モデルを参照してください。クロスリージョン推論プロファイルを選択する際は、データレジデンシーへの影響を理解してください。地理的プロファイルではデータが境界内に保たれますが、グローバルプロファイルでは商用リージョンのいずれかにルーティングされます。また、実行時の利用可能性についても aws bedrock list-foundation-models --region <region> で確認してください。
モデル ID の形式(4 つのパターン)、アクセスのプロビジョニング、選択基準については、モデル選択ガイドを参照してください。