bedrock claude使えない|原因6つと権限・リージョンの直し方

bedrock claude使えない|原因6つと権限・リージョンの直し方

Amazon BedrockでClaudeを選べない、呼び出すと403になる、昨日まで動いていた処理が急に失敗する——この症状は、サービス全体の障害よりもAWSアカウント側の利用条件やリージョン設定が原因で起きることが多いです。この記事では、画面・CLI・APIのどこで止まっているかを切り分け、モデルアクセス、IAM、認証情報、モデルIDを順に確認する方法を整理します。

結論

BedrockでClaudeが使えないときは、対象リージョンの対応状況、モデルアクセスと初回利用フォーム、IAM権限と認証情報、モデルIDの順に確認します。エラー文に合わせて一つずつ直せば、原因を特定してClaudeを再び使える状態に戻せるとわかります。

目次 (9)

Amazon BedrockでClaudeが使えない主な原因

「bedrock claude使えない」という症状でも、止まる場所によって確認する項目は異なります。代表的な原因は次の6つです。

  1. そのClaudeモデルが、選択中のAWSリージョンにない。
  2. Anthropicモデルの初回利用フォーム、契約、支払い設定が完了していない。
  3. IAMポリシー、SCP、Permission Boundary、VPCエンドポイントポリシーのどれかが呼び出しを拒否している。
  4. AWS_PROFILEや一時認証情報が別アカウントを指している、または期限切れになっている。
  5. 古いモデルID、リージョン接頭辞、推論プロファイル、APIの組み合わせが正しくない。
  6. リクエスト数やトークン数のクォータ超過、または一時的なAWS障害が発生している。

AWSのモデル可用性は、モデルごとに対応リージョン、エンドポイント、サポートされるAPIが異なります。「Claudeならどのリージョンでも、どの呼び出し方でも使える」と考えないことが最初のポイントです。まずは、画面に表示されないのか、表示されるが実行できないのか、アプリからだけ失敗するのかを分けます。

出典: https://docs.aws.amazon.com/bedrock/latest/userguide/models.html

まず障害か設定ミスかを切り分ける

いきなりモデルやIAMポリシーを変更すると、原因が見えにくくなります。次の順番で、同じAWSアカウントとリージョンを使って確認します。

  1. AWS Health Dashboardの公開状況を確認し、Bedrockや関連リージョンで障害が発生していないか見ます。
  2. AWSコンソール右上のリージョンを確認し、アプリやCLIのAWS_REGIONと一致させます。
  3. BedrockのChat/Text playgroundで、同じClaudeモデルを選んで短い入力を送ります。
  4. CLIを実行する環境でaws sts get-caller-identity --profile my-profileを実行し、アカウントIDとARNを確認します。
  5. コンソールでは動くのにアプリだけ失敗する場合は、アプリの認証情報、エンドポイント、モデルIDをコンソール側と比較します。

コンソールとCLIの結果が違う場合、別のIAMロールや別のAWSアカウントを使っている可能性が高いです。逆に、playgroundでも同じエラーが出るなら、アプリのコードよりもモデルアクセス、リージョン、IAMを優先して調べます。

出典: https://health.aws.amazon.com/health/status

モデルアクセスとリージョンを確認する

現在のAmazon Bedrockでは、商用リージョンの多くのモデルでアクセスが自動処理されます。ただし、Anthropicモデルの初回利用では利用目的フォームの提出が必要になる場合があり、AWS Marketplaceの権限や有効な支払い方法が不足しているとアクセスが拒否されます。過去の記事にある「Model access画面で全モデルを有効化する」という手順だけでは、現在の状態と合わないことがあるため注意してください。

  1. Bedrockコンソールで対象リージョンを開き、モデルカタログまたはモデル詳細画面からClaudeを選びます。
  2. 対象モデルの利用可能リージョン、エンドポイント、対応APIを確認します。東京リージョンで見えないモデルを、米国リージョンのモデルIDのまま呼び出してはいけません。
  3. 初回利用フォームが表示されたら、用途とWebサイトURLを入力して送信します。個人開発では、ポートフォリオや公開プロフィールを用途がわかるURLとして使える場合があります。
  4. AWS Marketplaceの契約、支払い方法、組織のSCPに問題がないか確認します。組織アカウントでは管理アカウント側の制限も確認が必要です。
  5. 初回のサブスクリプション処理中は、最大15分ほどAPIが不安定になったり、権限を直した後もしばらくAccessDeniedExceptionが返ったりすることがあります。時間を置いて同じ設定で再試行します。

