Credential should be scoped to a valid region

TL;DR — Signature Version 4 は各リクエストの認証情報スコープに リージョン を焼き込みます。このエラーは、そのスコープのリージョンが、実際にアクセスしたエンドポイントのリージョンと一致しないことを意味します。あるリージョン向けに署名し、別のリージョンにリクエストを送った(または無効なリージョンコードを使った)のです。クライアントの設定リージョンを、呼び出すエンドポイントに一致させてください。

意味

InvalidSignatureException: Credential should be scoped to a valid region, not 'us-west-1'.

すべての署名済み AWS リクエストは 認証情報スコープ を持ちます。それは YYYYMMDD/region/service/aws4_request という文字列で、署名はそれに対して計算されます(リージョンとサービスのコードは小文字である必要があります)。AWS はリクエストを受け取ったエンドポイントから期待される署名を再導出します。スコープに埋め込まれたリージョンがリクエストを処理するリージョンでない場合、検証はこのメッセージで失敗します。これは HTTP 400 でクライアント側の問題であり、リージョンが修正されるまで リトライ不可 です。

発生する理由

  • あるリージョン向けに署名し、別のリージョンに送った — SDK の設定 region が、別のリージョンを指すハードコードまたは上書きされた endpoint と異なる。
  • 一致するリージョンのないカスタムエンドポイントendpoint: https://dynamodb.eu-west-2.amazonaws.com を設定したが、クライアントのリージョンを eu-west-1 のままにした。
  • 無効または空のリージョン文字列 — タイプミスや未設定の環境変数が、AWS が有効と受け入れられないスコープを生む。
  • プロキシまたはゲートウェイ が、署名された対象とは別のリージョナルエンドポイントにリクエストを転送する。

修正方法

  1. クライアントのリージョンをエンドポイントに一致させます。 dynamodb.<region>.amazonaws.com を指す場合、クライアントの region を同じ <region> に設定します。
  2. リージョンだけを設定するのを優先し、SDK にエンドポイントを組み立てさせます。本当に必要な場合(例: DynamoDB Local)を除き、手動の endpoint 上書きを外します。
  3. リージョンコードが有効かus-east-1eu-west-2 など)、実際に設定されているかを検証します。AWS_REGION/AWS_DEFAULT_REGION と設定ファイルを確認します。
  4. 引き受けたロールやクロスリージョンのセットアップでは、リクエストが、他所から継承したデフォルトではなく、送信先として意図したリージョンで署名されていることを確認します。

DynamoDB Local では、エンドポイントを http://localhost:8000 に向け、クライアントに一貫した任意のリージョンを与えます。リージョンはクライアントが署名するものと一致しさえすればよいのです。

まず DynoTable で確認

DynoTable は、有効なプロファイルに保存されたリージョンで、すべてのリクエストに署名します。Settings → Profiles は、リージョンと(任意の)カスタムエンドポイントを 1 つのフォームに並べて表示します — 両方をまとめて変更し、そのうえで Test Connection を実行してください。endpointeu-west-2 を指しているのに regioneu-west-1 のまま、という SDK の典型的な失敗パターンがこれで消えます。

アプリケーションのコードを調べる前に、⌘P でどのプロファイル(つまりどの認証情報のスコープ)が有効かを確認しましょう。Local なら、同じプロファイルにエンドポイント http://localhost:8000 と、それに合ったリージョンを設定しておきます。プロファイルが接続できたら、クエリビルダーでそのスコープでも読み取りが成功することを確かめてください。

出典

関連するエラー

参考資料

最終検証日 2026-07-13、上記にリンクした公式 AWS ドキュメントに照らして確認しました。

Console なしで DynamoDB を扱う

DynamoDB では実行できない本物の SQL(JOINs、GROUP BY、集計)を実行する高速な DynamoDB デスクトップクライアント。ビジュアル編集と、あなた自身の Bedrock キーで動く AI エージェントを備えています。

30日間無料トライアル、クレジットカード不要 — その後は期限のない Free プラン。