リージョンを変えるだけで直る場合もありますが、データの保存場所や処理場所が変わる可能性があります。規制や社内ルールがある場合は、単に米国リージョンへ移すのではなく、対応する推論プロファイルとデータ境界を確認してください。

出典: https://docs.aws.amazon.com/bedrock/latest/userguide/model-access.html https://docs.aws.amazon.com/bedrock/latest/userguide/models-region-compatibility.html

IAM権限とAWS認証情報を見直す

Bedrockのコンソールを開ける権限と、Claudeを実行する権限は同じとは限りません。APIを呼び出すには、使う方法に応じてbedrock:InvokeModelbedrock:InvokeModelWithResponseStreambedrock:Conversebedrock:ConverseStreamなどが必要です。モデル一覧を調べるだけならbedrock:ListFoundationModels、推論プロファイルを調べるならbedrock:ListInferenceProfilesを使います。

  1. アプリと同じプロファイルでaws sts get-caller-identityを実行し、想定したアカウント・ロールか確認します。
  2. IAMポリシーに、利用するAPI操作とモデルまたは推論プロファイルを対象にしたAllowがあるか確認します。モデル一覧を取得できても、Invoke権限がなければ実行はできません。
  3. IAMのAllowだけで判断せず、OrganizationsのSCP、Permission Boundary、セッションポリシー、VPCエンドポイントポリシーに明示的なDenyがないか管理者に確認します。
  4. IAM Identity CenterやSTSの一時認証情報を使っている場合は、aws sso login --profile my-profileで再認証します。期限切れのキーを環境変数が優先していないかも確認します。
  5. 同じシェルからAWS CLIの確認とアプリの起動を行い、ターミナルごとに異なる環境変数を読んでいないか調べます。

動作確認のために一時的に広い権限を付ける場合も、検証が終わったら最小権限へ戻します。アクセスキーやシークレットキーをログ、スクリーンショット、問い合わせ本文に貼り付けてはいけません。

出典: https://docs.aws.amazon.com/bedrock/latest/userguide/security_iam_troubleshoot.html https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonbedrock.html

モデルID・推論プロファイル・APIを揃える

モデル名の表示名と、APIで指定するmodelIdは別物です。モデルが更新・廃止されたり、単一リージョン用のIDからクロスリージョン推論プロファイルへ変わったりすると、以前のサンプルコードがそのまま動かなくなります。us.global.の接頭辞は飾りではなく、リクエストのルーティング範囲を表します。

まず、現在のリージョンで利用できる値をCLIから確認します。

aws bedrock list-foundation-models --by-provider Anthropic --region ap-northeast-1
aws bedrock list-inference-profiles --region ap-northeast-1

出力されたモデルIDまたは推論プロファイルIDを、公式ドキュメントの対応表と照合してからmodelIdに設定します。推論プロファイルを使う場合は、呼び出し元リージョンと転送先リージョンの両方でIAMや組織ポリシーが許可されている必要があります。on-demand throughput isn't supportedのようなエラーが出る場合は、対象モデルが推論プロファイルを要求していないか確認してください。

Claude Codeで使えない場合の確認手順

Claude CodeをBedrock経由で起動しているのに使えない場合は、設定ファイルだけでなく、起動したプロセスの環境変数を確認します。

  1. macOSやLinuxではexport CLAUDE_CODE_USE_BEDROCK=1、PowerShellでは$env:CLAUDE_CODE_USE_BEDROCK="1"を設定します。
  2. AWS_REGIONに、実際にモデルを利用できるリージョンを指定します。Claude Codeでは、この値を明示しないとAWS設定ファイルのリージョンだけでは動かない場合があります。
  3. SSOを使う場合はAWS_PROFILEを指定し、そのプロファイルでaws sso loginを済ませます。
  4. 同じターミナルからClaude Codeを起動し、モデルIDを固定している場合は現在の推論プロファイルIDへ更新します。
  5. Bedrock利用時の認証はAWS側で行われるため、通常のAnthropicログインを繰り返すのではなく、AWS認証情報とBedrockの権限を確認します。

Claude Codeの公式ドキュメントでは、Bedrock接続にAWS_REGIONが必要で、Bedrockでは/login/logoutが無効になること、またClaude Codeが使うAPIに制約があることが説明されています。Claude Code以外のSDKでは、対象モデルがInvokeModelConverseのどちらに対応するかを公式のモデル詳細で確認してください。

出典: https://code.claude.com/docs/ja/amazon-bedrock https://docs.aws.amazon.com/bedrock/latest/userguide/inference-profiles-use.html

エラー文から原因を絞る

エラーを見たら、モデルを次々に変更する前に、コード・リージョン・モデルID・リクエストIDを記録します。代表的な読み方は次のとおりです。

エラー よくある原因 先に確認すること
AccessDeniedException(403) IAMのDeny、モデルアクセス、Marketplace条件 IAM、SCP、初回利用フォーム、支払い設定
FTUFormNotFilled Anthropicの初回利用フォーム未提出 Bedrockコンソールで利用目的を送信
ResourceNotFoundException モデルIDまたはリージョンが不正、モデル廃止 現在のモデル一覧と対応リージョン
ValidationException / ValidationError リクエスト形式、API、推論プロファイルの不一致 対応API、modelId、リクエスト本文
InvalidClientTokenId 認証情報の誤り・期限切れ aws sts get-caller-identity、SSO再認証
ThrottlingException リクエスト数・トークン数のクォータ超過 待機、再試行間隔、Service Quotas
ServiceUnavailable 一時障害、過負荷、接続経路の問題 AWS Health、再試行、VPC経路
  1. エラー全文から例外名だけでなく、リージョン、モデルID、RequestIdを控えます。
  2. 同じ認証情報でモデル一覧と推論プロファイル一覧を取得し、指定値が現行の一覧にあるか確認します。
  3. playgroundで同じモデルを実行し、アプリ固有の問題かBedrock側の問題かを分けます。
  4. 権限やフォームを直した後は、短時間に連打せず、反映時間を置いて再実行します。

AWS公式のエラー一覧には、AccessDeniedException、初回フォーム未完了、契約処理中、スロットリング、サービス停止などの原因と対処が整理されています。エラー名をそのまま検索するより、リージョンとモデルIDを添えて確認すると、古い記事の手順を踏まずに済みます。

出典: https://docs.aws.amazon.com/bedrock/latest/userguide/troubleshooting-api-error-codes.html

直らないときの最短ルート

ここまで確認しても使えない場合は、問題を「誰が」「どのリージョンで」「どのモデルを」「どのAPIで」呼んだかに絞って管理者やAWSサポートへ渡します。

  1. 発生時刻、AWSリージョン、モデルID、API名、エラー名、RequestIdを記録します。
  2. aws sts get-caller-identityの結果からアカウントIDとロール名を確認します。アクセスキー本体やプロンプト本文は共有しません。
  3. 組織利用なら、SCP、請求・Marketplace契約、モデル利用ポリシーを管理者に確認します。
  4. AWSの公式エラー説明で解決しない場合は、記録した非機密情報を添えてAWSサポートへ相談します。

特に、別リージョンへ移す、別モデルへ変える、IAMを全許可にするという対処を先に行うと、再発条件が隠れます。まず同じ設定で再現性を確認し、原因が判明してから最小限の変更に留めることが安全です。

まとめ

BedrockでClaudeが使えないときは、サービス停止と決めつけず、対象リージョンのモデル対応、モデルアクセスと初回フォーム、IAM・認証情報、モデルID・推論プロファイル、APIの対応関係を順に確認します。AccessDeniedExceptionなら権限と利用条件、ResourceNotFoundExceptionならIDとリージョン、ThrottlingExceptionならクォータを調べるのが近道です。公式の現行モデル一覧を基準に設定を更新すれば、古いサンプルに引きずられず復旧できます。

参考になったら ♡
Clauder Navi 編集部
@clauder_navi

Anthropic の Claude / Claude Code を中心に、日本のエンジニア向けに最新動向と実務 を毎日発信。運営方針 は メディアについて をご覧ください。